diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 2e8f47f..e0a8029 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -16,7 +16,7 @@ if (keystorePropertiesFile.exists()) { android { namespace = "com.meshcore.meshcore_open" compileSdk = flutter.compileSdkVersion - ndkVersion = "29.0.14206865" + ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_17 @@ -84,5 +84,4 @@ flutter { dependencies { coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4") - implementation("com.github.mik3y:usb-serial-for-android:3.9.0") } diff --git a/android/app/src/main/kotlin/com/meshcore/meshcore_open/MainActivity.kt b/android/app/src/main/kotlin/com/meshcore/meshcore_open/MainActivity.kt index e0e0723..9022c8b 100644 --- a/android/app/src/main/kotlin/com/meshcore/meshcore_open/MainActivity.kt +++ b/android/app/src/main/kotlin/com/meshcore/meshcore_open/MainActivity.kt @@ -1,408 +1,18 @@ package com.meshcore.meshcore_open -import android.app.PendingIntent -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.content.IntentFilter -import android.hardware.usb.UsbDevice -import android.hardware.usb.UsbDeviceConnection -import android.hardware.usb.UsbManager -import android.os.Build -import android.os.Handler -import android.os.Looper -import com.hoho.android.usbserial.driver.UsbSerialDriver -import com.hoho.android.usbserial.driver.UsbSerialPort -import com.hoho.android.usbserial.driver.UsbSerialProber -import com.hoho.android.usbserial.util.SerialInputOutputManager import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine -import io.flutter.plugin.common.EventChannel -import io.flutter.plugin.common.MethodCall -import io.flutter.plugin.common.MethodChannel -import java.util.Locale -import java.util.concurrent.ExecutorService -import java.util.concurrent.Executors class MainActivity : FlutterActivity() { - private val usbMethodChannelName = "meshcore_open/android_usb_serial" - private val usbEventChannelName = "meshcore_open/android_usb_serial_events" - private val usbPermissionAction = "com.meshcore.meshcore_open.USB_PERMISSION" - - private lateinit var usbManager: UsbManager - private val mainHandler = Handler(Looper.getMainLooper()) - private val usbIoExecutor: ExecutorService = Executors.newSingleThreadExecutor() - - private var eventSink: EventChannel.EventSink? = null - private var usbConnection: UsbDeviceConnection? = null - private var usbPort: UsbSerialPort? = null - private var ioManager: SerialInputOutputManager? = null - private var connectedDeviceName: String? = null - - private var pendingConnectResult: MethodChannel.Result? = null - private var pendingConnectPortName: String? = null - private var pendingConnectBaudRate: Int = 115200 - - private val permissionReceiver = - object : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - when (intent?.action) { - UsbManager.ACTION_USB_DEVICE_DETACHED -> { - handleUsbDetached(intent) - return - } - usbPermissionAction -> { - } - else -> { - return - } - } - - if (intent.action != usbPermissionAction) { - return - } - - val result = pendingConnectResult - val portName = pendingConnectPortName - pendingConnectResult = null - pendingConnectPortName = null - - if (result == null || portName == null) { - return - } - - val granted = - intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false) - if (!granted) { - result.error("usb_permission_denied", "USB permission denied", null) - return - } - - val device = findUsbDevice(portName) - if (device == null) { - result.error( - "usb_device_missing", - "USB device no longer available for $portName", - null, - ) - return - } - - openUsbDevice(device, pendingConnectBaudRate, result) - } - } + private val usbFunctions by lazy { MeshcoreUsbFunctions(this) } override fun configureFlutterEngine(flutterEngine: FlutterEngine) { super.configureFlutterEngine(flutterEngine) - - usbManager = getSystemService(Context.USB_SERVICE) as UsbManager - registerUsbPermissionReceiver() - - MethodChannel(flutterEngine.dartExecutor.binaryMessenger, usbMethodChannelName) - .setMethodCallHandler { call, result -> - when (call.method) { - "listPorts" -> result.success(listUsbPorts()) - "connect" -> handleUsbConnect(call, result) - "write" -> handleUsbWrite(call, result) - "disconnect" -> { - scheduleCloseUsbConnection { - result.success(null) - } - } - else -> result.notImplemented() - } - } - - EventChannel(flutterEngine.dartExecutor.binaryMessenger, usbEventChannelName) - .setStreamHandler( - object : EventChannel.StreamHandler { - override fun onListen(arguments: Any?, events: EventChannel.EventSink) { - eventSink = events - } - - override fun onCancel(arguments: Any?) { - eventSink = null - } - }, - ) + usbFunctions.configureFlutterEngine(flutterEngine) } override fun onDestroy() { - closeUsbConnection() - usbIoExecutor.shutdownNow() - try { - unregisterReceiver(permissionReceiver) - } catch (_: IllegalArgumentException) { - } + usbFunctions.dispose() super.onDestroy() } - - private fun registerUsbPermissionReceiver() { - val filter = - IntentFilter().apply { - addAction(usbPermissionAction) - addAction(UsbManager.ACTION_USB_DEVICE_DETACHED) - } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - registerReceiver(permissionReceiver, filter, Context.RECEIVER_NOT_EXPORTED) - } else { - @Suppress("DEPRECATION") - registerReceiver(permissionReceiver, filter) - } - } - - private fun listUsbPorts(): List { - val drivers = UsbSerialProber.getDefaultProber().findAllDrivers(usbManager) - return drivers.map { driver -> - val device = driver.device - val productName = device.productName ?: "USB Serial Device" - val vendorProduct = - String.format( - Locale.US, - "VID:%04X PID:%04X", - device.vendorId, - device.productId, - ) - "${device.deviceName} - $productName - $vendorProduct" - } - } - - private fun handleUsbConnect(call: MethodCall, result: MethodChannel.Result) { - val portName = call.argument("portName") - val baudRate = call.argument("baudRate") ?: 115200 - if (portName.isNullOrBlank()) { - result.error("usb_invalid_port", "Port name is required", null) - return - } - - val device = findUsbDevice(portName) - if (device == null) { - result.error("usb_device_missing", "USB device not found for $portName", null) - return - } - - if (usbManager.hasPermission(device)) { - openUsbDevice(device, baudRate, result) - return - } - - if (pendingConnectResult != null) { - result.error("usb_busy", "Another USB permission request is already pending", null) - return - } - - pendingConnectResult = result - pendingConnectPortName = portName - pendingConnectBaudRate = baudRate - - val permissionIntent = PendingIntent.getBroadcast( - this, - 0, - Intent(usbPermissionAction).setPackage(packageName), - pendingIntentFlags(), - ) - usbManager.requestPermission(device, permissionIntent) - } - - private fun handleUsbWrite(call: MethodCall, result: MethodChannel.Result) { - val data = call.argument("data") - val port = usbPort - if (data == null) { - result.error("usb_invalid_data", "Data is required", null) - return - } - if (port == null) { - result.error("usb_not_connected", "USB serial port is not connected", null) - return - } - - usbIoExecutor.execute { - try { - port.write(data, 1000) - mainHandler.post { - result.success(null) - } - } catch (error: Exception) { - mainHandler.post { - result.error("usb_write_failed", error.message, null) - } - } - } - } - - private fun findUsbDevice(portName: String): UsbDevice? { - return usbManager.deviceList.values.firstOrNull { it.deviceName == portName } - } - - private fun openUsbDevice( - device: UsbDevice, - baudRate: Int, - result: MethodChannel.Result, - ) { - usbIoExecutor.execute { - try { - closeUsbConnection() - - val driver = UsbSerialProber.getDefaultProber().probeDevice(device) - if (driver == null) { - mainHandler.post { - result.error( - "usb_driver_missing", - "No USB serial driver for ${device.deviceName}", - null, - ) - } - return@execute - } - - val connection = usbManager.openDevice(device) - if (connection == null) { - mainHandler.post { - result.error( - "usb_open_failed", - "UsbManager could not open ${device.deviceName}", - null, - ) - } - return@execute - } - - val port = firstPort(driver) - if (port == null) { - connection.close() - mainHandler.post { - result.error( - "usb_port_missing", - "No USB serial port exposed by ${device.deviceName}", - null, - ) - } - return@execute - } - - port.open(connection) - port.setParameters( - baudRate, - 8, - UsbSerialPort.STOPBITS_1, - UsbSerialPort.PARITY_NONE, - ) - port.rts = false - port.dtr = true - - usbConnection = connection - usbPort = port - connectedDeviceName = device.deviceName - - ioManager = - SerialInputOutputManager( - port, - object : SerialInputOutputManager.Listener { - override fun onNewData(data: ByteArray) { - mainHandler.post { - eventSink?.success(data) - } - } - - override fun onRunError(e: Exception) { - mainHandler.post { - eventSink?.error( - "usb_io_error", - e.message ?: "USB serial I/O error", - null, - ) - } - scheduleCloseUsbConnection() - } - }, - ).also { manager -> - manager.start() - } - - mainHandler.post { - result.success(null) - } - } catch (error: Exception) { - closeUsbConnection() - mainHandler.post { - result.error("usb_connect_failed", error.message, null) - } - } - } - } - - private fun firstPort(driver: UsbSerialDriver): UsbSerialPort? { - return driver.ports.firstOrNull() - } - - private fun scheduleCloseUsbConnection(onComplete: (() -> Unit)? = null) { - usbIoExecutor.execute { - closeUsbConnection() - if (onComplete != null) { - mainHandler.post(onComplete) - } - } - } - - @Synchronized - private fun closeUsbConnection() { - try { - ioManager?.stop() - } catch (_: Exception) { - } - ioManager = null - - try { - usbPort?.close() - } catch (_: Exception) { - } - usbPort = null - - try { - usbConnection?.close() - } catch (_: Exception) { - } - usbConnection = null - connectedDeviceName = null - } - - private fun handleUsbDetached(intent: Intent) { - val detachedDevice = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - intent.getParcelableExtra(UsbManager.EXTRA_DEVICE, UsbDevice::class.java) - } else { - @Suppress("DEPRECATION") - intent.getParcelableExtra(UsbManager.EXTRA_DEVICE) - } - - val detachedName = detachedDevice?.deviceName ?: return - - if (pendingConnectPortName == detachedName) { - pendingConnectResult?.error( - "usb_device_detached", - "USB device was removed before the connection completed", - null, - ) - pendingConnectResult = null - pendingConnectPortName = null - } - - if (connectedDeviceName == detachedName) { - scheduleCloseUsbConnection { - eventSink?.error( - "usb_device_detached", - "USB device was disconnected", - null, - ) - } - } - } - - private fun pendingIntentFlags(): Int { - var flags = PendingIntent.FLAG_UPDATE_CURRENT - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - flags = flags or PendingIntent.FLAG_MUTABLE - } - return flags - } } diff --git a/android/app/src/main/kotlin/com/meshcore/meshcore_open/MeshcoreUsbFunctions.kt b/android/app/src/main/kotlin/com/meshcore/meshcore_open/MeshcoreUsbFunctions.kt new file mode 100644 index 0000000..d6c09b7 --- /dev/null +++ b/android/app/src/main/kotlin/com/meshcore/meshcore_open/MeshcoreUsbFunctions.kt @@ -0,0 +1,574 @@ +package com.meshcore.meshcore_open + +import android.app.PendingIntent +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.hardware.usb.UsbConstants +import android.hardware.usb.UsbDevice +import android.hardware.usb.UsbDeviceConnection +import android.hardware.usb.UsbEndpoint +import android.hardware.usb.UsbInterface +import android.hardware.usb.UsbManager +import android.os.Build +import android.os.Handler +import android.os.Looper +import io.flutter.embedding.android.FlutterActivity +import io.flutter.embedding.engine.FlutterEngine +import io.flutter.plugin.common.EventChannel +import io.flutter.plugin.common.MethodCall +import io.flutter.plugin.common.MethodChannel +import java.util.Locale +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors + +class MeshcoreUsbFunctions( + private val activity: FlutterActivity, +) { + private companion object { + const val usbRecipientInterface = 0x01 + } + + private val usbMethodChannelName = "meshcore_open/android_usb_serial" + private val usbEventChannelName = "meshcore_open/android_usb_serial_events" + private val usbPermissionAction = "com.meshcore.meshcore_open.USB_PERMISSION" + + private val usbManager by lazy { + activity.getSystemService(Context.USB_SERVICE) as UsbManager + } + private val mainHandler = Handler(Looper.getMainLooper()) + private val usbIoExecutor: ExecutorService = Executors.newSingleThreadExecutor() + + private var eventSink: EventChannel.EventSink? = null + private var usbConnection: UsbDeviceConnection? = null + private var usbInEndpoint: UsbEndpoint? = null + private var usbOutEndpoint: UsbEndpoint? = null + private var controlInterface: UsbInterface? = null + private var dataInterface: UsbInterface? = null + private var readThread: Thread? = null + @Volatile private var isReading = false + private var connectedDeviceName: String? = null + + private var pendingConnectResult: MethodChannel.Result? = null + private var pendingConnectPortName: String? = null + private var pendingConnectBaudRate: Int = 115200 + + private data class PortConfig( + val controlInterface: UsbInterface?, + val dataInterface: UsbInterface, + val inEndpoint: UsbEndpoint, + val outEndpoint: UsbEndpoint, + ) + + private val permissionReceiver = + object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + when (intent?.action) { + UsbManager.ACTION_USB_DEVICE_DETACHED -> { + handleUsbDetached(intent) + return + } + usbPermissionAction -> Unit + else -> return + } + + val result = pendingConnectResult + val portName = pendingConnectPortName + pendingConnectResult = null + pendingConnectPortName = null + + if (result == null || portName == null) { + return + } + + val granted = + intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false) + if (!granted) { + result.error("usb_permission_denied", "USB permission denied", null) + return + } + + val device = findUsbDevice(portName) + if (device == null) { + result.error( + "usb_device_missing", + "USB device no longer available for $portName", + null, + ) + return + } + + openUsbDevice(device, pendingConnectBaudRate, result) + } + } + + fun configureFlutterEngine(flutterEngine: FlutterEngine) { + registerUsbPermissionReceiver() + + MethodChannel(flutterEngine.dartExecutor.binaryMessenger, usbMethodChannelName) + .setMethodCallHandler { call, result -> + when (call.method) { + "listPorts" -> result.success(listUsbPorts()) + "connect" -> handleUsbConnect(call, result) + "write" -> handleUsbWrite(call, result) + "disconnect" -> { + scheduleCloseUsbConnection { + result.success(null) + } + } + else -> result.notImplemented() + } + } + + EventChannel(flutterEngine.dartExecutor.binaryMessenger, usbEventChannelName) + .setStreamHandler( + object : EventChannel.StreamHandler { + override fun onListen(arguments: Any?, events: EventChannel.EventSink) { + eventSink = events + } + + override fun onCancel(arguments: Any?) { + eventSink = null + } + }, + ) + } + + fun dispose() { + closeUsbConnection() + usbIoExecutor.shutdownNow() + try { + activity.unregisterReceiver(permissionReceiver) + } catch (_: IllegalArgumentException) { + } + } + + private fun registerUsbPermissionReceiver() { + val filter = + IntentFilter().apply { + addAction(usbPermissionAction) + addAction(UsbManager.ACTION_USB_DEVICE_DETACHED) + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + activity.registerReceiver(permissionReceiver, filter, Context.RECEIVER_NOT_EXPORTED) + } else { + @Suppress("DEPRECATION") + activity.registerReceiver(permissionReceiver, filter) + } + } + + private fun listUsbPorts(): List { + return usbManager.deviceList.values.map { device -> + val productName = device.productName ?: "USB Serial Device" + val vendorProduct = + String.format( + Locale.US, + "VID:%04X PID:%04X", + device.vendorId, + device.productId, + ) + "${device.deviceName} - $productName - $vendorProduct" + } + } + + private fun handleUsbConnect(call: MethodCall, result: MethodChannel.Result) { + val portName = call.argument("portName") + val baudRate = call.argument("baudRate") ?: 115200 + if (portName.isNullOrBlank()) { + result.error("usb_invalid_port", "Port name is required", null) + return + } + + val device = findUsbDevice(portName) + if (device == null) { + result.error("usb_device_missing", "USB device not found for $portName", null) + return + } + + if (usbManager.hasPermission(device)) { + openUsbDevice(device, baudRate, result) + return + } + + if (pendingConnectResult != null) { + result.error("usb_busy", "Another USB permission request is already pending", null) + return + } + + pendingConnectResult = result + pendingConnectPortName = portName + pendingConnectBaudRate = baudRate + + val permissionIntent = PendingIntent.getBroadcast( + activity, + 0, + Intent(usbPermissionAction).setPackage(activity.packageName), + pendingIntentFlags(), + ) + usbManager.requestPermission(device, permissionIntent) + } + + private fun handleUsbWrite(call: MethodCall, result: MethodChannel.Result) { + val data = call.argument("data") + val connection = usbConnection + val endpoint = usbOutEndpoint + if (data == null) { + result.error("usb_invalid_data", "Data is required", null) + return + } + if (connection == null || endpoint == null) { + result.error("usb_not_connected", "USB serial port is not connected", null) + return + } + + usbIoExecutor.execute { + try { + writeToDevice(data) + mainHandler.post { result.success(null) } + } catch (error: Exception) { + mainHandler.post { + result.error("usb_write_failed", error.message, null) + } + } + } + } + + private fun findUsbDevice(portName: String): UsbDevice? { + return usbManager.deviceList.values.firstOrNull { it.deviceName == portName } + } + + private fun openUsbDevice( + device: UsbDevice, + baudRate: Int, + result: MethodChannel.Result, + ) { + usbIoExecutor.execute { + try { + closeUsbConnection() + + val config = resolvePortConfig(device) + if (config == null) { + mainHandler.post { + result.error( + "usb_driver_missing", + "No compatible USB serial interface for ${device.deviceName}", + null, + ) + } + return@execute + } + + val connection = usbManager.openDevice(device) + if (connection == null) { + mainHandler.post { + result.error( + "usb_open_failed", + "UsbManager could not open ${device.deviceName}", + null, + ) + } + return@execute + } + + if (!connection.claimInterface(config.dataInterface, true)) { + connection.close() + mainHandler.post { + result.error( + "usb_open_failed", + "Could not claim USB data interface for ${device.deviceName}", + null, + ) + } + return@execute + } + + if (config.controlInterface != null && + config.controlInterface.id != config.dataInterface.id && + !connection.claimInterface(config.controlInterface, true) + ) { + connection.releaseInterface(config.dataInterface) + connection.close() + mainHandler.post { + result.error( + "usb_open_failed", + "Could not claim USB control interface for ${device.deviceName}", + null, + ) + } + return@execute + } + + configureDevice(connection, config, baudRate) + + usbConnection = connection + usbInEndpoint = config.inEndpoint + usbOutEndpoint = config.outEndpoint + controlInterface = config.controlInterface + dataInterface = config.dataInterface + connectedDeviceName = device.deviceName + startReadLoop() + + mainHandler.post { + result.success(null) + } + } catch (error: Exception) { + closeUsbConnection() + mainHandler.post { + result.error("usb_connect_failed", error.message, null) + } + } + } + } + + private fun resolvePortConfig(device: UsbDevice): PortConfig? { + var preferredDataInterface: UsbInterface? = null + var preferredInEndpoint: UsbEndpoint? = null + var preferredOutEndpoint: UsbEndpoint? = null + var fallbackDataInterface: UsbInterface? = null + var fallbackInEndpoint: UsbEndpoint? = null + var fallbackOutEndpoint: UsbEndpoint? = null + var preferredControlInterface: UsbInterface? = null + + for (interfaceIndex in 0 until device.interfaceCount) { + val usbInterface = device.getInterface(interfaceIndex) + var inEndpoint: UsbEndpoint? = null + var outEndpoint: UsbEndpoint? = null + + for (endpointIndex in 0 until usbInterface.endpointCount) { + val endpoint = usbInterface.getEndpoint(endpointIndex) + if (endpoint.type != UsbConstants.USB_ENDPOINT_XFER_BULK) { + continue + } + when (endpoint.direction) { + UsbConstants.USB_DIR_IN -> if (inEndpoint == null) inEndpoint = endpoint + UsbConstants.USB_DIR_OUT -> if (outEndpoint == null) outEndpoint = endpoint + } + } + + val hasDataPair = inEndpoint != null && outEndpoint != null + when { + usbInterface.interfaceClass == UsbConstants.USB_CLASS_COMM && + preferredControlInterface == null -> { + preferredControlInterface = usbInterface + } + hasDataPair && + usbInterface.interfaceClass == UsbConstants.USB_CLASS_CDC_DATA -> { + preferredDataInterface = usbInterface + preferredInEndpoint = inEndpoint + preferredOutEndpoint = outEndpoint + } + hasDataPair && fallbackDataInterface == null -> { + fallbackDataInterface = usbInterface + fallbackInEndpoint = inEndpoint + fallbackOutEndpoint = outEndpoint + } + } + } + + val dataInterface = preferredDataInterface ?: fallbackDataInterface ?: return null + val inEndpoint = preferredInEndpoint ?: fallbackInEndpoint ?: return null + val outEndpoint = preferredOutEndpoint ?: fallbackOutEndpoint ?: return null + return PortConfig(preferredControlInterface, dataInterface, inEndpoint, outEndpoint) + } + + private fun configureDevice( + connection: UsbDeviceConnection, + config: PortConfig, + baudRate: Int, + ) { + val control = config.controlInterface ?: return + val lineCoding = + byteArrayOf( + (baudRate and 0xFF).toByte(), + ((baudRate shr 8) and 0xFF).toByte(), + ((baudRate shr 16) and 0xFF).toByte(), + ((baudRate shr 24) and 0xFF).toByte(), + 0, // stop bits: 1 + 0, // parity: none + 8, // data bits + ) + + val lineCodingResult = + connection.controlTransfer( + UsbConstants.USB_DIR_OUT or + UsbConstants.USB_TYPE_CLASS or + usbRecipientInterface, + 0x20, + 0, + control.id, + lineCoding, + lineCoding.size, + 1000, + ) + if (lineCodingResult < 0) { + throw IllegalStateException("Failed to configure USB line coding") + } + + val controlLineResult = + connection.controlTransfer( + UsbConstants.USB_DIR_OUT or + UsbConstants.USB_TYPE_CLASS or + usbRecipientInterface, + 0x22, + 0x0001, // DTR on, RTS off + control.id, + null, + 0, + 1000, + ) + if (controlLineResult < 0) { + throw IllegalStateException("Failed to configure USB control line state") + } + } + + private fun startReadLoop() { + val connection = usbConnection ?: return + val endpoint = usbInEndpoint ?: return + + isReading = true + readThread = + Thread({ + val packetSize = endpoint.maxPacketSize.coerceAtLeast(64) + val buffer = ByteArray(packetSize * 4) + try { + while (isReading) { + val bytesRead = connection.bulkTransfer(endpoint, buffer, buffer.size, 250) + if (!isReading) { + break + } + if (bytesRead <= 0) { + continue + } + val packet = buffer.copyOf(bytesRead) + mainHandler.post { + eventSink?.success(packet) + } + } + } catch (error: Exception) { + if (isReading) { + mainHandler.post { + eventSink?.error( + "usb_io_error", + error.message ?: "USB serial I/O error", + null, + ) + } + scheduleCloseUsbConnection() + } + } + }, "MeshCoreUsbRead").also { thread -> + thread.isDaemon = true + thread.start() + } + } + + private fun writeToDevice(data: ByteArray) { + val connection = usbConnection ?: throw IllegalStateException("USB connection missing") + val endpoint = usbOutEndpoint ?: throw IllegalStateException("USB output endpoint missing") + var offset = 0 + val maxPacketSize = endpoint.maxPacketSize.coerceAtLeast(64) + while (offset < data.size) { + val chunkSize = minOf(maxPacketSize, data.size - offset) + val chunk = data.copyOfRange(offset, offset + chunkSize) + val bytesWritten = connection.bulkTransfer(endpoint, chunk, chunkSize, 1000) + if (bytesWritten != chunkSize) { + throw IllegalStateException("Short USB write: wrote $bytesWritten of $chunkSize bytes") + } + offset += chunkSize + } + } + + private fun scheduleCloseUsbConnection(onComplete: (() -> Unit)? = null) { + usbIoExecutor.execute { + closeUsbConnection() + if (onComplete != null) { + mainHandler.post(onComplete) + } + } + } + + @Synchronized + private fun closeUsbConnection() { + isReading = false + readThread?.interrupt() + if (readThread != null && readThread !== Thread.currentThread()) { + try { + readThread?.join(300) + } catch (_: InterruptedException) { + Thread.currentThread().interrupt() + } + } + readThread = null + + val connection = usbConnection + val claimedControl = controlInterface + val claimedData = dataInterface + + usbInEndpoint = null + usbOutEndpoint = null + controlInterface = null + dataInterface = null + usbConnection = null + + if (connection != null) { + if (claimedControl != null) { + try { + connection.releaseInterface(claimedControl) + } catch (_: Exception) { + } + } + if (claimedData != null && claimedData.id != claimedControl?.id) { + try { + connection.releaseInterface(claimedData) + } catch (_: Exception) { + } + } + try { + connection.close() + } catch (_: Exception) { + } + } + connectedDeviceName = null + } + + private fun handleUsbDetached(intent: Intent) { + val detachedDevice = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getParcelableExtra(UsbManager.EXTRA_DEVICE, UsbDevice::class.java) + } else { + @Suppress("DEPRECATION") + intent.getParcelableExtra(UsbManager.EXTRA_DEVICE) + } + + val detachedName = detachedDevice?.deviceName ?: return + + if (pendingConnectPortName == detachedName) { + pendingConnectResult?.error( + "usb_device_detached", + "USB device was removed before the connection completed", + null, + ) + pendingConnectResult = null + pendingConnectPortName = null + } + + if (connectedDeviceName == detachedName) { + scheduleCloseUsbConnection { + eventSink?.error( + "usb_device_detached", + "USB device was disconnected", + null, + ) + } + } + } + + private fun pendingIntentFlags(): Int { + var flags = PendingIntent.FLAG_UPDATE_CURRENT + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + flags = flags or PendingIntent.FLAG_MUTABLE + } + return flags + } +} diff --git a/android/build.gradle.kts b/android/build.gradle.kts index eeea458..dbee657 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -2,7 +2,6 @@ allprojects { repositories { google() mavenCentral() - maven(url = "https://jitpack.io") } } diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index ecedb4e..2bdc033 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -166,6 +166,9 @@ class MeshCoreConnector extends ChangeNotifier { bool _hasReceivedDeviceInfo = false; bool _pendingInitialChannelSync = false; bool _pendingInitialContactsSync = false; + bool _bleInitialSyncStarted = false; + bool _pendingDeferredChannelSyncAfterContacts = false; + bool _webInitialHandshakeRequestSent = false; bool _preserveContactsOnRefresh = false; static const int _defaultMaxContacts = 32; static const int _defaultMaxChannels = 8; @@ -364,6 +367,8 @@ class MeshCoreConnector extends ChangeNotifier { } } + // Re-sort after merging persisted and in-memory messages so the + // conversation window remains stable after optimistic inserts. mergedMessages.sort((a, b) => a.timestamp.compareTo(b.timestamp)); final windowedMergedMessages = mergedMessages.length > _messageWindowSize ? mergedMessages.sublist(mergedMessages.length - _messageWindowSize) @@ -820,6 +825,76 @@ class MeshCoreConnector extends ChangeNotifier { _usbSerialService.setRequestPortLabel(label); } + Future connectUsb({ + required String portName, + int baudRate = 115200, + }) async { + if (_state == MeshCoreConnectionState.connecting || + _state == MeshCoreConnectionState.connected) { + return; + } + + _activeTransport = MeshCoreTransportType.bluetooth; + _activeUsbPortKey = null; + _activeUsbPortLabel = null; + + await stopScan(); + _cancelReconnectTimer(); + _manualDisconnect = false; + _resetConnectionHandshakeState(); + _activeTransport = MeshCoreTransportType.usb; + _activeUsbPortKey = portName; + _activeUsbPortLabel = portName; + _setState(MeshCoreConnectionState.connecting); + + try { + await _usbFrameSubscription?.cancel(); + _usbFrameSubscription = null; + await _usbSerialService.connect(portName: portName, baudRate: baudRate); + _activeUsbPortKey = _usbSerialService.activePortKey ?? _activeUsbPortKey; + _activeUsbPortLabel = + _usbSerialService.activePortDisplayLabel ?? _activeUsbPortLabel; + notifyListeners(); + if (PlatformInfo.isWeb) { + await stopScan(); + } + await Future.delayed(const Duration(milliseconds: 200)); + _usbFrameSubscription = _usbSerialService.frameStream.listen( + _handleFrame, + onError: (error, stackTrace) { + _appDebugLogService?.error('USB transport error: $error', tag: 'USB'); + unawaited(disconnect(manual: false)); + }, + onDone: () { + unawaited(disconnect(manual: false)); + }, + ); + + _setState(MeshCoreConnectionState.connected); + _pendingInitialChannelSync = true; + await _requestDeviceInfo(); + _startBatteryPolling(); + var gotSelfInfo = await _waitForSelfInfo( + timeout: const Duration(seconds: 3), + ); + if (!gotSelfInfo) { + await refreshDeviceInfo(); + gotSelfInfo = await _waitForSelfInfo( + timeout: const Duration(seconds: 3), + ); + } + if (!gotSelfInfo) { + throw StateError('Timed out waiting for SELF_INFO during connect'); + } + + await syncTime(); + } catch (error) { + _appDebugLogService?.error('USB connection error: $error', tag: 'USB'); + await disconnect(manual: false); + rethrow; + } + } + Future connect(BluetoothDevice device, {String? displayName}) async { if (_state == MeshCoreConnectionState.connecting || _state == MeshCoreConnectionState.connected) { @@ -844,6 +919,7 @@ class MeshCoreConnector extends ChangeNotifier { _lastDeviceDisplayName = _deviceDisplayName; _manualDisconnect = false; _cancelReconnectTimer(); + _bleInitialSyncStarted = false; if (PlatformInfo.isWeb) { _resetConnectionHandshakeState(); } @@ -856,6 +932,10 @@ class MeshCoreConnector extends ChangeNotifier { 'Starting connect to $connectLabel', tag: 'BLE Connect', ); + await _connectionSubscription?.cancel(); + _connectionSubscription = null; + await _notifySubscription?.cancel(); + _notifySubscription = null; _connectionSubscription = device.connectionState.listen((state) { if (state == BluetoothConnectionState.disconnected && isConnected) { _handleDisconnection(); @@ -899,6 +979,8 @@ class MeshCoreConnector extends ChangeNotifier { ); if (PlatformInfo.isWeb && error.toString().contains('GATT Server is disconnected')) { + // Chrome Web Bluetooth intermittently disconnects between connect() + // and service discovery; retry once to recover that transient state. _appDebugLogService?.warn( 'retrying service discovery after transient web disconnect', tag: 'BLE Connect', @@ -995,42 +1077,7 @@ class MeshCoreConnector extends ChangeNotifier { _hasReceivedDeviceInfo = false; _pendingInitialChannelSync = true; } - - await _requestDeviceInfo(); - _startBatteryPolling(); - if (PlatformInfo.isWeb && - _activeTransport == MeshCoreTransportType.bluetooth) { - // Chrome's Web Bluetooth stack commonly delays incoming notifications - // until the non-blocking notify setup settles. Avoid stacking extra - // startup writes while that is happening. Defer the clock sync until - // the connection has had time to settle. - unawaited( - Future(() async { - await Future.delayed(const Duration(seconds: 5)); - if (!isConnected || - !PlatformInfo.isWeb || - _activeTransport != MeshCoreTransportType.bluetooth) { - return; - } - await syncTime(); - }), - ); - } else { - final gotSelfInfo = await _waitForSelfInfo( - timeout: const Duration(seconds: 3), - ); - if (!gotSelfInfo) { - await refreshDeviceInfo(); - await _waitForSelfInfo(timeout: const Duration(seconds: 3)); - } - - unawaited(syncTime()); - } - - // Fetch channels so we can track unread counts for incoming messages - if (!_shouldGateInitialChannelSync) { - unawaited(getChannels()); - } + unawaited(Future.microtask(() => _startBleInitialSync())); } catch (e) { _appDebugLogService?.error('Connection error: $e', tag: 'BLE Connect'); await disconnect(manual: false); @@ -1038,76 +1085,6 @@ class MeshCoreConnector extends ChangeNotifier { } } - Future connectUsb({ - required String portName, - int baudRate = 115200, - }) async { - if (_state == MeshCoreConnectionState.connecting || - _state == MeshCoreConnectionState.connected) { - return; - } - - _activeTransport = MeshCoreTransportType.bluetooth; - _activeUsbPortKey = null; - _activeUsbPortLabel = null; - - await stopScan(); - _cancelReconnectTimer(); - _manualDisconnect = false; - _resetConnectionHandshakeState(); - _activeTransport = MeshCoreTransportType.usb; - _activeUsbPortKey = portName; - _activeUsbPortLabel = portName; - _setState(MeshCoreConnectionState.connecting); - - try { - await _usbFrameSubscription?.cancel(); - _usbFrameSubscription = null; - await _usbSerialService.connect(portName: portName, baudRate: baudRate); - _activeUsbPortKey = _usbSerialService.activePortKey ?? _activeUsbPortKey; - _activeUsbPortLabel = - _usbSerialService.activePortDisplayLabel ?? _activeUsbPortLabel; - notifyListeners(); - if (PlatformInfo.isWeb) { - await stopScan(); - } - await Future.delayed(const Duration(milliseconds: 200)); - _usbFrameSubscription = _usbSerialService.frameStream.listen( - _handleFrame, - onError: (error, stackTrace) { - _appDebugLogService?.error('USB transport error: $error', tag: 'USB'); - unawaited(disconnect(manual: false)); - }, - onDone: () { - unawaited(disconnect(manual: false)); - }, - ); - - _setState(MeshCoreConnectionState.connected); - _pendingInitialChannelSync = true; - await _requestDeviceInfo(); - _startBatteryPolling(); - var gotSelfInfo = await _waitForSelfInfo( - timeout: const Duration(seconds: 3), - ); - if (!gotSelfInfo) { - await refreshDeviceInfo(); - gotSelfInfo = await _waitForSelfInfo( - timeout: const Duration(seconds: 3), - ); - } - if (!gotSelfInfo) { - throw StateError('Timed out waiting for SELF_INFO during connect'); - } - - await syncTime(); - } catch (error) { - _appDebugLogService?.error('USB connection error: $error', tag: 'USB'); - await disconnect(manual: false); - rethrow; - } - } - Future _waitForSelfInfo({required Duration timeout}) async { if (_selfPublicKey != null) return true; if (!isConnected) return false; @@ -1139,17 +1116,60 @@ class MeshCoreConnector extends ChangeNotifier { return result; } + Future _startBleInitialSync() async { + if (_bleInitialSyncStarted || + !isConnected || + _activeTransport != MeshCoreTransportType.bluetooth) { + return; + } + _bleInitialSyncStarted = true; + + await _requestDeviceInfo(); + _startBatteryPolling(); + + if (PlatformInfo.isWeb) { + // Keep Web BLE startup writes light while notifications settle. + unawaited( + Future(() async { + await Future.delayed(const Duration(seconds: 5)); + if (!isConnected || + !PlatformInfo.isWeb || + _activeTransport != MeshCoreTransportType.bluetooth) { + return; + } + await syncTime(); + }), + ); + return; + } + + final gotSelfInfo = await _waitForSelfInfo( + timeout: const Duration(seconds: 3), + ); + if (!gotSelfInfo) { + await refreshDeviceInfo(); + await _waitForSelfInfo(timeout: const Duration(seconds: 3)); + } + + unawaited(syncTime()); + _pendingDeferredChannelSyncAfterContacts = true; + } + void _resetConnectionHandshakeState() { _selfPublicKey = null; _selfName = null; _selfLatitude = null; _selfLongitude = null; _awaitingSelfInfo = false; + _webInitialHandshakeRequestSent = false; _selfInfoRetryTimer?.cancel(); _selfInfoRetryTimer = null; _hasReceivedDeviceInfo = false; _pendingInitialChannelSync = false; _pendingInitialContactsSync = false; + _bleInitialSyncStarted = false; + _pendingDeferredChannelSyncAfterContacts = false; + _webInitialHandshakeRequestSent = false; } bool get _shouldAutoReconnect => @@ -1205,6 +1225,14 @@ class MeshCoreConnector extends ChangeNotifier { Future disconnect({bool manual = true}) async { if (_state == MeshCoreConnectionState.disconnecting) return; final transportAtDisconnect = _activeTransport; + final transportLabel = transportAtDisconnect == MeshCoreTransportType.usb + ? 'USB' + : 'BLE'; + + _appDebugLogService?.info( + 'Starting disconnect transport=$transportLabel manual=$manual', + tag: 'Connection', + ); if (manual) { _manualDisconnect = true; @@ -1280,6 +1308,10 @@ class MeshCoreConnector extends ChangeNotifier { _activeUsbPortLabel = null; _setState(MeshCoreConnectionState.disconnected); + _appDebugLogService?.info( + 'Disconnect complete transport=$transportLabel manual=$manual', + tag: 'Connection', + ); if (!manual && transportAtDisconnect == MeshCoreTransportType.bluetooth) { _scheduleReconnect(); } @@ -1345,7 +1377,18 @@ class MeshCoreConnector extends ChangeNotifier { Future refreshDeviceInfo() async { if (!isConnected) return; + if (PlatformInfo.isWeb && + _activeTransport == MeshCoreTransportType.bluetooth && + _webInitialHandshakeRequestSent && + _selfPublicKey == null) { + return; + } _awaitingSelfInfo = true; + if (PlatformInfo.isWeb && + _activeTransport == MeshCoreTransportType.bluetooth && + _selfPublicKey == null) { + _webInitialHandshakeRequestSent = true; + } await sendFrame(buildDeviceQueryFrame()); await sendFrame(buildAppStartFrame()); await requestBatteryStatus(force: true); @@ -1356,7 +1399,18 @@ class MeshCoreConnector extends ChangeNotifier { Future _requestDeviceInfo() async { if (!isConnected || _awaitingSelfInfo) return; + if (PlatformInfo.isWeb && + _activeTransport == MeshCoreTransportType.bluetooth && + _webInitialHandshakeRequestSent && + _selfPublicKey == null) { + return; + } _awaitingSelfInfo = true; + if (PlatformInfo.isWeb && + _activeTransport == MeshCoreTransportType.bluetooth && + _selfPublicKey == null) { + _webInitialHandshakeRequestSent = true; + } await sendFrame(buildDeviceQueryFrame()); await sendFrame(buildAppStartFrame()); await sendFrame(buildGetCustomVarsFrame()); @@ -2183,6 +2237,12 @@ class MeshCoreConnector extends ChangeNotifier { _pendingQueueSync = false; unawaited(syncQueuedMessages(force: true)); } + if (_pendingDeferredChannelSyncAfterContacts && + (_activeTransport == MeshCoreTransportType.bluetooth || + _activeTransport == MeshCoreTransportType.usb)) { + _pendingDeferredChannelSyncAfterContacts = false; + unawaited(getChannels()); + } break; case respCodeContactMsgRecv: case respCodeContactMsgRecvV3: @@ -2294,6 +2354,8 @@ class MeshCoreConnector extends ChangeNotifier { // [58+] = node_name if (frame.length < 4 + pubKeySize) return; + final wasAwaitingSelfInfo = _awaitingSelfInfo; + _currentTxPower = frame[2]; _maxTxPower = frame[3]; _selfPublicKey = Uint8List.fromList(frame.sublist(4, 4 + pubKeySize)); @@ -2325,15 +2387,25 @@ class MeshCoreConnector extends ChangeNotifier { _selfInfoRetryTimer = null; notifyListeners(); + if (PlatformInfo.isWeb && + _activeTransport == MeshCoreTransportType.bluetooth && + !wasAwaitingSelfInfo) { + return; + } + // Auto-fetch contacts after getting self info. On web BLE, defer this // until after channel 0 so startup writes stay serialized. if (PlatformInfo.isWeb && _activeTransport == MeshCoreTransportType.bluetooth) { _pendingInitialContactsSync = true; + } else if (_activeTransport == MeshCoreTransportType.usb) { + _pendingDeferredChannelSyncAfterContacts = true; + getContacts(); } else { getContacts(); } - if (_shouldGateInitialChannelSync) { + if (_shouldGateInitialChannelSync && + _activeTransport != MeshCoreTransportType.usb) { _maybeStartInitialChannelSync(); } } @@ -2367,6 +2439,7 @@ class MeshCoreConnector extends ChangeNotifier { unawaited(loadChannelSettings(maxChannels: nextMaxChannels)); unawaited(loadAllChannelMessages(maxChannels: nextMaxChannels)); if (isConnected && + _selfPublicKey != null && (!_shouldGateInitialChannelSync || !_pendingInitialChannelSync)) { unawaited(getChannels(maxChannels: nextMaxChannels)); } @@ -3524,17 +3597,13 @@ class MeshCoreConnector extends ChangeNotifier { // For 1:1 chats, sender is implicit (null) String? senderName; if (isRoomServer && !msg.isOutgoing) { - // Treat a missing room-contact key as unknown instead of matching every - // contact via an empty prefix. - if (msg.fourByteRoomContactKey.length == 4) { - final senderContact = _contacts.cast().firstWhere( - (c) => - c != null && - _matchesPrefix(c.publicKey, msg.fourByteRoomContactKey), - orElse: () => null, - ); - senderName = senderContact?.name; - } + final senderContact = _contacts.cast().firstWhere( + (c) => + c != null && + _matchesPrefix(c.publicKey, msg.fourByteRoomContactKey), + orElse: () => null, + ); + senderName = senderContact?.name; } else if (isRoomServer && msg.isOutgoing) { senderName = selfName; } diff --git a/lib/connector/meshcore_connector_usb.dart b/lib/connector/meshcore_connector_usb.dart new file mode 100644 index 0000000..b1fbe15 --- /dev/null +++ b/lib/connector/meshcore_connector_usb.dart @@ -0,0 +1,32 @@ +import 'package:flutter/foundation.dart'; + +import 'meshcore_connector.dart'; + +class MeshCoreConnectorUsb { + const MeshCoreConnectorUsb(this.connector); + + final MeshCoreConnector connector; + + MeshCoreConnectionState get state => connector.state; + MeshCoreTransportType get activeTransport => connector.activeTransport; + String? get activeUsbPortDisplayLabel => connector.activeUsbPortDisplayLabel; + bool get isUsbTransportConnected => connector.isUsbTransportConnected; + + void addListener(VoidCallback listener) => connector.addListener(listener); + void removeListener(VoidCallback listener) => + connector.removeListener(listener); + + Future> listPorts() => connector.listUsbPorts(); + + void setRequestPortLabel(String label) { + connector.setUsbRequestPortLabel(label); + } + + Future connect({required String portName, int baudRate = 115200}) { + return connector.connectUsb(portName: portName, baudRate: baudRate); + } + + Future disconnect({bool manual = true}) { + return connector.disconnect(manual: manual); + } +} diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index 8c99338..1ac7acc 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Неуспешно изтриване на канала \"{name}\"", +{ + "channels_channelDeleteFailed": "Неуспешно изтриване на канала \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -9,33 +9,33 @@ }, "@@locale": "bg", "appTitle": "MeshCore Open", - "nav_contacts": "Контакти", - "nav_channels": "Канали", - "nav_map": "Карта", - "common_cancel": "Отказ", - "common_connect": "Свържи се", - "common_unknownDevice": "Неизвестно устройство", - "common_save": "Запази", - "common_delete": "Изтрий", - "common_close": "Затвори", - "common_edit": "Редактирай", - "common_add": "Добави", - "common_settings": "Настройки", - "common_disconnect": "Прекъсни", - "common_connected": "Свързано", - "common_disconnected": "Откъснато", - "common_create": "Създай", - "common_continue": "Продължи", - "common_share": "Сподели", - "common_copy": "Копирай", - "common_retry": "Опитай отново", - "common_hide": "Скриване", - "common_remove": "Изтрий", - "common_enable": "Активирай", - "common_disable": "Деактивирай", - "common_reboot": "Рестартирай", - "common_loading": "Зареждане...", - "common_notAvailable": "—", + "nav_contacts": "Контакти", + "nav_channels": "Канали", + "nav_map": "Карта", + "common_cancel": "Отказ", + "common_connect": "Свържи се", + "common_unknownDevice": "Неизвестно устройство", + "common_save": "Запази", + "common_delete": "Изтрий", + "common_close": "Затвори", + "common_edit": "Редактирай", + "common_add": "Добави", + "common_settings": "Настройки", + "common_disconnect": "Прекъсни", + "common_connected": "Свързано", + "common_disconnected": "Откъснато", + "common_create": "Създай", + "common_continue": "Продължи", + "common_share": "Сподели", + "common_copy": "Копирай", + "common_retry": "Опитай отново", + "common_hide": "Скриване", + "common_remove": "Изтрий", + "common_enable": "Активирай", + "common_disable": "Деактивирай", + "common_reboot": "Рестартирай", + "common_loading": "Зареждане...", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,11 +53,11 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Сканиране за устройства...", - "scanner_connecting": "Свързвам се...", - "scanner_disconnecting": "Изключване...", - "scanner_notConnected": "Не е свързан", - "scanner_connectedTo": "Свързано с {deviceName}", + "scanner_scanning": "Сканиране за устройства...", + "scanner_connecting": "Свързвам се...", + "scanner_disconnecting": "Изключване...", + "scanner_notConnected": "Не е свързан", + "scanner_connectedTo": "Свързано с {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -65,9 +65,9 @@ } } }, - "scanner_searchingDevices": "Търсене на устройства MeshCore...", - "scanner_tapToScan": "Натиснете Сканиране, за да намерите устройства MeshCore.", - "scanner_connectionFailed": "Връзката не успя: {error}", + "scanner_searchingDevices": "Търсене на устройства MeshCore...", + "scanner_tapToScan": "Натиснете Сканиране, за да намерите устройства MeshCore.", + "scanner_connectionFailed": "Връзката не успя: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -75,52 +75,52 @@ } } }, - "scanner_stop": "Спрете", - "scanner_scan": "Сканирай", - "device_quickSwitch": "Бързо превключване", + "scanner_stop": "Спрете", + "scanner_scan": "Сканирай", + "device_quickSwitch": "Бързо превключване", "device_meshcore": "MeshCore", - "settings_title": "Настройки", - "settings_deviceInfo": "Информация за устройството", - "settings_appSettings": "Настройки на приложението", - "settings_appSettingsSubtitle": "Уведомления, съобщения и предпочитания за карта", - "settings_nodeSettings": "Настройки на възела", - "settings_nodeName": "Име на възела", - "settings_nodeNameNotSet": "Не е зададено", - "settings_nodeNameHint": "Въведете име на възел", - "settings_nodeNameUpdated": "Името е актуализирано", - "settings_radioSettings": "Настройки на радиопредавателя", - "settings_radioSettingsSubtitle": "Честота, мощност, разпространяващ фактор", - "settings_radioSettingsUpdated": "Радио настройките са актуализирани", - "settings_location": "Местоположение", - "settings_locationSubtitle": "Координати на GPS", - "settings_locationUpdated": "Местоположението е актуализирано", - "settings_locationBothRequired": "Въведете както географска ширина, така и географска дължина.", - "settings_locationInvalid": "Невалидна ширина или дължина.", - "settings_latitude": "Широчина", - "settings_longitude": "Дължина", - "settings_privacyMode": "Режим на поверителност", - "settings_privacyModeSubtitle": "Скриване на име/местоположение в рекламите", - "settings_privacyModeToggle": "Активирайте режим на поверителност, за да скриете името и местоположението си в рекламите.", - "settings_privacyModeEnabled": "Режим на поверителност е активиран", - "settings_privacyModeDisabled": "Режим на поверителност е деактивиран", - "settings_actions": "Действия", - "settings_sendAdvertisement": "Изпрати Реклама", - "settings_sendAdvertisementSubtitle": "Сега присъствие в ефир", - "settings_advertisementSent": "Реклама изпратена", - "settings_syncTime": "Време за синхронизация", - "settings_syncTimeSubtitle": "Задайте часовника на устройството да отговаря на времето на телефона.", - "settings_timeSynchronized": "Синхронизирано във времето", - "settings_refreshContacts": "Презареди контакти", - "settings_refreshContactsSubtitle": "Презареди списъка с контакти от устройството", - "settings_rebootDevice": "Рестартирайте устройството", - "settings_rebootDeviceSubtitle": "Рестартирайте устройството MeshCore", - "settings_rebootDeviceConfirm": "Сигурни ли сте, че искате да рестартирате устройството? Ще бъдете откъснати.", - "settings_debug": "Отстрани", - "settings_bleDebugLog": "Лог за отстраняване на грешки на BLE", - "settings_bleDebugLogSubtitle": "Команди, отговори и сурови данни BLE", - "settings_appDebugLog": "Лог на отстраняване на грешки на приложението", - "settings_appDebugLogSubtitle": "Съобщения за отстраняване на грешки на приложението", - "settings_about": "За нас", + "settings_title": "Настройки", + "settings_deviceInfo": "Информация за устройството", + "settings_appSettings": "Настройки на приложението", + "settings_appSettingsSubtitle": "Уведомления, съобщения и предпочитания за карта", + "settings_nodeSettings": "Настройки на възела", + "settings_nodeName": "Име на възела", + "settings_nodeNameNotSet": "Не е зададено", + "settings_nodeNameHint": "Въведете име на възел", + "settings_nodeNameUpdated": "Името е актуализирано", + "settings_radioSettings": "Настройки на радиопредавателя", + "settings_radioSettingsSubtitle": "Честота, мощност, разпространяващ фактор", + "settings_radioSettingsUpdated": "Радио настройките са актуализирани", + "settings_location": "Местоположение", + "settings_locationSubtitle": "Координати на GPS", + "settings_locationUpdated": "Местоположението е актуализирано", + "settings_locationBothRequired": "Въведете както географска ширина, така и географска дължина.", + "settings_locationInvalid": "Невалидна ширина или дължина.", + "settings_latitude": "Широчина", + "settings_longitude": "Дължина", + "settings_privacyMode": "Режим на поверителност", + "settings_privacyModeSubtitle": "Скриване на име/местоположение в рекламите", + "settings_privacyModeToggle": "Активирайте режим на поверителност, за да скриете името и местоположението си в рекламите.", + "settings_privacyModeEnabled": "Режим на поверителност е активиран", + "settings_privacyModeDisabled": "Режим на поверителност е деактивиран", + "settings_actions": "Действия", + "settings_sendAdvertisement": "Изпрати Реклама", + "settings_sendAdvertisementSubtitle": "Сега присъствие в ефир", + "settings_advertisementSent": "Реклама изпратена", + "settings_syncTime": "Време за синхронизация", + "settings_syncTimeSubtitle": "Задайте часовника на устройството да отговаря на времето на телефона.", + "settings_timeSynchronized": "Синхронизирано във времето", + "settings_refreshContacts": "Презареди контакти", + "settings_refreshContactsSubtitle": "Презареди списъка с контакти от устройството", + "settings_rebootDevice": "Рестартирайте устройството", + "settings_rebootDeviceSubtitle": "Рестартирайте устройството MeshCore", + "settings_rebootDeviceConfirm": "Сигурни ли сте, че искате да рестартирате устройството? Ще бъдете откъснати.", + "settings_debug": "Отстрани", + "settings_bleDebugLog": "Лог за отстраняване на грешки на BLE", + "settings_bleDebugLogSubtitle": "Команди, отговори и сурови данни BLE", + "settings_appDebugLog": "Лог на отстраняване на грешки на приложението", + "settings_appDebugLogSubtitle": "Съобщения за отстраняване на грешки на приложението", + "settings_about": "За нас", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -129,26 +129,26 @@ } } }, - "settings_aboutLegalese": "Проект MeshCore с отворен код 2024 г.", - "settings_aboutDescription": "Отворен софтуер за Flutter клиент за MeshCore LoRa мрежови устройства.", - "settings_infoName": "Име", - "settings_infoId": "ИД", - "settings_infoStatus": "Статус", - "settings_infoBattery": "Батерия", - "settings_infoPublicKey": "Общ публичен ключ", - "settings_infoContactsCount": "Брой контакти", - "settings_infoChannelCount": "Брой канали", - "settings_presets": "Предварителни настройки", - "settings_frequency": "Честота (MHz)", + "settings_aboutLegalese": "Проект MeshCore с отворен код 2024 г.", + "settings_aboutDescription": "Отворен софтуер за Flutter клиент за MeshCore LoRa мрежови устройства.", + "settings_infoName": "Име", + "settings_infoId": "ИД", + "settings_infoStatus": "Статус", + "settings_infoBattery": "Батерия", + "settings_infoPublicKey": "Общ публичен ключ", + "settings_infoContactsCount": "Брой контакти", + "settings_infoChannelCount": "Брой канали", + "settings_presets": "Предварителни настройки", + "settings_frequency": "Честота (MHz)", "settings_frequencyHelper": "300.0 - 2500.0", - "settings_frequencyInvalid": "Невалидна честота (300-2500 MHz)", - "settings_bandwidth": "Ширина на честотния спектър", - "settings_spreadingFactor": "Фактор на разпространение", - "settings_codingRate": "Такса за кодиране", - "settings_txPower": "TX Мощност (dBm)", + "settings_frequencyInvalid": "Невалидна честота (300-2500 MHz)", + "settings_bandwidth": "Ширина на честотния спектър", + "settings_spreadingFactor": "Фактор на разпространение", + "settings_codingRate": "Такса за кодиране", + "settings_txPower": "TX Мощност (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Невалидна мощност на TX (0-22 dBm)", - "settings_error": "Грешка: {message}", + "settings_txPowerInvalid": "Невалидна мощност на TX (0-22 dBm)", + "settings_error": "Грешка: {message}", "@settings_error": { "placeholders": { "message": { @@ -156,51 +156,51 @@ } } }, - "appSettings_title": "Настройки на приложението", - "appSettings_appearance": "Външен вид", - "appSettings_theme": "Тема", - "appSettings_themeSystem": "Система по подразбиране", - "appSettings_themeLight": "Ярка", - "appSettings_themeDark": "Тъмно", - "appSettings_language": "Език", - "appSettings_languageSystem": "Система по подразбиране", + "appSettings_title": "Настройки на приложението", + "appSettings_appearance": "Външен вид", + "appSettings_theme": "Тема", + "appSettings_themeSystem": "Система по подразбиране", + "appSettings_themeLight": "Ярка", + "appSettings_themeDark": "Тъмно", + "appSettings_language": "Език", + "appSettings_languageSystem": "Система по подразбиране", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", - "appSettings_notifications": "Уведомления", - "appSettings_enableNotifications": "Активирай Известия", - "appSettings_enableNotificationsSubtitle": "Получете известия за съобщения и реклами", - "appSettings_notificationPermissionDenied": "Отказвано е разрешение за известия", - "appSettings_notificationsEnabled": "Уведомителни са активирани", - "appSettings_notificationsDisabled": "Известия са изключени", - "appSettings_messageNotifications": "Уведомления", - "appSettings_messageNotificationsSubtitle": "Покажи известие при получаване на нови съобщения", - "appSettings_channelMessageNotifications": "Уведомления за съобщения от канал", - "appSettings_channelMessageNotificationsSubtitle": "Покажи известие при получаване на съобщения от канали", - "appSettings_advertisementNotifications": "Уведомления за реклами", - "appSettings_advertisementNotificationsSubtitle": "Покажи известие, когато бъдат открити нови възли.", - "appSettings_messaging": "Съобщения", - "appSettings_clearPathOnMaxRetry": "Изчисти Път на Макс Опит", - "appSettings_clearPathOnMaxRetrySubtitle": "Възстанови контактния път след 5 неуспешни опита за изпращане", - "appSettings_pathsWillBeCleared": "Пътищата ще бъдат почистени след 5 неуспешни опита.", - "appSettings_pathsWillNotBeCleared": "Пътищата няма да бъдат автоматично изчистени.", - "appSettings_autoRouteRotation": "Автоматично маршрутизиране на завъртания", - "appSettings_autoRouteRotationSubtitle": "Превключете между най-добрите пътища и режим на наводняване", - "appSettings_autoRouteRotationEnabled": "Автоматично маршрутизиране вкл.", - "appSettings_autoRouteRotationDisabled": "Автоматично маршрутизирането е деактивирано", - "appSettings_battery": "Батерия", - "appSettings_batteryChemistry": "Химия на батерията", - "appSettings_batteryChemistryPerDevice": "Зададено за устройство ({deviceName})", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", + "appSettings_notifications": "Уведомления", + "appSettings_enableNotifications": "Активирай Известия", + "appSettings_enableNotificationsSubtitle": "Получете известия за съобщения и реклами", + "appSettings_notificationPermissionDenied": "Отказвано е разрешение за известия", + "appSettings_notificationsEnabled": "Уведомителни са активирани", + "appSettings_notificationsDisabled": "Известия са изключени", + "appSettings_messageNotifications": "Уведомления", + "appSettings_messageNotificationsSubtitle": "Покажи известие при получаване на нови съобщения", + "appSettings_channelMessageNotifications": "Уведомления за съобщения от канал", + "appSettings_channelMessageNotificationsSubtitle": "Покажи известие при получаване на съобщения от канали", + "appSettings_advertisementNotifications": "Уведомления за реклами", + "appSettings_advertisementNotificationsSubtitle": "Покажи известие, когато бъдат открити нови възли.", + "appSettings_messaging": "Съобщения", + "appSettings_clearPathOnMaxRetry": "Изчисти Път на Макс Опит", + "appSettings_clearPathOnMaxRetrySubtitle": "Възстанови контактния път след 5 неуспешни опита за изпращане", + "appSettings_pathsWillBeCleared": "Пътищата ще бъдат почистени след 5 неуспешни опита.", + "appSettings_pathsWillNotBeCleared": "Пътищата няма да бъдат автоматично изчистени.", + "appSettings_autoRouteRotation": "Автоматично маршрутизиране на завъртания", + "appSettings_autoRouteRotationSubtitle": "Превключете между най-добрите пътища и режим на наводняване", + "appSettings_autoRouteRotationEnabled": "Автоматично маршрутизиране вкл.", + "appSettings_autoRouteRotationDisabled": "Автоматично маршрутизирането е деактивирано", + "appSettings_battery": "Батерия", + "appSettings_batteryChemistry": "Химия на батерията", + "appSettings_batteryChemistryPerDevice": "Зададено за устройство ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -208,20 +208,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Свържете се с устройство, за да изберете.", + "appSettings_batteryChemistryConnectFirst": "Свържете се с устройство, за да изберете.", "appSettings_batteryNmc": "18650 NMC (3.0-4.2V)", - "appSettings_batteryLifepo4": "Литиево желязо фосфат (2.6-3.65V)", - "appSettings_batteryLipo": "Литиев полимер (3.0-4.2V)", - "appSettings_mapDisplay": "Карта за показване", - "appSettings_showRepeaters": "Показване на повторители", - "appSettings_showRepeatersSubtitle": "Показване на възпроизвеждащи се възли на картата", - "appSettings_showChatNodes": "Покажи Възли на Чат", - "appSettings_showChatNodesSubtitle": "Показване на чат възли на картата", - "appSettings_showOtherNodes": "Покажи други възли", - "appSettings_showOtherNodesSubtitle": "Покажи други типове възли на картата", - "appSettings_timeFilter": "Филтриране по време", - "appSettings_timeFilterShowAll": "Покажи всички възли", - "appSettings_timeFilterShowLast": "Покажи възли от последните {hours} часа", + "appSettings_batteryLifepo4": "Литиево желязо фосфат (2.6-3.65V)", + "appSettings_batteryLipo": "Литиев полимер (3.0-4.2V)", + "appSettings_mapDisplay": "Карта за показване", + "appSettings_showRepeaters": "Показване на повторители", + "appSettings_showRepeatersSubtitle": "Показване на възпроизвеждащи се възли на картата", + "appSettings_showChatNodes": "Покажи Възли на Чат", + "appSettings_showChatNodesSubtitle": "Показване на чат възли на картата", + "appSettings_showOtherNodes": "Покажи други възли", + "appSettings_showOtherNodesSubtitle": "Покажи други типове възли на картата", + "appSettings_timeFilter": "Филтриране по време", + "appSettings_timeFilterShowAll": "Покажи всички възли", + "appSettings_timeFilterShowLast": "Покажи възли от последните {hours} часа", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -229,16 +229,16 @@ } } }, - "appSettings_mapTimeFilter": "Филтри за време на картата", - "appSettings_showNodesDiscoveredWithin": "Покажи възлите, открити в:", - "appSettings_allTime": "Всичко време", - "appSettings_lastHour": "Последната минута", - "appSettings_last6Hours": "Последни 6 часа", - "appSettings_last24Hours": "Последно 24 часа", - "appSettings_lastWeek": "Миналата седмица", - "appSettings_offlineMapCache": "Кеш на офлайн карти", - "appSettings_noAreaSelected": "Няма избрана област", - "appSettings_areaSelectedZoom": "Избрана е област (мащаб {minZoom}-{maxZoom})", + "appSettings_mapTimeFilter": "Филтри за време на картата", + "appSettings_showNodesDiscoveredWithin": "Покажи възлите, открити в:", + "appSettings_allTime": "Всичко време", + "appSettings_lastHour": "Последната минута", + "appSettings_last6Hours": "Последни 6 часа", + "appSettings_last24Hours": "Последно 24 часа", + "appSettings_lastWeek": "Миналата седмица", + "appSettings_offlineMapCache": "Кеш на офлайн карти", + "appSettings_noAreaSelected": "Няма избрана област", + "appSettings_areaSelectedZoom": "Избрана е област (мащаб {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -249,19 +249,19 @@ } } }, - "appSettings_debugCard": "Отстрани", - "appSettings_appDebugLogging": "Логване за отстраняване на грешки на приложението", - "appSettings_appDebugLoggingSubtitle": "Записване на съобщения за отстраняване на грешки от приложението за отстраняване на грешки.", - "appSettings_appDebugLoggingEnabled": "Режимът за отстраняване на грешки в приложението е активиран.", - "appSettings_appDebugLoggingDisabled": "Логването за отстраняване на грешки в приложението е изключено.", - "contacts_title": "Контакти", - "contacts_noContacts": "Няма контакти към момента.", - "contacts_contactsWillAppear": "Контактите ще се появят, когато устройствата рекламират.", - "contacts_searchContacts": "Търсене на контакти...", - "contacts_noUnreadContacts": "Няма непрочетени контакти", - "contacts_noContactsFound": "Няма намерени контакти или групи.", - "contacts_deleteContact": "Изтрий Контакт", - "contacts_removeConfirm": "Изтрий {contactName} от контактите?", + "appSettings_debugCard": "Отстрани", + "appSettings_appDebugLogging": "Логване за отстраняване на грешки на приложението", + "appSettings_appDebugLoggingSubtitle": "Записване на съобщения за отстраняване на грешки от приложението за отстраняване на грешки.", + "appSettings_appDebugLoggingEnabled": "Режимът за отстраняване на грешки в приложението е активиран.", + "appSettings_appDebugLoggingDisabled": "Логването за отстраняване на грешки в приложението е изключено.", + "contacts_title": "Контакти", + "contacts_noContacts": "Няма контакти към момента.", + "contacts_contactsWillAppear": "Контактите ще се появят, когато устройствата рекламират.", + "contacts_searchContacts": "Търсене на контакти...", + "contacts_noUnreadContacts": "Няма непрочетени контакти", + "contacts_noContactsFound": "Няма намерени контакти или групи.", + "contacts_deleteContact": "Изтрий Контакт", + "contacts_removeConfirm": "Изтрий {contactName} от контактите?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -269,12 +269,12 @@ } } }, - "contacts_manageRepeater": "Управление на Повтарящ се Елемент", - "contacts_roomLogin": "Вход в стаята", - "contacts_openChat": "Отвори чат", - "contacts_editGroup": "Редактирай Група", - "contacts_deleteGroup": "Изтрий група", - "contacts_deleteGroupConfirm": "Премахнете \"{groupName}\"?", + "contacts_manageRepeater": "Управление на Повтарящ се Елемент", + "contacts_roomLogin": "Вход в стаята", + "contacts_openChat": "Отвори чат", + "contacts_editGroup": "Редактирай Група", + "contacts_deleteGroup": "Изтрий група", + "contacts_deleteGroupConfirm": "Премахнете \"{groupName}\"?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -282,10 +282,10 @@ } } }, - "contacts_newGroup": "Нова група", - "contacts_groupName": "Група", - "contacts_groupNameRequired": "Името на групата е задължително.", - "contacts_groupAlreadyExists": "Групата \"{name}\" вече съществува.", + "contacts_newGroup": "Нова група", + "contacts_groupName": "Група", + "contacts_groupNameRequired": "Името на групата е задължително.", + "contacts_groupAlreadyExists": "Групата \"{name}\" вече съществува.", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -293,11 +293,11 @@ } } }, - "contacts_filterContacts": "Филтрирайте контактите...", - "contacts_noContactsMatchFilter": "Няма съвпадения с вашия филтър.", - "contacts_noMembers": "Няма членове", - "contacts_lastSeenNow": "Последно видяно сега", - "contacts_lastSeenMinsAgo": "Последна активност {minutes} минути преди", + "contacts_filterContacts": "Филтрирайте контактите...", + "contacts_noContactsMatchFilter": "Няма съвпадения с вашия филтър.", + "contacts_noMembers": "Няма членове", + "contacts_lastSeenNow": "Последно видяно сега", + "contacts_lastSeenMinsAgo": "Последна активност {minutes} минути преди", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Последно видяно преди час", - "contacts_lastSeenHoursAgo": "Последно видян {hours} часа преди.", + "contacts_lastSeenHourAgo": "Последно видяно преди час", + "contacts_lastSeenHoursAgo": "Последно видян {hours} часа преди.", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Последно видяно преди 1 ден", - "contacts_lastSeenDaysAgo": "Последно видян {days} дни преди.", + "contacts_lastSeenDayAgo": "Последно видяно преди 1 ден", + "contacts_lastSeenDaysAgo": "Последно видян {days} дни преди.", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -323,12 +323,12 @@ } } }, - "channels_title": "Канали", - "channels_noChannelsConfigured": "Няма конфигурирани канали", - "channels_addPublicChannel": "Добави публичен канал", - "channels_searchChannels": "Търсене на канали...", - "channels_noChannelsFound": "Няма намерени канали", - "channels_channelIndex": "Канал {index}", + "channels_title": "Канали", + "channels_noChannelsConfigured": "Няма конфигурирани канали", + "channels_addPublicChannel": "Добави публичен канал", + "channels_searchChannels": "Търсене на канали...", + "channels_noChannelsFound": "Няма намерени канали", + "channels_channelIndex": "Канал {index}", "@channels_channelIndex": { "placeholders": { "index": { @@ -336,16 +336,16 @@ } } }, - "channels_hashtagChannel": "Канал с хаштаг", - "channels_public": "Публично", - "channels_private": "Личен", - "channels_publicChannel": "Публичен канал", - "channels_privateChannel": "Частен канал", - "channels_editChannel": "Редактирай канал", - "channels_muteChannel": "Заглуши канала", - "channels_unmuteChannel": "Включи известията на канала", - "channels_deleteChannel": "Изтрий канала", - "channels_deleteChannelConfirm": "Изтрий \"{name}\"? Това не може да бъде отменено.", + "channels_hashtagChannel": "Канал с хаштаг", + "channels_public": "Публично", + "channels_private": "Личен", + "channels_publicChannel": "Публичен канал", + "channels_privateChannel": "Частен канал", + "channels_editChannel": "Редактирай канал", + "channels_muteChannel": "Заглуши канала", + "channels_unmuteChannel": "Включи известията на канала", + "channels_deleteChannel": "Изтрий канала", + "channels_deleteChannelConfirm": "Изтрий \"{name}\"? Това не може да бъде отменено.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Каналът \"{name}\" е изтрит", + "channels_channelDeleted": "Каналът \"{name}\" е изтрит", "@channels_channelDeleted": { "placeholders": { "name": { @@ -361,16 +361,16 @@ } } }, - "channels_addChannel": "Добави Канал", - "channels_channelIndexLabel": "Индекс на канал", - "channels_channelName": "Име на канала", - "channels_usePublicChannel": "Използвайте публичен канал", - "channels_standardPublicPsk": "Стандартен публичен PSK", + "channels_addChannel": "Добави Канал", + "channels_channelIndexLabel": "Индекс на канал", + "channels_channelName": "Име на канала", + "channels_usePublicChannel": "Използвайте публичен канал", + "channels_standardPublicPsk": "Стандартен публичен PSK", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Генерирай случайна PSK", - "channels_enterChannelName": "Моля, въведете име на канал.", - "channels_pskMustBe32Hex": "PSK трябва да бъде 32 шестнаредни знака.", - "channels_channelAdded": "Каналът \"{name}\" е добавен", + "channels_generateRandomPsk": "Генерирай случайна PSK", + "channels_enterChannelName": "Моля, въведете име на канал.", + "channels_pskMustBe32Hex": "PSK трябва да бъде 32 шестнаредни знака.", + "channels_channelAdded": "Каналът \"{name}\" е добавен", "@channels_channelAdded": { "placeholders": { "name": { @@ -378,7 +378,7 @@ } } }, - "channels_editChannelTitle": "Редактирай Канал {index}", + "channels_editChannelTitle": "Редактирай Канал {index}", "@channels_editChannelTitle": { "placeholders": { "index": { @@ -386,8 +386,8 @@ } } }, - "channels_smazCompression": "Компресия SMAZ", - "channels_channelUpdated": "Каналът \"{name}\" е актуализиран", + "channels_smazCompression": "Компресия SMAZ", + "channels_channelUpdated": "Каналът \"{name}\" е актуализиран", "@channels_channelUpdated": { "placeholders": { "name": { @@ -395,16 +395,16 @@ } } }, - "channels_publicChannelAdded": "Публичен канал добавен", - "channels_sortBy": "Сортирай по", - "channels_sortManual": "Ръчно", + "channels_publicChannelAdded": "Публичен канал добавен", + "channels_sortBy": "Сортирай по", + "channels_sortManual": "Ръчно", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Последни съобщения", - "channels_sortUnread": "Непрочетено", - "chat_noMessages": "Няма съобщения.", - "chat_sendMessageToStart": "Изпрати съобщение, за да започнеш.", - "chat_originalMessageNotFound": "Съобщението не е намерено", - "chat_replyingTo": "Отговарям на {name}", + "channels_sortLatestMessages": "Последни съобщения", + "channels_sortUnread": "Непрочетено", + "chat_noMessages": "Няма съобщения.", + "chat_sendMessageToStart": "Изпрати съобщение, за да започнеш.", + "chat_originalMessageNotFound": "Съобщението не е намерено", + "chat_replyingTo": "Отговарям на {name}", "@chat_replyingTo": { "placeholders": { "name": { @@ -412,7 +412,7 @@ } } }, - "chat_replyTo": "Отговори на {name}", + "chat_replyTo": "Отговори на {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -420,8 +420,8 @@ } } }, - "chat_location": "Местоположение", - "chat_sendMessageTo": "Изпрати съобщение на {contactName}", + "chat_location": "Местоположение", + "chat_sendMessageTo": "Изпрати съобщение на {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -429,8 +429,8 @@ } } }, - "chat_typeMessage": "Въведете съобщение...", - "chat_messageTooLong": "Съобщението е твърде дълго (макс {maxBytes} байта).", + "chat_typeMessage": "Въведете съобщение...", + "chat_messageTooLong": "Съобщението е твърде дълго (макс {maxBytes} байта).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -438,10 +438,10 @@ } } }, - "chat_messageCopied": "Съобщението е копирано", - "chat_messageDeleted": "Съобщението е изтрито", - "chat_retryingMessage": "Опитваме се отново.", - "chat_retryCount": "Опитай отново {current}/{max}", + "chat_messageCopied": "Съобщението е копирано", + "chat_messageDeleted": "Съобщението е изтрито", + "chat_retryingMessage": "Опитваме се отново.", + "chat_retryCount": "Опитай отново {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -452,33 +452,33 @@ } } }, - "chat_sendGif": "Изпрати GIF", - "chat_reply": "Отговори", - "chat_addReaction": "Добави Реакция", - "chat_me": "Аз", - "emojiCategorySmileys": "Емотикони", - "emojiCategoryGestures": "Жестове", - "emojiCategoryHearts": "Сърца", - "emojiCategoryObjects": "Обекти", - "gifPicker_title": "Изберете GIF", - "gifPicker_searchHint": "Търсене на GIF-ове...", - "gifPicker_poweredBy": "Задвижвано от GIPHY", - "gifPicker_noGifsFound": "Няма намерени GIF файлове.", - "gifPicker_failedLoad": "Не можа да се заредят GIF файловете", - "gifPicker_failedSearch": "Неуспешно търсене на GIF-ове", - "gifPicker_noInternet": "Няма интернет връзка", - "debugLog_appTitle": "Лог на отстраняване на грешки на приложението", - "debugLog_bleTitle": "Лог за отстраняване на грешки на BLE", - "debugLog_copyLog": "Копирай лог", - "debugLog_clearLog": "Изчисти логовете", - "debugLog_copied": "Копирано лого за отстраняване на грешки", - "debugLog_bleCopied": "Копиран лог от BLE", - "debugLog_noEntries": "Все още няма дебъг логове.", - "debugLog_enableInSettings": "Активирайте отстраняване на грешки в настройките на приложението", - "debugLog_frames": "Рамки", + "chat_sendGif": "Изпрати GIF", + "chat_reply": "Отговори", + "chat_addReaction": "Добави Реакция", + "chat_me": "Аз", + "emojiCategorySmileys": "Емотикони", + "emojiCategoryGestures": "Жестове", + "emojiCategoryHearts": "Сърца", + "emojiCategoryObjects": "Обекти", + "gifPicker_title": "Изберете GIF", + "gifPicker_searchHint": "Търсене на GIF-ове...", + "gifPicker_poweredBy": "Задвижвано от GIPHY", + "gifPicker_noGifsFound": "Няма намерени GIF файлове.", + "gifPicker_failedLoad": "Не можа да се заредят GIF файловете", + "gifPicker_failedSearch": "Неуспешно търсене на GIF-ове", + "gifPicker_noInternet": "Няма интернет връзка", + "debugLog_appTitle": "Лог на отстраняване на грешки на приложението", + "debugLog_bleTitle": "Лог за отстраняване на грешки на BLE", + "debugLog_copyLog": "Копирай лог", + "debugLog_clearLog": "Изчисти логовете", + "debugLog_copied": "Копирано лого за отстраняване на грешки", + "debugLog_bleCopied": "Копиран лог от BLE", + "debugLog_noEntries": "Все още няма дебъг логове.", + "debugLog_enableInSettings": "Активирайте отстраняване на грешки в настройките на приложението", + "debugLog_frames": "Рамки", "debugLog_rawLogRx": "Raw Log-RX", - "debugLog_noBleActivity": "Няма BLE активност към момента.", - "debugFrame_length": "Дължина на кадъра: {count} байта", + "debugLog_noBleActivity": "Няма BLE активност към момента.", + "debugFrame_length": "Дължина на кадъра: {count} байта", "@debugFrame_length": { "placeholders": { "count": { @@ -486,7 +486,7 @@ } } }, - "debugFrame_command": "Команда: 0x{value}", + "debugFrame_command": "Команда: 0x{value}", "@debugFrame_command": { "placeholders": { "value": { @@ -494,8 +494,8 @@ } } }, - "debugFrame_textMessageHeader": "Съобщение:", - "debugFrame_destinationPubKey": "- Дестинация Публичен Ключ: {pubKey}", + "debugFrame_textMessageHeader": "Съобщение:", + "debugFrame_destinationPubKey": "- Дестинация Публичен Ключ: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -503,7 +503,7 @@ } } }, - "debugFrame_timestamp": "- Време: {timestamp}", + "debugFrame_timestamp": "- Време: {timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -511,7 +511,7 @@ } } }, - "debugFrame_flags": "- Флагове: 0x{value}", + "debugFrame_flags": "- Флагове: 0x{value}", "@debugFrame_flags": { "placeholders": { "value": { @@ -519,7 +519,7 @@ } } }, - "debugFrame_textType": "- Тип текст: {type} ({label})", + "debugFrame_textType": "- Тип текст: {type} ({label})", "@debugFrame_textType": { "placeholders": { "type": { @@ -531,8 +531,8 @@ } }, "debugFrame_textTypeCli": "CLI", - "debugFrame_textTypePlain": "Просто", - "debugFrame_text": "- Текст: \"{text}\"", + "debugFrame_textTypePlain": "Просто", + "debugFrame_text": "- Текст: \"{text}\"", "@debugFrame_text": { "placeholders": { "text": { @@ -540,15 +540,15 @@ } } }, - "debugFrame_hexDump": "Хексадесетичен Dump:", - "chat_pathManagement": "Управление на пътища", - "chat_routingMode": "Режим на маршрутизиране", - "chat_autoUseSavedPath": "Автоматично (използвай запазения път)", - "chat_forceFloodMode": "Принуди режим на наводняване", - "chat_recentAckPaths": "Неотдавни ACK пътища (докоснете, за да използвате):", - "chat_pathHistoryFull": "Историята на пътя е пълна. Премахнете записи, за да добавите нови.", - "chat_hopSingular": "скочи", - "chat_hopPlural": "скоци", + "debugFrame_hexDump": "Хексадесетичен Dump:", + "chat_pathManagement": "Управление на пътища", + "chat_routingMode": "Режим на маршрутизиране", + "chat_autoUseSavedPath": "Автоматично (използвай запазения път)", + "chat_forceFloodMode": "Принуди режим на наводняване", + "chat_recentAckPaths": "Неотдавни ACK пътища (докоснете, за да използвате):", + "chat_pathHistoryFull": "Историята на пътя е пълна. Премахнете записи, за да добавите нови.", + "chat_hopSingular": "скочи", + "chat_hopPlural": "скоци", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", "@chat_hopsCount": { "placeholders": { @@ -557,20 +557,20 @@ } } }, - "chat_successes": "Успехи", - "chat_removePath": "Премахни пътя", - "chat_noPathHistoryYet": "Няма история на пътищата още.\nИзпратете съобщение, за да откриете пътища.", - "chat_pathActions": "Действия по пътя:", - "chat_setCustomPath": "Задайте персонализиран път", - "chat_setCustomPathSubtitle": "Ръчно укажете маршрутен път", - "chat_clearPath": "Почисти Път", - "chat_clearPathSubtitle": "Принуди преоткриване при следващо изпращане", - "chat_pathCleared": "Пътят е почистен. Следващото съобщение ще открие маршрута отново.", - "chat_floodModeSubtitle": "Използвайте превключвателя за маршрутизиране в лентата на приложението.", - "chat_floodModeEnabled": "Режим на наводнение е активиран. Включете го отново чрез иконката за маршрутизиране в лентата на приложението.", - "chat_fullPath": "Пълен път", - "chat_pathDetailsNotAvailable": "Детайлите за пътя все още не са налични. Опитайте да изпратите съобщение, за да освежите.", - "chat_pathSetHops": "Пътят е зададен: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", + "chat_successes": "Успехи", + "chat_removePath": "Премахни пътя", + "chat_noPathHistoryYet": "Няма история на пътищата още.\nИзпратете съобщение, за да откриете пътища.", + "chat_pathActions": "Действия по пътя:", + "chat_setCustomPath": "Задайте персонализиран път", + "chat_setCustomPathSubtitle": "Ръчно укажете маршрутен път", + "chat_clearPath": "Почисти Път", + "chat_clearPathSubtitle": "Принуди преоткриване при следващо изпращане", + "chat_pathCleared": "Пътят е почистен. Следващото съобщение ще открие маршрута отново.", + "chat_floodModeSubtitle": "Използвайте превключвателя за маршрутизиране в лентата на приложението.", + "chat_floodModeEnabled": "Режим на наводнение е активиран. Включете го отново чрез иконката за маршрутизиране в лентата на приложението.", + "chat_fullPath": "Пълен път", + "chat_pathDetailsNotAvailable": "Детайлите за пътя все още не са налични. Опитайте да изпратите съобщение, за да освежите.", + "chat_pathSetHops": "Пътят е зададен: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -581,16 +581,16 @@ } } }, - "chat_pathSavedLocally": "Запазено локално. Свържете се за синхронизиране.", - "chat_pathDeviceConfirmed": "Устройство потвърдено.", - "chat_pathDeviceNotConfirmed": "Устройството все още не е потвърдено.", - "chat_type": "Въведете", - "chat_path": "Пътекино", - "chat_publicKey": "Публичен ключ", - "chat_compressOutgoingMessages": "Компресиране на изходящи съобщения", - "chat_floodForced": "Потоп (принуден)", - "chat_directForced": "Директно (принудително)", - "chat_hopsForced": "{count} скока (принудително)", + "chat_pathSavedLocally": "Запазено локално. Свържете се за синхронизиране.", + "chat_pathDeviceConfirmed": "Устройство потвърдено.", + "chat_pathDeviceNotConfirmed": "Устройството все още не е потвърдено.", + "chat_type": "Въведете", + "chat_path": "Пътекино", + "chat_publicKey": "Публичен ключ", + "chat_compressOutgoingMessages": "Компресиране на изходящи съобщения", + "chat_floodForced": "Потоп (принуден)", + "chat_directForced": "Директно (принудително)", + "chat_hopsForced": "{count} скока (принудително)", "@chat_hopsForced": { "placeholders": { "count": { @@ -598,10 +598,10 @@ } } }, - "chat_floodAuto": "Потоп (автоматично)", - "chat_direct": "Директно", - "chat_poiShared": "Споделено място от интерес", - "chat_unread": "Непрочетени: {count}", + "chat_floodAuto": "Потоп (автоматично)", + "chat_direct": "Директно", + "chat_poiShared": "Споделено място от интерес", + "chat_unread": "Непрочетени: {count}", "@chat_unread": { "placeholders": { "count": { @@ -609,10 +609,10 @@ } } }, - "chat_openLink": "Отваряне на връзката?", - "chat_openLinkConfirmation": "Искате ли да отворите тази връзка в браузъра си?", - "chat_open": "Отвори", - "chat_couldNotOpenLink": "Не можа да се отвори връзката: {url}", + "chat_openLink": "Отваряне на връзката?", + "chat_openLinkConfirmation": "Искате ли да отворите тази връзка в браузъра си?", + "chat_open": "Отвори", + "chat_couldNotOpenLink": "Не можа да се отвори връзката: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,11 +620,11 @@ } } }, - "chat_invalidLink": "Невалиден формат на връзката", - "map_title": "Карта на възлите", - "map_noNodesWithLocation": "Няма възли с данни за местоположение.", - "map_nodesNeedGps": "Възлагат се възлозите да споделят техните GPS координати,\nза да се появят на картата.", - "map_nodesCount": "Нодове: {count}", + "chat_invalidLink": "Невалиден формат на връзката", + "map_title": "Карта на възлите", + "map_noNodesWithLocation": "Няма възли с данни за местоположение.", + "map_nodesNeedGps": "Възлагат се възлозите да споделят техните GPS координати,\nза да се появят на картата.", + "map_nodesCount": "Нодове: {count}", "@map_nodesCount": { "placeholders": { "count": { @@ -632,7 +632,7 @@ } } }, - "map_pinsCount": "Ключове: {count}", + "map_pinsCount": "Ключове: {count}", "@map_pinsCount": { "placeholders": { "count": { @@ -640,27 +640,27 @@ } } }, - "map_chat": "Чат", - "map_repeater": "Повтарящ се", - "map_room": "Стая", - "map_sensor": "Датчик", - "map_pinDm": "Задържане (DM)", - "map_pinPrivate": "Задържане (Приватно)", - "map_pinPublic": "Публичен ключ", - "map_lastSeen": "Последна видяна", - "map_disconnectConfirm": "Сигурни ли сте, че искате да се откъснете от това устройство?", - "map_from": "От", - "map_source": "Източник", - "map_flags": "Флаг", - "map_shareMarkerHere": "Споделете маркер тук", - "map_pinLabel": "Етикетиране на пин", - "map_label": "Етикет", - "map_pointOfInterest": "Точка на интерес", - "map_sendToContact": "Изпрати на контакт", - "map_sendToChannel": "Изпрати в канала", - "map_noChannelsAvailable": "Няма налични канали", - "map_publicLocationShare": "Споделяне на публично място", - "map_publicLocationShareConfirm": "Ще споделите местоположение в {channelLabel}. Този канал е публичен и всеки с PSK може да го види.", + "map_chat": "Чат", + "map_repeater": "Повтарящ се", + "map_room": "Стая", + "map_sensor": "Датчик", + "map_pinDm": "Задържане (DM)", + "map_pinPrivate": "Задържане (Приватно)", + "map_pinPublic": "Публичен ключ", + "map_lastSeen": "Последна видяна", + "map_disconnectConfirm": "Сигурни ли сте, че искате да се откъснете от това устройство?", + "map_from": "От", + "map_source": "Източник", + "map_flags": "Флаг", + "map_shareMarkerHere": "Споделете маркер тук", + "map_pinLabel": "Етикетиране на пин", + "map_label": "Етикет", + "map_pointOfInterest": "Точка на интерес", + "map_sendToContact": "Изпрати на контакт", + "map_sendToChannel": "Изпрати в канала", + "map_noChannelsAvailable": "Няма налични канали", + "map_publicLocationShare": "Споделяне на публично място", + "map_publicLocationShareConfirm": "Ще споделите местоположение в {channelLabel}. Този канал е публичен и всеки с PSK може да го види.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,26 +668,26 @@ } } }, - "map_connectToShareMarkers": "Свържете се с устройство, за да споделите маркери.", - "map_filterNodes": "Филтрирайте възли", - "map_nodeTypes": "Типове възли", - "map_chatNodes": "Възли на чата", - "map_repeaters": "Повторители", - "map_otherNodes": "Други възли", - "map_keyPrefix": "Префикс на ключа", - "map_filterByKeyPrefix": "Филтрирайте по префикс на ключ", - "map_publicKeyPrefix": "Префикс на публичен ключ", - "map_markers": "Маркери", - "map_showSharedMarkers": "Покажи споделени маркери", - "map_lastSeenTime": "Последна видяна дата", - "map_sharedPin": "Споделено копие", - "map_joinRoom": "Присъедини се към стаята", - "map_manageRepeater": "Управление на Повтарящ се Елемент", - "mapCache_title": "Кеш на офлайн карти", - "mapCache_selectAreaFirst": "Изберете област за кеширане първа", - "mapCache_noTilesToDownload": "Няма плочки за изтегляне за тази област.", - "mapCache_downloadTilesTitle": "Изтегли плочки", - "mapCache_downloadTilesPrompt": "Изтегли {count} плочки за офлайн употреба?", + "map_connectToShareMarkers": "Свържете се с устройство, за да споделите маркери.", + "map_filterNodes": "Филтрирайте възли", + "map_nodeTypes": "Типове възли", + "map_chatNodes": "Възли на чата", + "map_repeaters": "Повторители", + "map_otherNodes": "Други възли", + "map_keyPrefix": "Префикс на ключа", + "map_filterByKeyPrefix": "Филтрирайте по префикс на ключ", + "map_publicKeyPrefix": "Префикс на публичен ключ", + "map_markers": "Маркери", + "map_showSharedMarkers": "Покажи споделени маркери", + "map_lastSeenTime": "Последна видяна дата", + "map_sharedPin": "Споделено копие", + "map_joinRoom": "Присъедини се към стаята", + "map_manageRepeater": "Управление на Повтарящ се Елемент", + "mapCache_title": "Кеш на офлайн карти", + "mapCache_selectAreaFirst": "Изберете област за кеширане първа", + "mapCache_noTilesToDownload": "Няма плочки за изтегляне за тази област.", + "mapCache_downloadTilesTitle": "Изтегли плочки", + "mapCache_downloadTilesPrompt": "Изтегли {count} плочки за офлайн употреба?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -695,8 +695,8 @@ } } }, - "mapCache_downloadAction": "Изтегли", - "mapCache_cachedTiles": "Кеширани {count} плочки", + "mapCache_downloadAction": "Изтегли", + "mapCache_cachedTiles": "Кеширани {count} плочки", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -704,7 +704,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Запазени {downloaded} плочки ({failed} неуспешни)", + "mapCache_cachedTilesWithFailed": "Запазени {downloaded} плочки ({failed} неуспешни)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -715,14 +715,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Изчисти офлайн кеша", - "mapCache_clearOfflineCachePrompt": "Премахнете всички кеширани плочки на картата?", - "mapCache_offlineCacheCleared": "Кешът на устройството е изчистен.", - "mapCache_noAreaSelected": "Няма избрана област", - "mapCache_cacheArea": "Област с кеш", - "mapCache_useCurrentView": "Използвайте текущия изглед", - "mapCache_zoomRange": "Обхват на увеличението", - "mapCache_estimatedTiles": "Очаквани плочки: {count}", + "mapCache_clearOfflineCacheTitle": "Изчисти офлайн кеша", + "mapCache_clearOfflineCachePrompt": "Премахнете всички кеширани плочки на картата?", + "mapCache_offlineCacheCleared": "Кешът на устройството е изчистен.", + "mapCache_noAreaSelected": "Няма избрана област", + "mapCache_cacheArea": "Област с кеш", + "mapCache_useCurrentView": "Използвайте текущия изглед", + "mapCache_zoomRange": "Обхват на увеличението", + "mapCache_estimatedTiles": "Очаквани плочки: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -730,7 +730,7 @@ } } }, - "mapCache_downloadedTiles": "Изтеглено {completed} / {total}", + "mapCache_downloadedTiles": "Изтеглено {completed} / {total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -741,9 +741,9 @@ } } }, - "mapCache_downloadTilesButton": "Изтегли Плочки", - "mapCache_clearCacheButton": "Изчисти кеша", - "mapCache_failedDownloads": "Неуспешни изтегляния: {count}", + "mapCache_downloadTilesButton": "Изтегли Плочки", + "mapCache_clearCacheButton": "Изчисти кеша", + "mapCache_failedDownloads": "Неуспешни изтегляния: {count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -751,7 +751,7 @@ } } }, - "mapCache_boundsLabel": "Север {north}, Юг {south}, Изток {east}, Запад {west}", + "mapCache_boundsLabel": "Север {north}, Юг {south}, Изток {east}, Запад {west}", "@mapCache_boundsLabel": { "placeholders": { "north": { @@ -768,8 +768,8 @@ } } }, - "time_justNow": "Сега", - "time_minutesAgo": "{minutes} минути преди", + "time_justNow": "Сега", + "time_minutesAgo": "{minutes} минути преди", "@time_minutesAgo": { "placeholders": { "minutes": { @@ -777,7 +777,7 @@ } } }, - "time_hoursAgo": "{hours} часа преди", + "time_hoursAgo": "{hours} часа преди", "@time_hoursAgo": { "placeholders": { "hours": { @@ -785,7 +785,7 @@ } } }, - "time_daysAgo": "{days} дни преди", + "time_daysAgo": "{days} дни преди", "@time_daysAgo": { "placeholders": { "days": { @@ -793,33 +793,33 @@ } } }, - "time_hour": "час", - "time_hours": "часове", - "time_day": "ден", - "time_days": "дни", - "time_week": "седмица", - "time_weeks": "секти", - "time_month": "месец", - "time_months": "месеци", - "time_minutes": "минути", - "time_allTime": "Всичко време", - "dialog_disconnect": "Прекъсни", - "dialog_disconnectConfirm": "Сигурни ли сте, че искате да се откъснете от това устройство?", - "login_repeaterLogin": "Повторител Вход", - "login_roomLogin": "Вход в стаята", - "login_password": "Парола", - "login_enterPassword": "Въведете парола", - "login_savePassword": "Запази парола", - "login_savePasswordSubtitle": "Паролата ще бъде съхранена сигурно на това устройство.", - "login_repeaterDescription": "Въведете паролата на репитера, за да получите достъп до настройките и статуса.", - "login_roomDescription": "Въведете паролата на стаята, за да получите достъп до настройките и статуса.", - "login_routing": "Маршрутизиране", - "login_routingMode": "Режим на маршрутизиране", - "login_autoUseSavedPath": "Автоматично (използвай запазения път)", - "login_forceFloodMode": "Принуди режим на наводняване", - "login_managePaths": "Управление на пътища", - "login_login": "Вход", - "login_attempt": "Опитвате {current}/{max}", + "time_hour": "час", + "time_hours": "часове", + "time_day": "ден", + "time_days": "дни", + "time_week": "седмица", + "time_weeks": "секти", + "time_month": "месец", + "time_months": "месеци", + "time_minutes": "минути", + "time_allTime": "Всичко време", + "dialog_disconnect": "Прекъсни", + "dialog_disconnectConfirm": "Сигурни ли сте, че искате да се откъснете от това устройство?", + "login_repeaterLogin": "Повторител Вход", + "login_roomLogin": "Вход в стаята", + "login_password": "Парола", + "login_enterPassword": "Въведете парола", + "login_savePassword": "Запази парола", + "login_savePasswordSubtitle": "Паролата ще бъде съхранена сигурно на това устройство.", + "login_repeaterDescription": "Въведете паролата на репитера, за да получите достъп до настройките и статуса.", + "login_roomDescription": "Въведете паролата на стаята, за да получите достъп до настройките и статуса.", + "login_routing": "Маршрутизиране", + "login_routingMode": "Режим на маршрутизиране", + "login_autoUseSavedPath": "Автоматично (използвай запазения път)", + "login_forceFloodMode": "Принуди режим на наводняване", + "login_managePaths": "Управление на пътища", + "login_login": "Вход", + "login_attempt": "Опитвате {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -830,7 +830,7 @@ } } }, - "login_failed": "Входът не беше успешен: {error}", + "login_failed": "Входът не беше успешен: {error}", "@login_failed": { "placeholders": { "error": { @@ -838,10 +838,10 @@ } } }, - "login_failedMessage": "Входът не беше успешен. Или паролата е грешна, или повторителят е недостъпен.", - "common_reload": "Презареди", - "common_clear": "Изчисти", - "path_currentPath": "Текущ път: {path}", + "login_failedMessage": "Входът не беше успешен. Или паролата е грешна, или повторителят е недостъпен.", + "common_reload": "Презареди", + "common_clear": "Изчисти", + "path_currentPath": "Текущ път: {path}", "@path_currentPath": { "placeholders": { "path": { @@ -849,7 +849,7 @@ } } }, - "path_usingHopsPath": "Използване на {count} {count, plural, =1{hop} other{hops}} път", + "path_usingHopsPath": "Използване на {count} {count, plural, =1{hop} other{hops}} път", "@path_usingHopsPath": { "placeholders": { "count": { @@ -857,16 +857,16 @@ } } }, - "path_enterCustomPath": "Въведете персонализиран път", - "path_currentPathLabel": "Текущ път", - "path_hexPrefixInstructions": "Въведете 2-символни шестнадесетични префикси за всеки хоп, разделени с кама.", - "path_hexPrefixExample": "A1,F2,3C (всяка нода използва първия байт от публичния си ключ)", - "path_labelHexPrefixes": "Пътеки (шестнадесетични префикси)", - "path_helperMaxHops": "Максимум 64 скока. Всеки префикс е 2 шестнадесетични знака (1 байт).", - "path_selectFromContacts": "Изберете от контакти:", - "path_noRepeatersFound": "Няма намерени репетитори или сървъри на стаи.", - "path_customPathsRequire": "Персонализираните пътища изискват междинни скокове, които могат да препращат съобщения.", - "path_invalidHexPrefixes": "Невалидни шестнадесетични префикси: {prefixes}", + "path_enterCustomPath": "Въведете персонализиран път", + "path_currentPathLabel": "Текущ път", + "path_hexPrefixInstructions": "Въведете 2-символни шестнадесетични префикси за всеки хоп, разделени с кама.", + "path_hexPrefixExample": "A1,F2,3C (всяка нода използва първия байт от публичния си ключ)", + "path_labelHexPrefixes": "Пътеки (шестнадесетични префикси)", + "path_helperMaxHops": "Максимум 64 скока. Всеки префикс е 2 шестнадесетични знака (1 байт).", + "path_selectFromContacts": "Изберете от контакти:", + "path_noRepeatersFound": "Няма намерени репетитори или сървъри на стаи.", + "path_customPathsRequire": "Персонализираните пътища изискват междинни скокове, които могат да препращат съобщения.", + "path_invalidHexPrefixes": "Невалидни шестнадесетични префикси: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,26 +874,26 @@ } } }, - "path_tooLong": "Пътят е твърде дълъг. Максимум 64 скока са разрешени.", - "path_setPath": "Задайте път", - "repeater_management": "Управление на повторители", - "repeater_managementTools": "Инструменти за управление", - "repeater_status": "Статус", - "repeater_statusSubtitle": "Прегледайте статуса, статистиката и съседните устройства.", - "repeater_telemetry": "Телеметрия", - "repeater_telemetrySubtitle": "Прегледайте телеметрията на сензорите и системните статистики", + "path_tooLong": "Пътят е твърде дълъг. Максимум 64 скока са разрешени.", + "path_setPath": "Задайте път", + "repeater_management": "Управление на повторители", + "repeater_managementTools": "Инструменти за управление", + "repeater_status": "Статус", + "repeater_statusSubtitle": "Прегледайте статуса, статистиката и съседните устройства.", + "repeater_telemetry": "Телеметрия", + "repeater_telemetrySubtitle": "Прегледайте телеметрията на сензорите и системните статистики", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Изпрати команди към ретранслатора", - "repeater_settings": "Настройки", - "repeater_settingsSubtitle": "Конфигурирайте параметрите на репитера", - "repeater_statusTitle": "Статус на повтарянето", - "repeater_routingMode": "Режим на маршрутизиране", - "repeater_autoUseSavedPath": "Автоматично (използвай запазения път)", - "repeater_forceFloodMode": "Принуди режим на наводняване", - "repeater_pathManagement": "Управление на пътища", - "repeater_refresh": "Презареди", - "repeater_statusRequestTimeout": "Заявката за статус премина прекалено дълго.", - "repeater_errorLoadingStatus": "Грешка при зареждане на статуса: {error}", + "repeater_cliSubtitle": "Изпрати команди към ретранслатора", + "repeater_settings": "Настройки", + "repeater_settingsSubtitle": "Конфигурирайте параметрите на репитера", + "repeater_statusTitle": "Статус на повтарянето", + "repeater_routingMode": "Режим на маршрутизиране", + "repeater_autoUseSavedPath": "Автоматично (използвай запазения път)", + "repeater_forceFloodMode": "Принуди режим на наводняване", + "repeater_pathManagement": "Управление на пътища", + "repeater_refresh": "Презареди", + "repeater_statusRequestTimeout": "Заявката за статус премина прекалено дълго.", + "repeater_errorLoadingStatus": "Грешка при зареждане на статуса: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -901,23 +901,23 @@ } } }, - "repeater_systemInformation": "Информация за системата", - "repeater_battery": "Батерия", - "repeater_clockAtLogin": "Часовник (при влизане)", - "repeater_uptime": "Наличност", - "repeater_queueLength": "Дължина на опашката", - "repeater_debugFlags": "Контролни точки за отстраняване на грешки", - "repeater_radioStatistics": "Статистика на радиостанциите", - "repeater_lastRssi": "Последна RSSI", - "repeater_lastSnr": "Последна SNR", - "repeater_noiseFloor": "Ниво на шум", + "repeater_systemInformation": "Информация за системата", + "repeater_battery": "Батерия", + "repeater_clockAtLogin": "Часовник (при влизане)", + "repeater_uptime": "Наличност", + "repeater_queueLength": "Дължина на опашката", + "repeater_debugFlags": "Контролни точки за отстраняване на грешки", + "repeater_radioStatistics": "Статистика на радиостанциите", + "repeater_lastRssi": "Последна RSSI", + "repeater_lastSnr": "Последна SNR", + "repeater_noiseFloor": "Ниво на шум", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", - "repeater_packetStatistics": "Статистика на пакетите", - "repeater_sent": "Изпратено", - "repeater_received": "Получено", - "repeater_duplicates": "Дубликати", - "repeater_daysHoursMinsSecs": "{days} дни {hours}ч {minutes}м {seconds}с", + "repeater_packetStatistics": "Статистика на пакетите", + "repeater_sent": "Изпратено", + "repeater_received": "Получено", + "repeater_duplicates": "Дубликати", + "repeater_daysHoursMinsSecs": "{days} дни {hours}ч {minutes}м {seconds}с", "@repeater_daysHoursMinsSecs": { "placeholders": { "days": { @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Общо: {total}, Наводнение: {flood}, Директно: {direct}", + "repeater_packetTxTotal": "Общо: {total}, Наводнение: {flood}, Директно: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Общо: {total}, Наводнение: {flood}, Директно: {direct}", + "repeater_packetRxTotal": "Общо: {total}, Наводнение: {flood}, Директно: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Поливане: {flood}, Директен: {direct}", + "repeater_duplicatesFloodDirect": "Поливане: {flood}, Директен: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -973,7 +973,7 @@ } } }, - "repeater_duplicatesTotal": "Общо: {total}", + "repeater_duplicatesTotal": "Общо: {total}", "@repeater_duplicatesTotal": { "placeholders": { "total": { @@ -981,37 +981,37 @@ } } }, - "repeater_settingsTitle": "Настройки на повтарящия се елемент", - "repeater_basicSettings": "Основни настройки", - "repeater_repeaterName": "Име на повтарящ се елемент", - "repeater_repeaterNameHelper": "Показване на името на този репитер", - "repeater_adminPassword": "Парола на администратора", - "repeater_adminPasswordHelper": "Пълен достъпен парола", - "repeater_guestPassword": "Парола на гост", - "repeater_guestPasswordHelper": "Достъп с ограничен достъп", - "repeater_radioSettings": "Настройки на радиостанцията", - "repeater_frequencyMhz": "Честота (MHz)", + "repeater_settingsTitle": "Настройки на повтарящия се елемент", + "repeater_basicSettings": "Основни настройки", + "repeater_repeaterName": "Име на повтарящ се елемент", + "repeater_repeaterNameHelper": "Показване на името на този репитер", + "repeater_adminPassword": "Парола на администратора", + "repeater_adminPasswordHelper": "Пълен достъпен парола", + "repeater_guestPassword": "Парола на гост", + "repeater_guestPasswordHelper": "Достъп с ограничен достъп", + "repeater_radioSettings": "Настройки на радиостанцията", + "repeater_frequencyMhz": "Честота (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Power", "repeater_txPowerHelper": "1-30 dBm", - "repeater_bandwidth": "Ширина на честотния спектър", - "repeater_spreadingFactor": "Фактор на разпространение", - "repeater_codingRate": "Такса за кодиране", - "repeater_locationSettings": "Настройки на местоположението", - "repeater_latitude": "Широчина", - "repeater_latitudeHelper": "Десетични градуси (напр. 37.7749)", - "repeater_longitude": "Дължина", - "repeater_longitudeHelper": "Градуси с десетични знаци (напр. -122.4194)", - "repeater_features": "Характеристики", - "repeater_packetForwarding": "Пренасочване на пакети", - "repeater_packetForwardingSubtitle": "Активирайте репитера, за да препращате пакети.", - "repeater_guestAccess": "Достъп за Гост", - "repeater_guestAccessSubtitle": "Разрешете самочетене за гости", - "repeater_privacyMode": "Режим на поверителност", - "repeater_privacyModeSubtitle": "Скриване на име/местоположение в рекламите", - "repeater_advertisementSettings": "Настройки на рекламите", - "repeater_localAdvertInterval": "Местен Рекламен Интервал", - "repeater_localAdvertIntervalMinutes": "{minutes} минути", + "repeater_bandwidth": "Ширина на честотния спектър", + "repeater_spreadingFactor": "Фактор на разпространение", + "repeater_codingRate": "Такса за кодиране", + "repeater_locationSettings": "Настройки на местоположението", + "repeater_latitude": "Широчина", + "repeater_latitudeHelper": "Десетични градуси (напр. 37.7749)", + "repeater_longitude": "Дължина", + "repeater_longitudeHelper": "Градуси с десетични знаци (напр. -122.4194)", + "repeater_features": "Характеристики", + "repeater_packetForwarding": "Пренасочване на пакети", + "repeater_packetForwardingSubtitle": "Активирайте репитера, за да препращате пакети.", + "repeater_guestAccess": "Достъп за Гост", + "repeater_guestAccessSubtitle": "Разрешете самочетене за гости", + "repeater_privacyMode": "Режим на поверителност", + "repeater_privacyModeSubtitle": "Скриване на име/местоположение в рекламите", + "repeater_advertisementSettings": "Настройки на рекламите", + "repeater_localAdvertInterval": "Местен Рекламен Интервал", + "repeater_localAdvertIntervalMinutes": "{minutes} минути", "@repeater_localAdvertIntervalMinutes": { "placeholders": { "minutes": { @@ -1019,8 +1019,8 @@ } } }, - "repeater_floodAdvertInterval": "Интервал на рекламата за наводнения", - "repeater_floodAdvertIntervalHours": "{hours} часа", + "repeater_floodAdvertInterval": "Интервал на рекламата за наводнения", + "repeater_floodAdvertIntervalHours": "{hours} часа", "@repeater_floodAdvertIntervalHours": { "placeholders": { "hours": { @@ -1028,19 +1028,19 @@ } } }, - "repeater_encryptedAdvertInterval": "Криптиран Рекламен Интервал", - "repeater_dangerZone": "Опасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно", - "repeater_rebootRepeater": "БеРестартирай Репитер", - "repeater_rebootRepeaterSubtitle": "Рестартирайте ретранслатора.", - "repeater_rebootRepeaterConfirm": "Сигурни ли сте, че искате да рестартирате този репитер?", - "repeater_regenerateIdentityKey": "Генериране на Ключ за Идентичност", - "repeater_regenerateIdentityKeySubtitle": "Генериране на нова двойка публичен/частен ключ", - "repeater_regenerateIdentityKeyConfirm": "БеТова ще генерира нова идентичност за репитера. Продължете?", - "repeater_eraseFileSystem": "Изтрий Файлова Система", - "repeater_eraseFileSystemSubtitle": "Форматирайте файла на репитера", - "repeater_eraseFileSystemConfirm": "ВНИМАНИЕ: Това ще изтрие всички данни от репетитора. Това не може да бъде отменено!", - "repeater_eraseSerialOnly": "Изтриването е достъпно само през серийния терминал.", - "repeater_commandSent": "Командата е изпратена: {command}", + "repeater_encryptedAdvertInterval": "Криптиран Рекламен Интервал", + "repeater_dangerZone": "Опасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно", + "repeater_rebootRepeater": "БеРестартирай Репитер", + "repeater_rebootRepeaterSubtitle": "Рестартирайте ретранслатора.", + "repeater_rebootRepeaterConfirm": "Сигурни ли сте, че искате да рестартирате този репитер?", + "repeater_regenerateIdentityKey": "Генериране на Ключ за Идентичност", + "repeater_regenerateIdentityKeySubtitle": "Генериране на нова двойка публичен/частен ключ", + "repeater_regenerateIdentityKeyConfirm": "БеТова ще генерира нова идентичност за репитера. Продължете?", + "repeater_eraseFileSystem": "Изтрий Файлова Система", + "repeater_eraseFileSystemSubtitle": "Форматирайте файла на репитера", + "repeater_eraseFileSystemConfirm": "ВНИМАНИЕ: Това ще изтрие всички данни от репетитора. Това не може да бъде отменено!", + "repeater_eraseSerialOnly": "Изтриването е достъпно само през серийния терминал.", + "repeater_commandSent": "Командата е изпратена: {command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1048,7 +1048,7 @@ } } }, - "repeater_errorSendingCommand": "Грешка при изпращане на командата: {error}", + "repeater_errorSendingCommand": "Грешка при изпращане на командата: {error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1056,9 +1056,9 @@ } } }, - "repeater_confirm": "БеПотвърди", - "repeater_settingsSaved": "Настройките са запазени успешно.", - "repeater_errorSavingSettings": "Грешка при запазване на настройките: {error}", + "repeater_confirm": "БеПотвърди", + "repeater_settingsSaved": "Настройките са запазени успешно.", + "repeater_errorSavingSettings": "Грешка при запазване на настройките: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,15 +1066,15 @@ } } }, - "repeater_refreshBasicSettings": "Обнови Основни Настройки", - "repeater_refreshRadioSettings": "Обнови настройките на радиопредавателите", - "repeater_refreshTxPower": "Обнови TX захранване", - "repeater_refreshLocationSettings": "Обнови настройките на местоположението", - "repeater_refreshPacketForwarding": "Обнови пакетно пренасочване", - "repeater_refreshGuestAccess": "Обнови достъп за гости", - "repeater_refreshPrivacyMode": "Обнови Режим на поверителност", - "repeater_refreshAdvertisementSettings": "Обнови Настройки на Рекламата", - "repeater_refreshed": "{label} е обновено", + "repeater_refreshBasicSettings": "Обнови Основни Настройки", + "repeater_refreshRadioSettings": "Обнови настройките на радиопредавателите", + "repeater_refreshTxPower": "Обнови TX захранване", + "repeater_refreshLocationSettings": "Обнови настройките на местоположението", + "repeater_refreshPacketForwarding": "Обнови пакетно пренасочване", + "repeater_refreshGuestAccess": "Обнови достъп за гости", + "repeater_refreshPrivacyMode": "Обнови Режим на поверителност", + "repeater_refreshAdvertisementSettings": "Обнови Настройки на Рекламата", + "repeater_refreshed": "{label} е обновено", "@repeater_refreshed": { "placeholders": { "label": { @@ -1082,7 +1082,7 @@ } } }, - "repeater_errorRefreshing": "Грешка при обновяване на {label}", + "repeater_errorRefreshing": "Грешка при обновяване на {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1090,18 +1090,18 @@ } } }, - "repeater_cliTitle": "Повторител CLI", - "repeater_debugNextCommand": "Поправи Следваща Команда", - "repeater_commandHelp": "Помощ", - "repeater_clearHistory": "Изчисти История", - "repeater_noCommandsSent": "Няма изпратени команди засега.", - "repeater_typeCommandOrUseQuick": "Въведете команда по-долу или използвайте бързи команди", - "repeater_enterCommandHint": "Въведете команда...", - "repeater_previousCommand": "Предходна команда", - "repeater_nextCommand": "Следваща команда", - "repeater_enterCommandFirst": "Въведете първо команда.", - "repeater_cliCommandFrameTitle": "Рамка за команда CLI", - "repeater_cliCommandError": "Грешка: {error}", + "repeater_cliTitle": "Повторител CLI", + "repeater_debugNextCommand": "Поправи Следваща Команда", + "repeater_commandHelp": "Помощ", + "repeater_clearHistory": "Изчисти История", + "repeater_noCommandsSent": "Няма изпратени команди засега.", + "repeater_typeCommandOrUseQuick": "Въведете команда по-долу или използвайте бързи команди", + "repeater_enterCommandHint": "Въведете команда...", + "repeater_previousCommand": "Предходна команда", + "repeater_nextCommand": "Следваща команда", + "repeater_enterCommandFirst": "Въведете първо команда.", + "repeater_cliCommandFrameTitle": "Рамка за команда CLI", + "repeater_cliCommandError": "Грешка: {error}", "@repeater_cliCommandError": { "placeholders": { "error": { @@ -1109,81 +1109,81 @@ } } }, - "repeater_cliQuickGetName": "Получи име", - "repeater_cliQuickGetRadio": "Получи радио", - "repeater_cliQuickGetTx": "Получи TX", - "repeater_cliQuickNeighbors": "Съседи", - "repeater_cliQuickVersion": "Версия", - "repeater_cliQuickAdvertise": "Рекламирай", - "repeater_cliQuickClock": "Часовник", - "repeater_cliHelpAdvert": "Изпраща рекламен пакет", - "repeater_cliHelpReboot": "Рестартира устройството. (Забележка, може да получите 'Timeout', което е нормално)", - "repeater_cliHelpClock": "Показва текущото време според часовника на всяко устройство.", - "repeater_cliHelpPassword": "Задава се нова администраторска парола за устройството.", - "repeater_cliHelpVersion": "Показва версията на устройството и датата на компилация на фърмуера.", - "repeater_cliHelpClearStats": "Рестартира различни статистики броячи до нула.", - "repeater_cliHelpSetAf": "Задава времето на фактора.", - "repeater_cliHelpSetTx": "Задава се мощността на предаване на LoRa в dBm (отчитане спрямо референтно ниво).", - "repeater_cliHelpSetRepeat": "Активира или деактивира ролята на репитера за този възел.", - "repeater_cliHelpSetAllowReadOnly": "(Сървър на стаята) Ако е \"включено\", тогава влизането с празен парола ще бъде разрешено, но не може да публикува в стаята (само четене).", - "repeater_cliHelpSetFloodMax": "Задава максималния брой хопове на входящ пакет за заливване (ако >= max, пакетът не се предава).", - "repeater_cliHelpSetIntThresh": "Задава праг на интерференцията (в dB). По подразбиране е 14. Задайте на 0, за да деактивирате откриването на интерференция на каналите.", - "repeater_cliHelpSetAgcResetInterval": "Задава интервала за рестартиране на Автоматичния контролер за усилване. Задайте на 0, за да го деактивирате.", - "repeater_cliHelpSetMultiAcks": "Активира или деактивира функцията 'двойни ACKs'.", - "repeater_cliHelpSetAdvertInterval": "Задава интервала на таймера в минути за изпращане на локален (безпроблемен) рекламен пакет. Задайте на 0, за да го деактивирате.", - "repeater_cliHelpSetFloodAdvertInterval": "Задава интервала на таймера в часове за изпращане на пакет с реклама за наводнение. Задайте на 0, за да го деактивирате.", - "repeater_cliHelpSetGuestPassword": "Задава/обновява паролата на гост. (за повторители, гостите могат да изпращат заявката \"Get Stats\")", - "repeater_cliHelpSetName": "Задава име на обявата.", - "repeater_cliHelpSetLat": "Задава географска ширина на картата с реклами (в десетими градуси).", - "repeater_cliHelpSetLon": "Задава обхвата на дължина на картата на рекламата. (десетими градуса)", - "repeater_cliHelpSetRadio": "Задава напълно нови радио параметри и ги запазва в предпочитанията. Изисква команда \"рестарт\", за да бъдат приложени.", - "repeater_cliHelpSetRxDelay": "Зададени (експериментални) основи (трябва да е > 1 за ефект) за прилагане на леко забавяне на получените пакети, базирано на силата на сигнала/резултата. Задайте на 0, за да го деактивирате.", - "repeater_cliHelpSetTxDelay": "Задава фактор, умножен по времето на въздух за пакет в режим на наводнение и с рандомизирана система за слотове, за да забави предаването му (за да намали вероятността от сблъсъци).", - "repeater_cliHelpSetDirectTxDelay": "Същото като txdelay, но за прилагане на случайна забавяне при препращането на пакети в директен режим.", - "repeater_cliHelpSetBridgeEnabled": "Активиране/Деактивиране на мост.", - "repeater_cliHelpSetBridgeDelay": "Задайте забавяне преди преизпращане на пакети.", - "repeater_cliHelpSetBridgeSource": "Изберете дали мостът ще предава препратени пакети или получени пакети.", - "repeater_cliHelpSetBridgeBaud": "Задайте скоростта на предаване за RS232 мостовете.", - "repeater_cliHelpSetBridgeSecret": "Задайте тайна за мостовете на EspNow.", - "repeater_cliHelpSetAdcMultiplier": "Задава персонализиран коефициент за коригиране на отчетеното напрежение на батерията (поддържа се само на избрани дъски).", - "repeater_cliHelpTempRadio": "Задава временни радио параметри за посочения брой минути, връщайки се към оригиналните радио параметри след това. (не се запазва в предпочитанията).", - "repeater_cliHelpSetPerm": "Променя ACL. Премахва съответстващия запис (по префикс на pubkey), ако \"permissions\" е нула. Добавя нов запис, ако pubkey-hex е с пълна дължина и не е в ACL. Актуализира запис, съответстващ на префикса на pubkey. Битовете за разрешения варират според ролята на firmware, но долните 2 бита са: 0 (Гост), 1 (Само четене), 2 (Четене и писане), 3 (Администратор).", - "repeater_cliHelpGetBridgeType": "Получава тип мост none, rs232, espnow", - "repeater_cliHelpLogStart": "Започва записване на пакети във файловата система.", - "repeater_cliHelpLogStop": "Спира записването на пакети във файловата система.", - "repeater_cliHelpLogErase": "Изтрива логовете от пакета от файловата система.", - "repeater_cliHelpNeighbors": "Показва списък с други възли на репитер, чути чрез нулев хоп реклами. Всяка линия е id-prefix-hex:timestamp:snr-times-4", - "repeater_cliHelpNeighborRemove": "Премахва първия съвпадащ запис (по префикси на pubkey (hex)) от списъка с съседи.", - "repeater_cliHelpRegion": "(сериен режим) Изброява всички дефинирани региони и текущите разрешения за наводнения.", - "repeater_cliHelpRegionLoad": "Забележка: това е специално многокомандно извикване. Всяка следваща команда е име на регион (отстъпен с интервали, за да се покаже йерархията, с минимум един интервал). Завършва се чрез изпращане на празен ред/команда.", - "repeater_cliHelpRegionGet": "Търси регион с даден префикс на име (или \"\" за глобалния обхват). Отговаря с \"-> region-name (parent-name) 'F'\"", - "repeater_cliHelpRegionPut": "Добавя или актуализира дефиниция на регион с дадено име.", - "repeater_cliHelpRegionRemove": "Премахва дефиниция на регион с дадено име. (трябва да съвпада точно и да няма подрегиони)", - "repeater_cliHelpRegionAllowf": "Задава 'Потоп' разрешение за посочената област. ('' за глобалния/стария обхват)", - "repeater_cliHelpRegionDenyf": "Премахва разрешението \"F\"лоуд за посочената област. (ЗАБЕЛЕЖКА: в момента не се препоръчва да се използва на глобалното/старото ниво!! )", - "repeater_cliHelpRegionHome": "Отговаря с текущия 'home' регион. (Забележка: не е приложена никъде, запазена за бъдещи нужди).", - "repeater_cliHelpRegionHomeSet": "Задава 'домашно' региона.", - "repeater_cliHelpRegionSave": "Запазва списъка/картата с региони в съхранение.", - "repeater_cliHelpGps": "Показва статуса на GPS. Когато GPS е изключен, отговаря само с \"off\", ако е включен отговаря с \"on\", статус, fix, брой на сателити.", - "repeater_cliHelpGpsOnOff": "Включва/Изключва GPS захранването.", - "repeater_cliHelpGpsSync": "Синхронизира времето на възела с GPS часовника.", - "repeater_cliHelpGpsSetLoc": "Задава координатите на нодата по GPS и запазва предпочитанията.", - "repeater_cliHelpGpsAdvert": "Предоставя конфигурацията на рекламата за местоположението на възела:\n- none: не включвайте местоположението в рекламите\n- share: споделяйте gps местоположението (от SensorManager)\n- prefs: рекламирайте местоположението, съхранено в предпочитанията", - "repeater_cliHelpGpsAdvertSet": "Задава конфигурация на обявите за местоположение.", - "repeater_commandsListTitle": "Списък с команди", - "repeater_commandsListNote": "ЗАБЕЛЕЖКА: за различните команди \"set ...\", също така съществува команда \"get ...\".", - "repeater_general": "Общо", - "repeater_settingsCategory": "Настройки", - "repeater_bridge": "Мост", - "repeater_logging": "Логване", - "repeater_neighborsRepeaterOnly": "Съседи (Само за повтаряне)", - "repeater_regionManagementRepeaterOnly": "Управление на региони (Само за повтарящ се канал)", - "repeater_regionNote": "Регионните команди са въведени, за да управляват дефинициите и разрешенията на регионите.", - "repeater_gpsManagement": "Управление на GPS", - "repeater_gpsNote": "GPS командата е въведена, за да управлява теми, свързани с местоположението.", - "telemetry_receivedData": "Получени телеметрични данни", - "telemetry_requestTimeout": "Заявката за телеметрия е прекъсната.", - "telemetry_errorLoading": "Грешка при зареждане на телеметрията: {error}", + "repeater_cliQuickGetName": "Получи име", + "repeater_cliQuickGetRadio": "Получи радио", + "repeater_cliQuickGetTx": "Получи TX", + "repeater_cliQuickNeighbors": "Съседи", + "repeater_cliQuickVersion": "Версия", + "repeater_cliQuickAdvertise": "Рекламирай", + "repeater_cliQuickClock": "Часовник", + "repeater_cliHelpAdvert": "Изпраща рекламен пакет", + "repeater_cliHelpReboot": "Рестартира устройството. (Забележка, може да получите 'Timeout', което е нормално)", + "repeater_cliHelpClock": "Показва текущото време според часовника на всяко устройство.", + "repeater_cliHelpPassword": "Задава се нова администраторска парола за устройството.", + "repeater_cliHelpVersion": "Показва версията на устройството и датата на компилация на фърмуера.", + "repeater_cliHelpClearStats": "Рестартира различни статистики броячи до нула.", + "repeater_cliHelpSetAf": "Задава времето на фактора.", + "repeater_cliHelpSetTx": "Задава се мощността на предаване на LoRa в dBm (отчитане спрямо референтно ниво).", + "repeater_cliHelpSetRepeat": "Активира или деактивира ролята на репитера за този възел.", + "repeater_cliHelpSetAllowReadOnly": "(Сървър на стаята) Ако е \"включено\", тогава влизането с празен парола ще бъде разрешено, но не може да публикува в стаята (само четене).", + "repeater_cliHelpSetFloodMax": "Задава максималния брой хопове на входящ пакет за заливване (ако >= max, пакетът не се предава).", + "repeater_cliHelpSetIntThresh": "Задава праг на интерференцията (в dB). По подразбиране е 14. Задайте на 0, за да деактивирате откриването на интерференция на каналите.", + "repeater_cliHelpSetAgcResetInterval": "Задава интервала за рестартиране на Автоматичния контролер за усилване. Задайте на 0, за да го деактивирате.", + "repeater_cliHelpSetMultiAcks": "Активира или деактивира функцията 'двойни ACKs'.", + "repeater_cliHelpSetAdvertInterval": "Задава интервала на таймера в минути за изпращане на локален (безпроблемен) рекламен пакет. Задайте на 0, за да го деактивирате.", + "repeater_cliHelpSetFloodAdvertInterval": "Задава интервала на таймера в часове за изпращане на пакет с реклама за наводнение. Задайте на 0, за да го деактивирате.", + "repeater_cliHelpSetGuestPassword": "Задава/обновява паролата на гост. (за повторители, гостите могат да изпращат заявката \"Get Stats\")", + "repeater_cliHelpSetName": "Задава име на обявата.", + "repeater_cliHelpSetLat": "Задава географска ширина на картата с реклами (в десетими градуси).", + "repeater_cliHelpSetLon": "Задава обхвата на дължина на картата на рекламата. (десетими градуса)", + "repeater_cliHelpSetRadio": "Задава напълно нови радио параметри и ги запазва в предпочитанията. Изисква команда \"рестарт\", за да бъдат приложени.", + "repeater_cliHelpSetRxDelay": "Зададени (експериментални) основи (трябва да е > 1 за ефект) за прилагане на леко забавяне на получените пакети, базирано на силата на сигнала/резултата. Задайте на 0, за да го деактивирате.", + "repeater_cliHelpSetTxDelay": "Задава фактор, умножен по времето на въздух за пакет в режим на наводнение и с рандомизирана система за слотове, за да забави предаването му (за да намали вероятността от сблъсъци).", + "repeater_cliHelpSetDirectTxDelay": "Същото като txdelay, но за прилагане на случайна забавяне при препращането на пакети в директен режим.", + "repeater_cliHelpSetBridgeEnabled": "Активиране/Деактивиране на мост.", + "repeater_cliHelpSetBridgeDelay": "Задайте забавяне преди преизпращане на пакети.", + "repeater_cliHelpSetBridgeSource": "Изберете дали мостът ще предава препратени пакети или получени пакети.", + "repeater_cliHelpSetBridgeBaud": "Задайте скоростта на предаване за RS232 мостовете.", + "repeater_cliHelpSetBridgeSecret": "Задайте тайна за мостовете на EspNow.", + "repeater_cliHelpSetAdcMultiplier": "Задава персонализиран коефициент за коригиране на отчетеното напрежение на батерията (поддържа се само на избрани дъски).", + "repeater_cliHelpTempRadio": "Задава временни радио параметри за посочения брой минути, връщайки се към оригиналните радио параметри след това. (не се запазва в предпочитанията).", + "repeater_cliHelpSetPerm": "Променя ACL. Премахва съответстващия запис (по префикс на pubkey), ако \"permissions\" е нула. Добавя нов запис, ако pubkey-hex е с пълна дължина и не е в ACL. Актуализира запис, съответстващ на префикса на pubkey. Битовете за разрешения варират според ролята на firmware, но долните 2 бита са: 0 (Гост), 1 (Само четене), 2 (Четене и писане), 3 (Администратор).", + "repeater_cliHelpGetBridgeType": "Получава тип мост none, rs232, espnow", + "repeater_cliHelpLogStart": "Започва записване на пакети във файловата система.", + "repeater_cliHelpLogStop": "Спира записването на пакети във файловата система.", + "repeater_cliHelpLogErase": "Изтрива логовете от пакета от файловата система.", + "repeater_cliHelpNeighbors": "Показва списък с други възли на репитер, чути чрез нулев хоп реклами. Всяка линия е id-prefix-hex:timestamp:snr-times-4", + "repeater_cliHelpNeighborRemove": "Премахва първия съвпадащ запис (по префикси на pubkey (hex)) от списъка с съседи.", + "repeater_cliHelpRegion": "(сериен режим) Изброява всички дефинирани региони и текущите разрешения за наводнения.", + "repeater_cliHelpRegionLoad": "Забележка: това е специално многокомандно извикване. Всяка следваща команда е име на регион (отстъпен с интервали, за да се покаже йерархията, с минимум един интервал). Завършва се чрез изпращане на празен ред/команда.", + "repeater_cliHelpRegionGet": "Търси регион с даден префикс на име (или \"\" за глобалния обхват). Отговаря с \"-> region-name (parent-name) 'F'\"", + "repeater_cliHelpRegionPut": "Добавя или актуализира дефиниция на регион с дадено име.", + "repeater_cliHelpRegionRemove": "Премахва дефиниция на регион с дадено име. (трябва да съвпада точно и да няма подрегиони)", + "repeater_cliHelpRegionAllowf": "Задава 'Потоп' разрешение за посочената област. ('' за глобалния/стария обхват)", + "repeater_cliHelpRegionDenyf": "Премахва разрешението \"F\"лоуд за посочената област. (ЗАБЕЛЕЖКА: в момента не се препоръчва да се използва на глобалното/старото ниво!! )", + "repeater_cliHelpRegionHome": "Отговаря с текущия 'home' регион. (Забележка: не е приложена никъде, запазена за бъдещи нужди).", + "repeater_cliHelpRegionHomeSet": "Задава 'домашно' региона.", + "repeater_cliHelpRegionSave": "Запазва списъка/картата с региони в съхранение.", + "repeater_cliHelpGps": "Показва статуса на GPS. Когато GPS е изключен, отговаря само с \"off\", ако е включен отговаря с \"on\", статус, fix, брой на сателити.", + "repeater_cliHelpGpsOnOff": "Включва/Изключва GPS захранването.", + "repeater_cliHelpGpsSync": "Синхронизира времето на възела с GPS часовника.", + "repeater_cliHelpGpsSetLoc": "Задава координатите на нодата по GPS и запазва предпочитанията.", + "repeater_cliHelpGpsAdvert": "Предоставя конфигурацията на рекламата за местоположението на възела:\n- none: не включвайте местоположението в рекламите\n- share: споделяйте gps местоположението (от SensorManager)\n- prefs: рекламирайте местоположението, съхранено в предпочитанията", + "repeater_cliHelpGpsAdvertSet": "Задава конфигурация на обявите за местоположение.", + "repeater_commandsListTitle": "Списък с команди", + "repeater_commandsListNote": "ЗАБЕЛЕЖКА: за различните команди \"set ...\", също така съществува команда \"get ...\".", + "repeater_general": "Общо", + "repeater_settingsCategory": "Настройки", + "repeater_bridge": "Мост", + "repeater_logging": "Логване", + "repeater_neighborsRepeaterOnly": "Съседи (Само за повтаряне)", + "repeater_regionManagementRepeaterOnly": "Управление на региони (Само за повтарящ се канал)", + "repeater_regionNote": "Регионните команди са въведени, за да управляват дефинициите и разрешенията на регионите.", + "repeater_gpsManagement": "Управление на GPS", + "repeater_gpsNote": "GPS командата е въведена, за да управлява теми, свързани с местоположението.", + "telemetry_receivedData": "Получени телеметрични данни", + "telemetry_requestTimeout": "Заявката за телеметрия е прекъсната.", + "telemetry_errorLoading": "Грешка при зареждане на телеметрията: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1191,8 +1191,8 @@ } } }, - "telemetry_noData": "Няма налични данни за телеметрията.", - "telemetry_channelTitle": "Канал {channel}", + "telemetry_noData": "Няма налични данни за телеметрията.", + "telemetry_channelTitle": "Канал {channel}", "@telemetry_channelTitle": { "placeholders": { "channel": { @@ -1200,11 +1200,11 @@ } } }, - "telemetry_batteryLabel": "Батерия", - "telemetry_voltageLabel": "Напрежение", - "telemetry_mcuTemperatureLabel": "Температура на MCU", - "telemetry_temperatureLabel": "Температура", - "telemetry_currentLabel": "Текущо", + "telemetry_batteryLabel": "Батерия", + "telemetry_voltageLabel": "Напрежение", + "telemetry_mcuTemperatureLabel": "Температура на MCU", + "telemetry_temperatureLabel": "Температура", + "telemetry_currentLabel": "Текущо", "telemetry_batteryValue": "{percent}% / {volts}V", "@telemetry_batteryValue": { "placeholders": { @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1243,18 +1243,18 @@ } } }, - "channelPath_title": "Пътеки пъзел", - "channelPath_viewMap": "Преглед на картата", - "channelPath_otherObservedPaths": "Други Наблюдавани Пътища", - "channelPath_repeaterHops": "Повтарящи се скокове", - "channelPath_noHopDetails": "Детайлите за пакета не са предоставени.", - "channelPath_messageDetails": "Подробности на съобщението", - "channelPath_senderLabel": "Изпращач", - "channelPath_timeLabel": "Време", - "channelPath_repeatsLabel": "Повтаря", - "channelPath_pathLabel": "Път {index}", - "channelPath_observedLabel": "Наблюдавано", - "channelPath_observedPathTitle": "Наблюдаван път {index} • {hops}", + "channelPath_title": "Пътеки пъзел", + "channelPath_viewMap": "Преглед на картата", + "channelPath_otherObservedPaths": "Други Наблюдавани Пътища", + "channelPath_repeaterHops": "Повтарящи се скокове", + "channelPath_noHopDetails": "Детайлите за пакета не са предоставени.", + "channelPath_messageDetails": "Подробности на съобщението", + "channelPath_senderLabel": "Изпращач", + "channelPath_timeLabel": "Време", + "channelPath_repeatsLabel": "Повтаря", + "channelPath_pathLabel": "Път {index}", + "channelPath_observedLabel": "Наблюдавано", + "channelPath_observedPathTitle": "Наблюдаван път {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "Няма данни за местоположение.", + "channelPath_noLocationData": "Няма данни за местоположение.", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1288,10 +1288,10 @@ } } }, - "channelPath_unknownPath": "Неизвестно", - "channelPath_floodPath": "Поливане", - "channelPath_directPath": "Директно", - "channelPath_observedZeroOf": "0 от {total} скокове", + "channelPath_unknownPath": "Неизвестно", + "channelPath_floodPath": "Поливане", + "channelPath_directPath": "Директно", + "channelPath_observedZeroOf": "0 от {total} скокове", "@channelPath_observedZeroOf": { "placeholders": { "total": { @@ -1299,7 +1299,7 @@ } } }, - "channelPath_observedSomeOf": "{observed} от {total} скокове", + "channelPath_observedSomeOf": "{observed} от {total} скокове", "@channelPath_observedSomeOf": { "placeholders": { "observed": { @@ -1310,9 +1310,9 @@ } } }, - "channelPath_mapTitle": "Карта на пътя", - "channelPath_noRepeaterLocations": "Няма налични местоположения на повторителите за този път.", - "channelPath_primaryPath": "Път {index} (Основен)", + "channelPath_mapTitle": "Карта на пътя", + "channelPath_noRepeaterLocations": "Няма налични местоположения на повторителите за този път.", + "channelPath_primaryPath": "Път {index} (Основен)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1327,9 +1327,9 @@ } } }, - "channelPath_pathLabelTitle": "Пътекино", - "channelPath_observedPathHeader": "Наблюдаван път", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_pathLabelTitle": "Пътекино", + "channelPath_observedPathHeader": "Наблюдаван път", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,20 +1340,20 @@ } } }, - "channelPath_noHopDetailsAvailable": "Няма налични детайли за този пакет.", - "channelPath_unknownRepeater": "Неизвестен повторител", - "listFilter_tooltip": "Филтрирайте и сортирайте", - "listFilter_sortBy": "Сортирай по", - "listFilter_latestMessages": "Последни съобщения", - "listFilter_heardRecently": "Слушано е наскоро", + "channelPath_noHopDetailsAvailable": "Няма налични детайли за този пакет.", + "channelPath_unknownRepeater": "Неизвестен повторител", + "listFilter_tooltip": "Филтрирайте и сортирайте", + "listFilter_sortBy": "Сортирай по", + "listFilter_latestMessages": "Последни съобщения", + "listFilter_heardRecently": "Слушано е наскоро", "listFilter_az": "A-Z", - "listFilter_filters": "Филтри", - "listFilter_all": "Всички", - "listFilter_users": "Потребители", - "listFilter_repeaters": "Повторители", - "listFilter_roomServers": "Сървъри на стая", - "listFilter_unreadOnly": "Само непрочетените", - "listFilter_newGroup": "Нова група", + "listFilter_filters": "Филтри", + "listFilter_all": "Всички", + "listFilter_users": "Потребители", + "listFilter_repeaters": "Повторители", + "listFilter_roomServers": "Сървъри на стая", + "listFilter_unreadOnly": "Само непрочетените", + "listFilter_newGroup": "Нова група", "@neighbors_errorLoading": { "placeholders": { "error": { @@ -1361,25 +1361,25 @@ } } }, - "repeater_neighborsSubtitle": "Преглед на съседни възли с нулев скок.", - "repeater_neighbors": "Съседи", - "neighbors_receivedData": "Получени данни за съседи", - "neighbors_requestTimedOut": "Съседите поискат изтичане на време.", - "neighbors_errorLoading": "Грешка при зареждане на съседи: {error}", - "neighbors_repeatersNeighbors": "Повторители Съседи", - "neighbors_noData": "Няма налични данни за съседи.", - "channels_createPrivateChannel": "Създай Частен Канал", - "channels_joinPrivateChannel": "Присъедини се към Частен Канал", - "channels_createPrivateChannelDesc": "Защитено с таен ключ.", - "channels_joinPrivateChannelDesc": "Ръчно въведете таен ключ.", - "channels_joinPublicChannel": "Присъединете се към Публичния канал", - "channels_joinPublicChannelDesc": "Всеки може да се присъедини към този канал.", - "channels_joinHashtagChannel": "Присъедини се към Хаштаг Канал", - "channels_joinHashtagChannelDesc": "Всеки може да се присъедини към хаштаговите канали.", - "channels_scanQrCode": "Сканирайте QR код", - "channels_scanQrCodeComingSoon": "Ще излезе скоро", - "channels_enterHashtag": "Въведете хаштаг", - "channels_hashtagHint": "напр. #отбор", + "repeater_neighborsSubtitle": "Преглед на съседни възли с нулев скок.", + "repeater_neighbors": "Съседи", + "neighbors_receivedData": "Получени данни за съседи", + "neighbors_requestTimedOut": "Съседите поискат изтичане на време.", + "neighbors_errorLoading": "Грешка при зареждане на съседи: {error}", + "neighbors_repeatersNeighbors": "Повторители Съседи", + "neighbors_noData": "Няма налични данни за съседи.", + "channels_createPrivateChannel": "Създай Частен Канал", + "channels_joinPrivateChannel": "Присъедини се към Частен Канал", + "channels_createPrivateChannelDesc": "Защитено с таен ключ.", + "channels_joinPrivateChannelDesc": "Ръчно въведете таен ключ.", + "channels_joinPublicChannel": "Присъединете се към Публичния канал", + "channels_joinPublicChannelDesc": "Всеки може да се присъедини към този канал.", + "channels_joinHashtagChannel": "Присъедини се към Хаштаг Канал", + "channels_joinHashtagChannelDesc": "Всеки може да се присъедини към хаштаговите канали.", + "channels_scanQrCode": "Сканирайте QR код", + "channels_scanQrCodeComingSoon": "Ще излезе скоро", + "channels_enterHashtag": "Въведете хаштаг", + "channels_hashtagHint": "напр. #отбор", "@neighbors_unknownContact": { "placeholders": { "pubkey": { @@ -1394,14 +1394,14 @@ } } }, - "neighbors_heardAgo": "Слушано преди {time}.", - "neighbors_unknownContact": "Неизвестна {pubkey}", - "settings_locationIntervalSec": "Интервал за GPS (Секунди)", - "settings_locationGPSEnable": "Активиране на GPS", - "settings_locationGPSEnableSubtitle": "Активирайте автоматичното актуализиране на местоположението чрез GPS.", - "settings_locationIntervalInvalid": "Интервалът трябва да бъде поне 60 секунди и по-малко от 86400 секунди.", - "room_management": "Управление на сървъра за стая", - "contacts_manageRoom": "Управление на сървър за стая", + "neighbors_heardAgo": "Слушано преди {time}.", + "neighbors_unknownContact": "Неизвестна {pubkey}", + "settings_locationIntervalSec": "Интервал за GPS (Секунди)", + "settings_locationGPSEnable": "Активиране на GPS", + "settings_locationGPSEnableSubtitle": "Активирайте автоматичното актуализиране на местоположението чрез GPS.", + "settings_locationIntervalInvalid": "Интервалът трябва да бъде поне 60 секунди и по-малко от 86400 секунди.", + "room_management": "Управление на сървъра за стая", + "contacts_manageRoom": "Управление на сървър за стая", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1458,36 +1458,36 @@ } } }, - "community_title": "Общност", - "common_ok": "Добре", - "community_createDesc": "Създайте нова общност и я споделете чрез QR код.", - "community_create": "Създай общност", - "community_joinTitle": "Присъедини се към общността", - "community_joinConfirmation": "Искате ли да се присъедините към общността \"{name}\"?", - "community_scanQr": "Сканирайте QR кода на общността", - "community_scanInstructions": "Насочете камерата към QR код на общността", - "community_showQr": "Покажи QR код", - "community_publicChannel": "Обществено общност", - "community_hashtagChannel": "Хаштаг на общността", - "community_name": "Име на общността", - "community_enterName": "Въведете име на общността", - "community_created": "Общността \"{name}\" е създадена", - "community_joined": "Присъединено общност \"{name}\"", - "community_qrTitle": "Споделяне в общността", - "community_join": "Присъедини се", - "community_qrInstructions": "Сканирайте този QR код, за да се присъедините към {name}.", - "community_hashtagPrivacyHint": "Хаштаг каналите на общността са достъпни само за членове на общността", - "community_invalidQrCode": "Невалиден QR код на общността", - "community_alreadyMember": "Вече съм член", - "community_alreadyMemberMessage": "Вие вече сте член на \"{name}\".", - "community_addPublicChannel": "Добави публичен общностен канал", - "community_addPublicChannelHint": "Автоматично добавете публичния канал за тази общност.", - "community_noCommunities": "Няма присъединени общности още.", - "community_scanOrCreate": "Сканирайте QR код или създайте общност, за да започнете.", - "community_manageCommunities": "Управление на общности", - "community_delete": "Напусни общността", - "community_deleteConfirm": "Напускате \"{name}\"?", - "community_deleteChannelsWarning": "Това ще изтрие също {count} канал(а) и техните съобщения.", + "community_title": "Общност", + "common_ok": "Добре", + "community_createDesc": "Създайте нова общност и я споделете чрез QR код.", + "community_create": "Създай общност", + "community_joinTitle": "Присъедини се към общността", + "community_joinConfirmation": "Искате ли да се присъедините към общността \"{name}\"?", + "community_scanQr": "Сканирайте QR кода на общността", + "community_scanInstructions": "Насочете камерата към QR код на общността", + "community_showQr": "Покажи QR код", + "community_publicChannel": "Обществено общност", + "community_hashtagChannel": "Хаштаг на общността", + "community_name": "Име на общността", + "community_enterName": "Въведете име на общността", + "community_created": "Общността \"{name}\" е създадена", + "community_joined": "Присъединено общност \"{name}\"", + "community_qrTitle": "Споделяне в общността", + "community_join": "Присъедини се", + "community_qrInstructions": "Сканирайте този QR код, за да се присъедините към {name}.", + "community_hashtagPrivacyHint": "Хаштаг каналите на общността са достъпни само за членове на общността", + "community_invalidQrCode": "Невалиден QR код на общността", + "community_alreadyMember": "Вече съм член", + "community_alreadyMemberMessage": "Вие вече сте член на \"{name}\".", + "community_addPublicChannel": "Добави публичен общностен канал", + "community_addPublicChannelHint": "Автоматично добавете публичния канал за тази общност.", + "community_noCommunities": "Няма присъединени общности още.", + "community_scanOrCreate": "Сканирайте QR код или създайте общност, за да започнете.", + "community_manageCommunities": "Управление на общности", + "community_delete": "Напусни общността", + "community_deleteConfirm": "Напускате \"{name}\"?", + "community_deleteChannelsWarning": "Това ще изтрие също {count} канал(а) и техните съобщения.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,15 +1495,15 @@ } } }, - "community_deleted": "Остави общността \"{name}\"", - "community_addHashtagChannel": "Добави общностен хаштаг", - "community_addHashtagChannelDesc": "Добавете хаштаг канал за тази общност", - "community_selectCommunity": "Изберете общност", - "community_regularHashtag": "Обикновен хаштаг", - "community_regularHashtagDesc": "Общ хаштаг (всеки може да се присъедини)", - "community_communityHashtag": "Общностен хаштаг", - "community_communityHashtagDesc": "Само за членове на общността", - "community_forCommunity": "За {name}", + "community_deleted": "Остави общността \"{name}\"", + "community_addHashtagChannel": "Добави общностен хаштаг", + "community_addHashtagChannelDesc": "Добавете хаштаг канал за тази общност", + "community_selectCommunity": "Изберете общност", + "community_regularHashtag": "Обикновен хаштаг", + "community_regularHashtagDesc": "Общ хаштаг (всеки може да се присъедини)", + "community_communityHashtag": "Общностен хаштаг", + "community_communityHashtagDesc": "Само за членове на общността", + "community_forCommunity": "За {name}", "@community_regenerateSecretConfirm": { "placeholders": { "name": { @@ -1532,13 +1532,13 @@ } } }, - "community_regenerateSecretConfirm": "Регенерация на секретния ключ за \"{name}\"? Всички членове ще трябва да сканират новия QR код, за да продължат комуникацията.", - "community_secretRegenerated": "Секретно презареждане за \"{name}\"", - "community_regenerateSecret": "Регенерейрай секрет", - "community_regenerate": "Регенерация", - "community_updateSecret": "Актуализирай тайна", - "community_scanToUpdateSecret": "Сканьорвайте новия QR код, за да актуализирате секрета за \"{name}\"", - "community_secretUpdated": "Секретно обновено за \"{name}\"", + "community_regenerateSecretConfirm": "Регенерация на секретния ключ за \"{name}\"? Всички членове ще трябва да сканират новия QR код, за да продължат комуникацията.", + "community_secretRegenerated": "Секретно презареждане за \"{name}\"", + "community_regenerateSecret": "Регенерейрай секрет", + "community_regenerate": "Регенерация", + "community_updateSecret": "Актуализирай тайна", + "community_scanToUpdateSecret": "Сканьорвайте новия QR код, за да актуализирате секрета за \"{name}\"", + "community_secretUpdated": "Секретно обновено за \"{name}\"", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1546,82 +1546,82 @@ } } }, - "pathTrace_you": "Вие", - "pathTrace_notAvailable": "Пътека за проследяване не е достъпна.", - "contacts_pathTrace": "Пътен проследяване", - "pathTrace_refreshTooltip": "Обнови Path Trace.", - "pathTrace_failed": "Пътят за проследяване не успя.", - "contacts_repeaterPing": "Пингване на повторителя", - "contacts_repeaterPathTrace": "Трасировка до повторител", - "contacts_ping": "Пинг", - "contacts_chatTraceRoute": "Трасиране на път", - "contacts_roomPathTrace": "Трасиране на път до съ", - "contacts_roomPing": "Ping на сървъра на стаята", - "contacts_pathTraceTo": "Проследи маршрут към {name}", - "appSettings_languageUk": "Украински", - "contacts_clipboardEmpty": "Клипборда е празна.", - "contacts_invalidAdvertFormat": "Невалидни данни за контакт", - "appSettings_languageRu": "Руски", - "appSettings_enableMessageTracing": "Разрешаване на проследяване на съобщения", - "appSettings_enableMessageTracingSubtitle": "Показване на подробни метаданни за маршрутизация и синхронизация за съобщения", - "contacts_contactImported": "Контактът е импортиран.", - "contacts_zeroHopAdvert": "Реклама без скок", - "contacts_contactImportFailed": "Контактът не е успешно импортиран.", - "contacts_floodAdvert": "Потопна реклама", - "contacts_addContactFromClipboard": "Добави контакт от клипборда", - "contacts_copyAdvertToClipboard": "Копирай обявата в клипборда", - "contacts_ShareContact": "Копирай контакт в клипборда", - "contacts_ShareContactZeroHop": "Сподели контакт чрез обява", - "contacts_contactAdvertCopied": "Рекламата е копирана в клипборда.", - "contacts_zeroHopContactAdvertFailed": "Неуспешно изпращане на контакт.", - "contacts_zeroHopContactAdvertSent": "Изпратен контакт по обява.", - "contacts_contactAdvertCopyFailed": "Копирането на обявата в клипборда не успя.", - "notification_activityTitle": "Активност на MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{съобщение} other{съобщения}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{съобщение в канал} other{съобщения в канали}}", - "notification_newNodesCount": "{count} {count, plural, =1{нов възел} other{нови възли}}", - "notification_newTypeDiscovered": "Открит нов {contactType}", - "notification_receivedNewMessage": "Получено ново съобщение", - "settings_gpxExportContactsSubtitle": "Експортира спътници с местоположение в GPX файл.", - "settings_gpxExportRepeatersSubtitle": "Изпраща повторители / roomserver с местоположение в GPX файл.", - "settings_gpxExportAll": "Експортирай всички контакти в GPX", - "settings_gpxExportAllSubtitle": "Експортира всички контакти с местоположение в файл GPX.", - "settings_gpxExportRepeaters": "Експортиране на повтарящи се устройства / сървър на стаята до GPX", - "settings_gpxExportContacts": "Експортирай спътници към GPX", - "settings_gpxExportSuccess": "Успешно изlexport на файл GPX.", - "settings_gpxExportNoContacts": "Няма контакти за изlexport.", - "settings_gpxExportChat": "Местоположения на спътници", - "settings_gpxExportError": "Възникна грешка при изнасяне.", - "settings_gpxExportRepeatersRoom": "Местоположения на повторител и сървър на стаята", - "settings_gpxExportNotAvailable": "Не е поддържан на вашето устройство/ОС", - "settings_gpxExportAllContacts": "Местоположения на всички контакти", - "settings_gpxExportShareText": "Картинни данни изнесени от meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open износ на данни за карта в формат GPX", - "pathTrace_someHopsNoLocation": "Един или повече от хмелите липсва местоположение!", - "map_pathTraceCancelled": "Отменен е следването на пътя.", - "pathTrace_clearTooltip": "Изчисти пътя", - "map_removeLast": "Премахни Последно", - "map_runTrace": "Изпълни Път на Следване", - "map_tapToAdd": "Натиснете върху възлите, за да ги добавите към пътя.", - "scanner_bluetoothOff": "Bluetooth е изключен.", - "scanner_enableBluetooth": "Активирайте Bluetooth", - "scanner_bluetoothOffMessage": "Моля, активирайте Bluetooth, за да сканирате за устройства.", - "scanner_chromeRequired": "Изисква се браузър Chrome", - "scanner_chromeRequiredMessage": "Това уеб приложение изисква Google Chrome или браузър, базиран на Chromium, за поддръжка на Bluetooth.", - "snrIndicator_lastSeen": "Последно видян", - "snrIndicator_nearByRepeaters": "Близки повтарящи се устройства", - "chat_ShowAllPaths": "Покажи всички пътища", - "settings_clientRepeatSubtitle": "Позволете на това устройство да предава пакети към мрежата за други устройства.", - "settings_clientRepeatFreqWarning": "За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.", - "settings_clientRepeat": "Без електричество – повторение", - "settings_aboutOpenMeteoAttribution": "Данни за надморска височина на LOS: Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "единици", - "appSettings_unitsMetric": "Метрика (m / km)", - "appSettings_unitsImperial": "Имперска (ft / mi)", - "map_lineOfSight": "Линия на видимост", - "map_losScreenTitle": "Линия на видимост", - "losSelectStartEnd": "Изберете начални и крайни възли за LOS.", - "losRunFailed": "Проверката на пряката видимост е неуспешна: {error}", + "pathTrace_you": "Вие", + "pathTrace_notAvailable": "Пътека за проследяване не е достъпна.", + "contacts_pathTrace": "Пътен проследяване", + "pathTrace_refreshTooltip": "Обнови Path Trace.", + "pathTrace_failed": "Пътят за проследяване не успя.", + "contacts_repeaterPing": "Пингване на повторителя", + "contacts_repeaterPathTrace": "Трасировка до повторител", + "contacts_ping": "Пинг", + "contacts_chatTraceRoute": "Трасиране на път", + "contacts_roomPathTrace": "Трасиране на път до съ", + "contacts_roomPing": "Ping на сървъра на стаята", + "contacts_pathTraceTo": "Проследи маршрут към {name}", + "appSettings_languageUk": "Украински", + "contacts_clipboardEmpty": "Клипборда е празна.", + "contacts_invalidAdvertFormat": "Невалидни данни за контакт", + "appSettings_languageRu": "Руски", + "appSettings_enableMessageTracing": "Разрешаване на проследяване на съобщения", + "appSettings_enableMessageTracingSubtitle": "Показване на подробни метаданни за маршрутизация и синхронизация за съобщения", + "contacts_contactImported": "Контактът е импортиран.", + "contacts_zeroHopAdvert": "Реклама без скок", + "contacts_contactImportFailed": "Контактът не е успешно импортиран.", + "contacts_floodAdvert": "Потопна реклама", + "contacts_addContactFromClipboard": "Добави контакт от клипборда", + "contacts_copyAdvertToClipboard": "Копирай обявата в клипборда", + "contacts_ShareContact": "Копирай контакт в клипборда", + "contacts_ShareContactZeroHop": "Сподели контакт чрез обява", + "contacts_contactAdvertCopied": "Рекламата е копирана в клипборда.", + "contacts_zeroHopContactAdvertFailed": "Неуспешно изпращане на контакт.", + "contacts_zeroHopContactAdvertSent": "Изпратен контакт по обява.", + "contacts_contactAdvertCopyFailed": "Копирането на обявата в клипборда не успя.", + "notification_activityTitle": "Активност на MeshCore", + "notification_messagesCount": "{count} {count, plural, =1{съобщение} other{съобщения}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{съобщение в канал} other{съобщения в канали}}", + "notification_newNodesCount": "{count} {count, plural, =1{нов възел} other{нови възли}}", + "notification_newTypeDiscovered": "Открит нов {contactType}", + "notification_receivedNewMessage": "Получено ново съобщение", + "settings_gpxExportContactsSubtitle": "Експортира спътници с местоположение в GPX файл.", + "settings_gpxExportRepeatersSubtitle": "Изпраща повторители / roomserver с местоположение в GPX файл.", + "settings_gpxExportAll": "Експортирай всички контакти в GPX", + "settings_gpxExportAllSubtitle": "Експортира всички контакти с местоположение в файл GPX.", + "settings_gpxExportRepeaters": "Експортиране на повтарящи се устройства / сървър на стаята до GPX", + "settings_gpxExportContacts": "Експортирай спътници към GPX", + "settings_gpxExportSuccess": "Успешно изlexport на файл GPX.", + "settings_gpxExportNoContacts": "Няма контакти за изlexport.", + "settings_gpxExportChat": "Местоположения на спътници", + "settings_gpxExportError": "Възникна грешка при изнасяне.", + "settings_gpxExportRepeatersRoom": "Местоположения на повторител и сървър на стаята", + "settings_gpxExportNotAvailable": "Не е поддържан на вашето устройство/ОС", + "settings_gpxExportAllContacts": "Местоположения на всички контакти", + "settings_gpxExportShareText": "Картинни данни изнесени от meshcore-open", + "settings_gpxExportShareSubject": "meshcore-open износ на данни за карта в формат GPX", + "pathTrace_someHopsNoLocation": "Един или повече от хмелите липсва местоположение!", + "map_pathTraceCancelled": "Отменен е следването на пътя.", + "pathTrace_clearTooltip": "Изчисти пътя", + "map_removeLast": "Премахни Последно", + "map_runTrace": "Изпълни Път на Следване", + "map_tapToAdd": "Натиснете върху възлите, за да ги добавите към пътя.", + "scanner_bluetoothOff": "Bluetooth е изключен.", + "scanner_enableBluetooth": "Активирайте Bluetooth", + "scanner_bluetoothOffMessage": "Моля, активирайте Bluetooth, за да сканирате за устройства.", + "scanner_chromeRequired": "Изисква се браузър Chrome", + "scanner_chromeRequiredMessage": "Това уеб приложение изисква Google Chrome или браузър, базиран на Chromium, за поддръжка на Bluetooth.", + "snrIndicator_lastSeen": "Последно видян", + "snrIndicator_nearByRepeaters": "Близки повтарящи се устройства", + "chat_ShowAllPaths": "Покажи всички пътища", + "settings_clientRepeatSubtitle": "Позволете на това устройство да предава пакети към мрежата за други устройства.", + "settings_clientRepeatFreqWarning": "За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.", + "settings_clientRepeat": "Без електричество – повторение", + "settings_aboutOpenMeteoAttribution": "Данни за надморска височина на LOS: Open-Meteo (CC BY 4.0)", + "appSettings_unitsTitle": "единици", + "appSettings_unitsMetric": "Метрика (m / km)", + "appSettings_unitsImperial": "Имперска (ft / mi)", + "map_lineOfSight": "Линия на видимост", + "map_losScreenTitle": "Линия на видимост", + "losSelectStartEnd": "Изберете начални и крайни възли за LOS.", + "losRunFailed": "Проверката на пряката видимост е неуспешна: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1629,13 +1629,13 @@ } } }, - "losClearAllPoints": "Изчистете всички точки", - "losRunToViewElevationProfile": "Стартирайте LOS, за да видите профила на надморската височина", - "losMenuTitle": "LOS меню", - "losMenuSubtitle": "Докоснете възли или натиснете продължително карта за персонализирани точки", - "losShowDisplayNodes": "Показване на възли на дисплея", - "losCustomPoints": "Персонализирани точки", - "losCustomPointLabel": "Персонализирано {index}", + "losClearAllPoints": "Изчистете всички точки", + "losRunToViewElevationProfile": "Стартирайте LOS, за да видите профила на надморската височина", + "losMenuTitle": "LOS меню", + "losMenuSubtitle": "Докоснете възли или натиснете продължително карта за персонализирани точки", + "losShowDisplayNodes": "Показване на възли на дисплея", + "losCustomPoints": "Персонализирани точки", + "losCustomPointLabel": "Персонализирано {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -1643,9 +1643,9 @@ } } }, - "losPointA": "Точка А", - "losPointB": "Точка Б", - "losAntennaA": "Антена A: {value} {unit}", + "losPointA": "Точка А", + "losPointB": "Точка Б", + "losAntennaA": "Антена A: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -1656,7 +1656,7 @@ } } }, - "losAntennaB": "Антена B: {value} {unit}", + "losAntennaB": "Антена B: {value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -1667,9 +1667,9 @@ } } }, - "losRun": "Стартирайте LOS", - "losNoElevationData": "Няма данни за надморска височина", - "losProfileClear": "{distance} {distanceUnit}, чист LOS, минимално разстояние {clearance} {heightUnit}", + "losRun": "Стартирайте LOS", + "losNoElevationData": "Няма данни за надморска височина", + "losProfileClear": "{distance} {distanceUnit}, чист LOS, минимално разстояние {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1686,7 +1686,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit}, блокиран от {obstruction} {heightUnit}", + "losProfileBlocked": "{distance} {distanceUnit}, блокиран от {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { @@ -1703,9 +1703,9 @@ } } }, - "losStatusChecking": "LOS: проверка...", - "losStatusNoData": "LOS: няма данни", - "losStatusSummary": "LOS: {clear}/{total} ясно, {blocked} блокирано, {unknown} неизвестно", + "losStatusChecking": "LOS: проверка...", + "losStatusNoData": "LOS: няма данни", + "losStatusSummary": "LOS: {clear}/{total} ясно, {blocked} блокирано, {unknown} неизвестно", "@losStatusSummary": { "placeholders": { "clear": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Няма налични данни за надморска височина за една или повече проби.", - "losErrorInvalidInput": "Невалидни данни за точки/надморска височина за изчисляване на LOS.", - "losRenameCustomPoint": "Преименувайте персонализирана точка", - "losPointName": "Име на точката", - "losShowPanelTooltip": "Показване на LOS панел", - "losHidePanelTooltip": "Скриване на LOS панела", - "losElevationAttribution": "Данни за надморска височина: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Радиохоризонт", - "losLegendLosBeam": "Линия на видимост", - "losLegendTerrain": "Терен", - "losFrequencyLabel": "Честота", - "losFrequencyInfoTooltip": "Преглед на детайли за изчислението", - "losFrequencyDialogTitle": "Изчисляване на радиохоризонта", - "losFrequencyDialogDescription": "Започвайки от k={baselineK} при {baselineFreq} MHz, изчислението коригира k-фактора за текущата {frequencyMHz} MHz лента, която определя границата на извития радиохоризонт.", + "losErrorElevationUnavailable": "Няма налични данни за надморска височина за една или повече проби.", + "losErrorInvalidInput": "Невалидни данни за точки/надморска височина за изчисляване на LOS.", + "losRenameCustomPoint": "Преименувайте персонализирана точка", + "losPointName": "Име на точката", + "losShowPanelTooltip": "Показване на LOS панел", + "losHidePanelTooltip": "Скриване на LOS панела", + "losElevationAttribution": "Данни за надморска височина: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Радиохоризонт", + "losLegendLosBeam": "Линия на видимост", + "losLegendTerrain": "Терен", + "losFrequencyLabel": "Честота", + "losFrequencyInfoTooltip": "Преглед на детайли за изчислението", + "losFrequencyDialogTitle": "Изчисляване на радиохоризонта", + "losFrequencyDialogDescription": "Започвайки от k={baselineK} при {baselineFreq} MHz, изчислението коригира k-фактора за текущата {frequencyMHz} MHz лента, която определя границата на извития радиохоризонт.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,9 +1753,9 @@ } } }, - "listFilter_removeFromFavorites": "Премахване от списъка с любими", - "listFilter_addToFavorites": "Добави към любими", - "listFilter_favorites": "Любими", + "listFilter_removeFromFavorites": "Премахване от списъка с любими", + "listFilter_addToFavorites": "Добави към любими", + "listFilter_favorites": "Любими", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1796,19 +1796,17 @@ } } }, - "contacts_searchFavorites": "Търсене на {number}{str} любими...", - "contacts_searchRoomServers": "Търсене на {number}{str} сървъри в стаята...", - "contacts_unread": "Непрочетено", - "contacts_searchRepeaters": "Търсене на {number}{str} повтарящи се...", - "contacts_searchContactsNoNumber": "Търси контакти...", - "contacts_searchUsers": "Търсене на {number}{str} потребители...", + "contacts_searchFavorites": "Търсене на {number}{str} любими...", + "contacts_searchRoomServers": "Търсене на {number}{str} сървъри в стаята...", + "contacts_unread": "Непрочетено", + "contacts_searchRepeaters": "Търсене на {number}{str} повтарящи се...", + "contacts_searchContactsNoNumber": "Търси контакти...", + "contacts_searchUsers": "Търсене на {number}{str} потребители...", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", - "connectionChoiceTitle": "Изберете метода на връзка.", - "connectionChoiceSubtitle": "Изберете как искате да получите вашия устройство MeshCore.", - "usbScreenNote": "USB серийната връзка е активна на поддържаните Android устройства и настолни платформи.", - "usbScreenStatus": "Изберете USB устройство", - "usbScreenTitle": "Свързване чрез USB", - "usbScreenSubtitle": "Изберете открития сериен уред и свържете директно към вашия MeshCore възел.", - "usbScreenEmptyState": "Няма открити USB устройства. Включете едно и опитайте отново." + "usbScreenNote": "USB серийната връзка е активна на поддържаните Android устройства и настолни платформи.", + "usbScreenStatus": "Изберете USB устройство", + "usbScreenTitle": "Свързване чрез USB", + "usbScreenSubtitle": "Изберете открития сериен уред и свържете директно към вашия MeshCore възел.", + "usbScreenEmptyState": "Няма открити USB устройства. Включете едно и опитайте отново." } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 44eca06..0b4bfff 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Kanal {name} konnte nicht gelöscht werden", +{ + "channels_channelDeleteFailed": "Kanal {name} konnte nicht gelöscht werden", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -10,16 +10,16 @@ "@@locale": "de", "appTitle": "MeshCore Open", "nav_contacts": "Kontakte", - "nav_channels": "Kanäle", + "nav_channels": "Kanäle", "nav_map": "Karte", "common_cancel": "Abbrechen", "common_connect": "Verbinden", - "common_unknownDevice": "Unbekanntes Gerät", + "common_unknownDevice": "Unbekanntes Gerät", "common_save": "Speichern", - "common_delete": "Löschen", - "common_close": "Schließen", + "common_delete": "Löschen", + "common_close": "Schließen", "common_edit": "Bearbeiten", - "common_add": "Hinzufügen", + "common_add": "Hinzufügen", "common_settings": "Einstellungen", "common_disconnect": "Trennen", "common_connected": "Verbunden", @@ -30,12 +30,12 @@ "common_copy": "Kopieren", "common_retry": "Versuchen", "common_hide": "Ausblenden", - "common_remove": "Löschen", + "common_remove": "Löschen", "common_enable": "Aktivieren", "common_disable": "Deaktivieren", "common_reboot": "Neustart", "common_loading": "Laden...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,7 +53,7 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Scannen nach Geräten...", + "scanner_scanning": "Scannen nach Geräten...", "scanner_connecting": "Verbunden...", "scanner_disconnecting": "Trenne...", "scanner_notConnected": "Nicht verbunden", @@ -65,8 +65,8 @@ } } }, - "scanner_searchingDevices": "Suche nach MeshCore-Geräten...", - "scanner_tapToScan": "Tippen Sie auf Scan, um MeshCore-Geräte zu finden.", + "scanner_searchingDevices": "Suche nach MeshCore-Geräten...", + "scanner_tapToScan": "Tippen Sie auf Scan, um MeshCore-Geräte zu finden.", "scanner_connectionFailed": "Verbindungsfehler: {error}", "@scanner_connectionFailed": { "placeholders": { @@ -80,7 +80,7 @@ "device_quickSwitch": "Schnelles Umschalten", "device_meshcore": "MeshCore", "settings_title": "Einstellungen", - "settings_deviceInfo": "Geräteinformationen", + "settings_deviceInfo": "Geräteinformationen", "settings_appSettings": "App-Einstellungen", "settings_appSettingsSubtitle": "Benachrichtigungen, Messaging und Kartenwahrnehmung", "settings_nodeSettings": "Knoten-Einstellungen", @@ -94,33 +94,33 @@ "settings_location": "Ort", "settings_locationSubtitle": "GPS-Koordinaten", "settings_locationUpdated": "Ort aktualisiert", - "settings_locationBothRequired": "Bitte geben Sie sowohl Breite als auch Längengrad ein.", - "settings_locationInvalid": "Ungültige Breiten- oder Längengrade.", + "settings_locationBothRequired": "Bitte geben Sie sowohl Breite als auch Längengrad ein.", + "settings_locationInvalid": "Ungültige Breiten- oder Längengrade.", "settings_latitude": "Breitengrad", - "settings_longitude": "Längengrad", - "settings_privacyMode": "Privatsphäreeinstellung", - "settings_privacyModeSubtitle": "Verstecken Sie Name/Ort in Ankündigungen", - "settings_privacyModeToggle": "Aktivieren Sie die Privatsphäreeinstellung, um Ihren Namen und Ihre Standortdaten in Ankündigungen zu verbergen.", + "settings_longitude": "Längengrad", + "settings_privacyMode": "Privatsphäreeinstellung", + "settings_privacyModeSubtitle": "Verstecken Sie Name/Ort in Ankündigungen", + "settings_privacyModeToggle": "Aktivieren Sie die Privatsphäreeinstellung, um Ihren Namen und Ihre Standortdaten in Ankündigungen zu verbergen.", "settings_privacyModeEnabled": "Datenschutzmodus aktiviert", "settings_privacyModeDisabled": "Datenschutzmodus deaktiviert", "settings_actions": "Aktionen", - "settings_sendAdvertisement": "Sende Ankündigung", - "settings_sendAdvertisementSubtitle": "Sende eine Ankündigung", - "settings_advertisementSent": "Ankündigung gesendet", + "settings_sendAdvertisement": "Sende Ankündigung", + "settings_sendAdvertisementSubtitle": "Sende eine Ankündigung", + "settings_advertisementSent": "Ankündigung gesendet", "settings_syncTime": "Zeitsynchronisierung", - "settings_syncTimeSubtitle": "Stelle die Gerätezeit auf die Uhrzeit des Telefons ein", + "settings_syncTimeSubtitle": "Stelle die Gerätezeit auf die Uhrzeit des Telefons ein", "settings_timeSynchronized": "Zeit synchronisiert", "settings_refreshContacts": "Kontakte aktualisieren", - "settings_refreshContactsSubtitle": "Kontakt-Liste vom Gerät neu laden", - "settings_rebootDevice": "Gerät neu starten", - "settings_rebootDeviceSubtitle": "MeshCore-Gerät neu starten", - "settings_rebootDeviceConfirm": "Sind Sie sicher, dass Sie das Gerät neu starten möchten? Sie werden getrennt.", + "settings_refreshContactsSubtitle": "Kontakt-Liste vom Gerät neu laden", + "settings_rebootDevice": "Gerät neu starten", + "settings_rebootDeviceSubtitle": "MeshCore-Gerät neu starten", + "settings_rebootDeviceConfirm": "Sind Sie sicher, dass Sie das Gerät neu starten möchten? Sie werden getrennt.", "settings_debug": "Fehlerbehebung", "settings_bleDebugLog": "BLE-Debug-Protokoll", "settings_bleDebugLogSubtitle": "BLE-Befehle, Antworten und Rohdaten", "settings_appDebugLog": "App-Debug-Protokoll", "settings_appDebugLogSubtitle": "Anwendung Debug-Nachrichten", - "settings_about": "Über", + "settings_about": "Über", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -130,24 +130,24 @@ } }, "settings_aboutLegalese": "MeshCore Open Source Projekt 2026", - "settings_aboutDescription": "Ein Open-Source-Flutter-Client für MeshCore LoRa-Meshnetzwerkgeräte.", + "settings_aboutDescription": "Ein Open-Source-Flutter-Client für MeshCore LoRa-Meshnetzwerkgeräte.", "settings_infoName": "Name", "settings_infoId": "ID", "settings_infoStatus": "Status", "settings_infoBattery": "Akku", - "settings_infoPublicKey": "Öffentlicher Schlüssel", + "settings_infoPublicKey": "Öffentlicher Schlüssel", "settings_infoContactsCount": "Anzahl Kontakte", - "settings_infoChannelCount": "Anzahl Kanäle", + "settings_infoChannelCount": "Anzahl Kanäle", "settings_presets": "Voreinstellungen", "settings_frequency": "Frequenz (MHz)", "settings_frequencyHelper": "300,00 - 2.500,00", - "settings_frequencyInvalid": "Ungültige Frequenz (300-2500 MHz)", + "settings_frequencyInvalid": "Ungültige Frequenz (300-2500 MHz)", "settings_bandwidth": "Bandbreite", "settings_spreadingFactor": "Verteilungsfaktor", "settings_codingRate": "Kodierungsrate", "settings_txPower": "TX-Leistung (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Ungültige TX-Leistung (0-22 dBm)", + "settings_txPowerInvalid": "Ungültige TX-Leistung (0-22 dBm)", "settings_error": "Fehler: {message}", "@settings_error": { "placeholders": { @@ -165,21 +165,21 @@ "appSettings_language": "Sprache", "appSettings_languageSystem": "Systemstandard", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Benachrichtigungen", "appSettings_enableNotifications": "Benachrichtigungen aktivieren", - "appSettings_enableNotificationsSubtitle": "Erhalte Benachrichtigungen für Nachrichten und Ankündigungen", + "appSettings_enableNotificationsSubtitle": "Erhalte Benachrichtigungen für Nachrichten und Ankündigungen", "appSettings_notificationPermissionDenied": "Erlaubnis zur Benachrichtigung verweigert", "appSettings_notificationsEnabled": "Benachrichtigungen aktiviert", "appSettings_notificationsDisabled": "Benachrichtigungen deaktiviert", @@ -187,20 +187,20 @@ "appSettings_messageNotificationsSubtitle": "Zeige Benachrichtigung beim Empfang neuer Direktnachrichten", "appSettings_channelMessageNotifications": "Kanalnachrichten Benachrichtigungen", "appSettings_channelMessageNotificationsSubtitle": "Zeige Benachrichtigung beim Empfangen von Kanalnachrichten", - "appSettings_advertisementNotifications": "Ankündigungsbenachrichtigungen", + "appSettings_advertisementNotifications": "Ankündigungsbenachrichtigungen", "appSettings_advertisementNotificationsSubtitle": "Zeige Benachrichtigung, wenn neue Knoten entdeckt werden.", "appSettings_messaging": "Nachrichten", - "appSettings_clearPathOnMaxRetry": "Lösche Pfade bei Max Wiederholungsversuchen", - "appSettings_clearPathOnMaxRetrySubtitle": "Zurücksetzen der Kontaktpfade nach 5 fehlgeschlagenen Sendeabbrüchen", - "appSettings_pathsWillBeCleared": "Die Pfade werden nach 5 fehlgeschlagenen Versuchen gelöscht.", - "appSettings_pathsWillNotBeCleared": "Die Pfade werden nicht automatisch gelöscht.", + "appSettings_clearPathOnMaxRetry": "Lösche Pfade bei Max Wiederholungsversuchen", + "appSettings_clearPathOnMaxRetrySubtitle": "Zurücksetzen der Kontaktpfade nach 5 fehlgeschlagenen Sendeabbrüchen", + "appSettings_pathsWillBeCleared": "Die Pfade werden nach 5 fehlgeschlagenen Versuchen gelöscht.", + "appSettings_pathsWillNotBeCleared": "Die Pfade werden nicht automatisch gelöscht.", "appSettings_autoRouteRotation": "Automatische Routenrotation", "appSettings_autoRouteRotationSubtitle": "Wechseln zwischen den besten Pfaden und dem Fluten", "appSettings_autoRouteRotationEnabled": "Automatische Routenrotation aktiviert", "appSettings_autoRouteRotationDisabled": "Automatische Routenrotation deaktiviert", "appSettings_battery": "Akku", "appSettings_batteryChemistry": "Batteriechemie", - "appSettings_batteryChemistryPerDevice": "Konfiguriert pro Gerät ({deviceName})", + "appSettings_batteryChemistryPerDevice": "Konfiguriert pro Gerät ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -208,10 +208,10 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Verbinde ein Gerät, um zu wählen", - "appSettings_batteryNmc": "18650 NMC (3,0–4,2 V)", - "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65 V)", - "appSettings_batteryLipo": "LiPo (3,0–4,2V)", + "appSettings_batteryChemistryConnectFirst": "Verbinde ein Gerät, um zu wählen", + "appSettings_batteryNmc": "18650 NMC (3,0–4,2 V)", + "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65 V)", + "appSettings_batteryLipo": "LiPo (3,0–4,2V)", "appSettings_mapDisplay": "Kartendarstellung", "appSettings_showRepeaters": "Zeige Repeater", "appSettings_showRepeatersSubtitle": "Zeige Repeater-Knoten auf der Karte an", @@ -237,8 +237,8 @@ "appSettings_last24Hours": "Letzte 24 Stunden", "appSettings_lastWeek": "Letzte Woche", "appSettings_offlineMapCache": "Offline-Karten-Cache", - "appSettings_noAreaSelected": "Kein Bereich ausgewählt", - "appSettings_areaSelectedZoom": "Ausgewählte Fläche (Zoom {minZoom}-{maxZoom})", + "appSettings_noAreaSelected": "Kein Bereich ausgewählt", + "appSettings_areaSelectedZoom": "Ausgewählte Fläche (Zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -256,11 +256,11 @@ "appSettings_appDebugLoggingDisabled": "App-Debug-Protokollierung deaktiviert", "contacts_title": "Kontakte", "contacts_noContacts": "Noch keine Kontakte vorhanden.", - "contacts_contactsWillAppear": "Kontakte werden angezeigt, wenn Geräte eine Ankündigung machen.", + "contacts_contactsWillAppear": "Kontakte werden angezeigt, wenn Geräte eine Ankündigung machen.", "contacts_searchContacts": "Suche Kontakte...", "contacts_noUnreadContacts": "Keine ungesehene Kontakte", "contacts_noContactsFound": "Keine Kontakte oder Gruppen gefunden.", - "contacts_deleteContact": "Lösche den Kontakt", + "contacts_deleteContact": "Lösche den Kontakt", "contacts_removeConfirm": "{contactName} aus den Kontakten entfernen?", "@contacts_removeConfirm": { "placeholders": { @@ -271,10 +271,10 @@ }, "contacts_manageRepeater": "Repeater verwalten", "contacts_roomLogin": "Raum-Login", - "contacts_openChat": "Öffne Chat", + "contacts_openChat": "Öffne Chat", "contacts_editGroup": "Gruppe bearbeiten", - "contacts_deleteGroup": "Löschen Gruppe", - "contacts_deleteGroupConfirm": "Löschen von \"{groupName}\"?", + "contacts_deleteGroup": "Löschen Gruppe", + "contacts_deleteGroupConfirm": "Löschen von \"{groupName}\"?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -323,11 +323,11 @@ } } }, - "channels_title": "Kanäle", - "channels_noChannelsConfigured": "Keine Kanäle konfiguriert", - "channels_addPublicChannel": "Öffentlichen Kanal hinzufügen", - "channels_searchChannels": "Suche Kanäle...", - "channels_noChannelsFound": "Keine Kanäle gefunden", + "channels_title": "Kanäle", + "channels_noChannelsConfigured": "Keine Kanäle konfiguriert", + "channels_addPublicChannel": "Öffentlichen Kanal hinzufügen", + "channels_searchChannels": "Suche Kanäle...", + "channels_noChannelsFound": "Keine Kanäle gefunden", "channels_channelIndex": "Kanal {index}", "@channels_channelIndex": { "placeholders": { @@ -337,15 +337,15 @@ } }, "channels_hashtagChannel": "Hashtag-Kanal", - "channels_public": "Öffentlich", + "channels_public": "Öffentlich", "channels_private": "Privat", - "channels_publicChannel": "Öffentlicher Kanal", + "channels_publicChannel": "Öffentlicher Kanal", "channels_privateChannel": "Privater Kanal", "channels_editChannel": "Kanal bearbeiten", "channels_muteChannel": "Kanal stummschalten", "channels_unmuteChannel": "Kanal Stummschaltung aufheben", - "channels_deleteChannel": "Lösche den Kanal", - "channels_deleteChannelConfirm": "Löschen von \"{name}\"? Dies kann nicht rückgängig gemacht werden.", + "channels_deleteChannel": "Lösche den Kanal", + "channels_deleteChannelConfirm": "Löschen von \"{name}\"? Dies kann nicht rückgängig gemacht werden.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Kanal \"{name}\" gelöscht", + "channels_channelDeleted": "Kanal \"{name}\" gelöscht", "@channels_channelDeleted": { "placeholders": { "name": { @@ -361,16 +361,16 @@ } } }, - "channels_addChannel": "Kanal hinzufügen", + "channels_addChannel": "Kanal hinzufügen", "channels_channelIndexLabel": "Kanalindex", "channels_channelName": "Kanalname", - "channels_usePublicChannel": "Verwende öffentlichen Kanal", - "channels_standardPublicPsk": "Öffentliche Standard PSK", + "channels_usePublicChannel": "Verwende öffentlichen Kanal", + "channels_standardPublicPsk": "Öffentliche Standard PSK", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Zufällige PSK generieren", + "channels_generateRandomPsk": "Zufällige PSK generieren", "channels_enterChannelName": "Bitte geben Sie einen Kanalnamen ein.", "channels_pskMustBe32Hex": "Die PSK muss 32 hexadezimale Zeichen haben.", - "channels_channelAdded": "Kanal \"{name}\" hinzugefügt", + "channels_channelAdded": "Kanal \"{name}\" hinzugefügt", "@channels_channelAdded": { "placeholders": { "name": { @@ -395,7 +395,7 @@ } } }, - "channels_publicChannelAdded": "Öffentlicher Kanal hinzugefügt", + "channels_publicChannelAdded": "Öffentlicher Kanal hinzugefügt", "channels_sortBy": "Sortiere nach", "channels_sortManual": "Manuell", "channels_sortAZ": "A bis Z", @@ -439,7 +439,7 @@ } }, "chat_messageCopied": "Nachricht kopiert", - "chat_messageDeleted": "Nachricht gelöscht", + "chat_messageDeleted": "Nachricht gelöscht", "chat_retryingMessage": "Versuche es erneut.", "chat_retryCount": "Versuche {current}/{max}", "@chat_retryCount": { @@ -454,13 +454,13 @@ }, "chat_sendGif": "GIF senden", "chat_reply": "Beantworten", - "chat_addReaction": "Reaktion hinzufügen", + "chat_addReaction": "Reaktion hinzufügen", "chat_me": "Ich", "emojiCategorySmileys": "Emoticons", "emojiCategoryGestures": "Gesten", "emojiCategoryHearts": "Herz", "emojiCategoryObjects": "Objekte", - "gifPicker_title": "Wähle ein GIF", + "gifPicker_title": "Wähle ein GIF", "gifPicker_searchHint": "Suche nach GIFs...", "gifPicker_poweredBy": "Bereitgestellt von GIPHY", "gifPicker_noGifsFound": "Keine GIFs gefunden", @@ -470,15 +470,15 @@ "debugLog_appTitle": "App-Debug-Protokoll", "debugLog_bleTitle": "BLE-Debug-Protokoll", "debugLog_copyLog": "Kopieren des Protokolls", - "debugLog_clearLog": "Protokoll löschen", + "debugLog_clearLog": "Protokoll löschen", "debugLog_copied": "Debug-Protokoll kopiert", "debugLog_bleCopied": "BLE-Protokoll kopiert", - "debugLog_noEntries": "No Debug-Protokolle noch verfügbar", + "debugLog_noEntries": "No Debug-Protokolle noch verfügbar", "debugLog_enableInSettings": "Aktivieren Sie das App-Debug-Logging in den Einstellungen", "debugLog_frames": "Rahmen", "debugLog_rawLogRx": "Roh-Log-RX", - "debugLog_noBleActivity": "Bisher keine BLE-Aktivität", - "debugFrame_length": "Rahmenlänge: {count} Bytes", + "debugLog_noBleActivity": "Bisher keine BLE-Aktivität", + "debugFrame_length": "Rahmenlänge: {count} Bytes", "@debugFrame_length": { "placeholders": { "count": { @@ -495,7 +495,7 @@ } }, "debugFrame_textMessageHeader": "Textnachrichten Frame:", - "debugFrame_destinationPubKey": "- Ziel-Public-Schlüssel: {pubKey}", + "debugFrame_destinationPubKey": "- Ziel-Public-Schlüssel: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -546,10 +546,10 @@ "chat_autoUseSavedPath": "Automatisch (gespeicherten Pfad verwenden)", "chat_forceFloodMode": "Flut-Modus erzwingen", "chat_recentAckPaths": "Aktuelle ACK-Pfade (antippen, um zu verwenden):", - "chat_pathHistoryFull": "Die Pfadhistorie ist voll. Entferne Einträge, um neue hinzuzufügen.", + "chat_pathHistoryFull": "Die Pfadhistorie ist voll. Entferne Einträge, um neue hinzuzufügen.", "chat_hopSingular": "Sprung", - "chat_hopPlural": "Sprünge", - "chat_hopsCount": "{count} {count, plural, =1{Sprung} other{Sprünge}}", + "chat_hopPlural": "Sprünge", + "chat_hopsCount": "{count} {count, plural, =1{Sprung} other{Sprünge}}", "@chat_hopsCount": { "placeholders": { "count": { @@ -563,13 +563,13 @@ "chat_pathActions": "Pfadaktionen:", "chat_setCustomPath": "Lege benutzerdefinierten Pfad fest", "chat_setCustomPathSubtitle": "Manuellen Routenpfad festlegen", - "chat_clearPath": "Pfad zurücksetzen", - "chat_clearPathSubtitle": "Setze Pfad zurück, erkenne neuen Pfad bei nächster Sendung.", - "chat_pathCleared": "Pfad zurückgesetzt. Nächste Nachricht wird Route neu entdecken.", + "chat_clearPath": "Pfad zurücksetzen", + "chat_clearPathSubtitle": "Setze Pfad zurück, erkenne neuen Pfad bei nächster Sendung.", + "chat_pathCleared": "Pfad zurückgesetzt. Nächste Nachricht wird Route neu entdecken.", "chat_floodModeSubtitle": "Verwende den Routingschalter in der App-Leiste", "chat_floodModeEnabled": "Flutmodus aktiviert.", - "chat_fullPath": "Vollständiger Pfad", - "chat_pathDetailsNotAvailable": "Die Pfaddetails sind noch nicht verfügbar. Versuchen Sie, eine Nachricht zu senden, um zu aktualisieren.", + "chat_fullPath": "Vollständiger Pfad", + "chat_pathDetailsNotAvailable": "Die Pfaddetails sind noch nicht verfügbar. Versuchen Sie, eine Nachricht zu senden, um zu aktualisieren.", "chat_pathSetHops": "Pfad gesetzt: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { @@ -582,15 +582,15 @@ } }, "chat_pathSavedLocally": "Lokal Gespeichert. Bitte Verbinden zum Synchronisieren.", - "chat_pathDeviceConfirmed": "Gerät bestätigt.", - "chat_pathDeviceNotConfirmed": "Gerät noch nicht bestätigt.", + "chat_pathDeviceConfirmed": "Gerät bestätigt.", + "chat_pathDeviceNotConfirmed": "Gerät noch nicht bestätigt.", "chat_type": "Gebe ein", "chat_path": "Pfad", - "chat_publicKey": "Öffentlicher Schlüssel", + "chat_publicKey": "Öffentlicher Schlüssel", "chat_compressOutgoingMessages": "Komprimieren ausgehender Nachrichten", "chat_floodForced": "Geflutet (erzwungen)", "chat_directForced": "Direkt (erzwungen)", - "chat_hopsForced": "{count} Sprünge (erzwungen)", + "chat_hopsForced": "{count} Sprünge (erzwungen)", "@chat_hopsForced": { "placeholders": { "count": { @@ -609,10 +609,10 @@ } } }, - "chat_openLink": "Link öffnen?", - "chat_openLinkConfirmation": "Möchten Sie diesen Link in Ihrem Browser öffnen?", - "chat_open": "Öffnen", - "chat_couldNotOpenLink": "Link konnte nicht geöffnet werden: {url}", + "chat_openLink": "Link öffnen?", + "chat_openLinkConfirmation": "Möchten Sie diesen Link in Ihrem Browser öffnen?", + "chat_open": "Öffnen", + "chat_couldNotOpenLink": "Link konnte nicht geöffnet werden: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,10 +620,10 @@ } } }, - "chat_invalidLink": "Ungültiges Link-Format", + "chat_invalidLink": "Ungültiges Link-Format", "map_title": "Karte", "map_noNodesWithLocation": "Keine Knoten mit Standortdaten", - "map_nodesNeedGps": "Knoten müssen ihre GPS-Koordinaten teilen,\num auf der Karte zu erscheinen.", + "map_nodesNeedGps": "Knoten müssen ihre GPS-Koordinaten teilen,\num auf der Karte zu erscheinen.", "map_nodesCount": "Knoten: {count}", "@map_nodesCount": { "placeholders": { @@ -648,7 +648,7 @@ "map_pinPrivate": "Pin (Channel)", "map_pinPublic": "Pin (Public)", "map_lastSeen": "Letzte Sichtung", - "map_disconnectConfirm": "Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?", + "map_disconnectConfirm": "Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?", "map_from": "Von", "map_source": "Quelle", "map_flags": "Flags", @@ -658,9 +658,9 @@ "map_pointOfInterest": "Punkt von Interesse", "map_sendToContact": "Senden an Kontakt", "map_sendToChannel": "Senden an Kanal", - "map_noChannelsAvailable": "Keine Kanäle verfügbar", - "map_publicLocationShare": "Öffentliche Standortfreigabe", - "map_publicLocationShareConfirm": "Sie werden kurz darauf einen Ort in {channelLabel} teilen. Dieser Kanal ist öffentlich und jeder mit dem PSK kann ihn sehen.", + "map_noChannelsAvailable": "Keine Kanäle verfügbar", + "map_publicLocationShare": "Öffentliche Standortfreigabe", + "map_publicLocationShareConfirm": "Sie werden kurz darauf einen Ort in {channelLabel} teilen. Dieser Kanal ist öffentlich und jeder mit dem PSK kann ihn sehen.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,15 +668,15 @@ } } }, - "map_connectToShareMarkers": "Verbinde ein Gerät, um Marker zu teilen", + "map_connectToShareMarkers": "Verbinde ein Gerät, um Marker zu teilen", "map_filterNodes": "Knotenfilter", "map_nodeTypes": "Knotentypen", "map_chatNodes": "Chat-Knoten", "map_repeaters": "Repeater", "map_otherNodes": "Andere Knoten", - "map_keyPrefix": "Schlüsselpräfix", - "map_filterByKeyPrefix": "Filter nach Schlüsselpräfix", - "map_publicKeyPrefix": "Schlüsselpräfix", + "map_keyPrefix": "Schlüsselpräfix", + "map_filterByKeyPrefix": "Filter nach Schlüsselpräfix", + "map_publicKeyPrefix": "Schlüsselpräfix", "map_markers": "Marker", "map_showSharedMarkers": "Zeige gemeinsam genutzte Marker", "map_lastSeenTime": "Letzte Sichtung", @@ -684,10 +684,10 @@ "map_joinRoom": "Beitreten Sie dem Raum", "map_manageRepeater": "Repeater verwalten", "mapCache_title": "Offline-Karten-Cache", - "mapCache_selectAreaFirst": "Wählen Sie zuerst einen Bereich zum Zwischenspeichern aus.", - "mapCache_noTilesToDownload": "Keine Kacheln für diese Region zum Herunterladen verfügbar.", + "mapCache_selectAreaFirst": "Wählen Sie zuerst einen Bereich zum Zwischenspeichern aus.", + "mapCache_noTilesToDownload": "Keine Kacheln für diese Region zum Herunterladen verfügbar.", "mapCache_downloadTilesTitle": "Herunterladen von Kacheln", - "mapCache_downloadTilesPrompt": "Laden {count} Kacheln für den Offline-Bereich herunter?", + "mapCache_downloadTilesPrompt": "Laden {count} Kacheln für den Offline-Bereich herunter?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -717,12 +717,12 @@ }, "mapCache_clearOfflineCacheTitle": "Leere Offline-Cache", "mapCache_clearOfflineCachePrompt": "Alle zwischengespeicherten Kartenraster entfernen?", - "mapCache_offlineCacheCleared": "Offline-Cache gelöscht", - "mapCache_noAreaSelected": "Kein Bereich ausgewählt", + "mapCache_offlineCacheCleared": "Offline-Cache gelöscht", + "mapCache_noAreaSelected": "Kein Bereich ausgewählt", "mapCache_cacheArea": "Zwischenspeicherbereich", "mapCache_useCurrentView": "Aktuelle Ansicht verwenden", "mapCache_zoomRange": "Zoom Bereich", - "mapCache_estimatedTiles": "Geschätzte Kacheln: {count}", + "mapCache_estimatedTiles": "Geschätzte Kacheln: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -804,13 +804,13 @@ "time_minutes": "Minuten", "time_allTime": "Ganzer Zeitraum", "dialog_disconnect": "Trennen", - "dialog_disconnectConfirm": "Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?", + "dialog_disconnectConfirm": "Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?", "login_repeaterLogin": "Beim Repeater anmelden", "login_roomLogin": "Raum-Login", "login_password": "Passwort", "login_enterPassword": "Passwort eingeben", "login_savePassword": "Passwort speichern", - "login_savePasswordSubtitle": "Das Passwort wird auf diesem Gerät sicher gespeichert.", + "login_savePasswordSubtitle": "Das Passwort wird auf diesem Gerät sicher gespeichert.", "login_repeaterDescription": "Geben Sie das Repeater-Passwort ein, um auf Einstellungen und Status zuzugreifen.", "login_roomDescription": "Geben Sie das Raumkennwort ein, um auf die Einstellungen und den Status zuzugreifen.", "login_routing": "Routen", @@ -840,7 +840,7 @@ }, "login_failedMessage": "Anmeldung fehlgeschlagen. Entweder ist das Passwort falsch oder der Repeater ist nicht erreichbar.", "common_reload": "Neu laden", - "common_clear": "Löschen", + "common_clear": "Löschen", "path_currentPath": "Aktiver Pfad: {path}", "@path_currentPath": { "placeholders": { @@ -859,14 +859,14 @@ }, "path_enterCustomPath": "Gebe Pfad ein", "path_currentPathLabel": "Aktueller Pfad", - "path_hexPrefixInstructions": "Gebe für jeden Zwischen-Hop das 2-stellige Hex-Präfix ein, getrennt durch Kommas.", - "path_hexPrefixExample": "Beispiel: A1,F2,3C (jeder Knoten verwendet den ersten Byte seines öffentlichen Schlüssels)", - "path_labelHexPrefixes": "Pfad (Hex-Präfixe)", - "path_helperMaxHops": "Max 64 Sprünge. Jede Präfixe ist 2 Hexadezimalzeichen (1 Byte)", - "path_selectFromContacts": "Oder wähle aus Kontakten aus:", + "path_hexPrefixInstructions": "Gebe für jeden Zwischen-Hop das 2-stellige Hex-Präfix ein, getrennt durch Kommas.", + "path_hexPrefixExample": "Beispiel: A1,F2,3C (jeder Knoten verwendet den ersten Byte seines öffentlichen Schlüssels)", + "path_labelHexPrefixes": "Pfad (Hex-Präfixe)", + "path_helperMaxHops": "Max 64 Sprünge. Jede Präfixe ist 2 Hexadezimalzeichen (1 Byte)", + "path_selectFromContacts": "Oder wähle aus Kontakten aus:", "path_noRepeatersFound": "Keine Repeater oder Raumserver gefunden.", - "path_customPathsRequire": "Benutzerdefinierte Pfade erfordern Zwischen-Hops, die Nachrichten weiterleiten können.", - "path_invalidHexPrefixes": "Ungültige Hexadezimal-Präfixe: {prefixes}", + "path_customPathsRequire": "Benutzerdefinierte Pfade erfordern Zwischen-Hops, die Nachrichten weiterleiten können.", + "path_invalidHexPrefixes": "Ungültige Hexadezimal-Präfixe: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -904,8 +904,8 @@ "repeater_systemInformation": "Systeminformation", "repeater_battery": "Akku", "repeater_clockAtLogin": "Uhr (bei Anmeldung)", - "repeater_uptime": "Verfügbarkeit", - "repeater_queueLength": "Warteschlangenlänge", + "repeater_uptime": "Verfügbarkeit", + "repeater_queueLength": "Warteschlangenlänge", "repeater_debugFlags": "Fehlerbehebungsoptionen", "repeater_radioStatistics": "Funk-Statistik", "repeater_lastRssi": "Letzter RSSI", @@ -984,11 +984,11 @@ "repeater_settingsTitle": "Repeater Einstellungen", "repeater_basicSettings": "Grundlegende Einstellungen", "repeater_repeaterName": "Repeater Name", - "repeater_repeaterNameHelper": "Anzeigename für diesen Repeater", + "repeater_repeaterNameHelper": "Anzeigename für diesen Repeater", "repeater_adminPassword": "Admin-Passwort", "repeater_adminPasswordHelper": "Vollzugriffspasswort", "repeater_guestPassword": "Gast-Passwort", - "repeater_guestPasswordHelper": "Schreibgeschütztes Zugriffspasswort", + "repeater_guestPasswordHelper": "Schreibgeschütztes Zugriffspasswort", "repeater_radioSettings": "Funk Einstellungen", "repeater_frequencyMhz": "Frequenz (MHz)", "repeater_frequencyHelper": "300-2500 MHz", @@ -1000,17 +1000,17 @@ "repeater_locationSettings": "Standort Einstellungen", "repeater_latitude": "Breitengrad", "repeater_latitudeHelper": "Dezimalgrad (z.B. 37,7749)", - "repeater_longitude": "Längengrad", + "repeater_longitude": "Längengrad", "repeater_longitudeHelper": "Dezimalgrad (z.B. -122,4194)", "repeater_features": "Funktionen", "repeater_packetForwarding": "Paketweiterleitung", "repeater_packetForwardingSubtitle": "Aktivieren Sie den Repeater, um Pakete weiterzuleiten.", "repeater_guestAccess": "Gastzugriff", - "repeater_guestAccessSubtitle": "Gast-Zugriff mit beschränkten Rechten zulassen", - "repeater_privacyMode": "Privatsphäreeinstellung", - "repeater_privacyModeSubtitle": "Verstecken Sie Name/Ort in Ankündigungen", - "repeater_advertisementSettings": "Ankündigungseinstellungen", - "repeater_localAdvertInterval": "Intervall der lokalen Ankündigungen", + "repeater_guestAccessSubtitle": "Gast-Zugriff mit beschränkten Rechten zulassen", + "repeater_privacyMode": "Privatsphäreeinstellung", + "repeater_privacyModeSubtitle": "Verstecken Sie Name/Ort in Ankündigungen", + "repeater_advertisementSettings": "Ankündigungseinstellungen", + "repeater_localAdvertInterval": "Intervall der lokalen Ankündigungen", "repeater_localAdvertIntervalMinutes": "{minutes} Minuten", "@repeater_localAdvertIntervalMinutes": { "placeholders": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Intervall der gefluteten Ankündigungen", + "repeater_floodAdvertInterval": "Intervall der gefluteten Ankündigungen", "repeater_floodAdvertIntervalHours": "{hours} Stunden", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1028,18 +1028,18 @@ } } }, - "repeater_encryptedAdvertInterval": "Intervall der verschlüsselten Ankündigung", + "repeater_encryptedAdvertInterval": "Intervall der verschlüsselten Ankündigung", "repeater_dangerZone": "Gefahrenzone", "repeater_rebootRepeater": "Neustart Repeater", - "repeater_rebootRepeaterSubtitle": "Repeater-Gerät neu starten.", - "repeater_rebootRepeaterConfirm": "Sind Sie sicher, dass Sie diesen Repeater neu starten möchten?", - "repeater_regenerateIdentityKey": "Schlüssel für die Identitätswiederherstellung", - "repeater_regenerateIdentityKeySubtitle": "Neuen öffentlichen/privaten Schlüsselpaar generieren", - "repeater_regenerateIdentityKeyConfirm": "Dies generiert eine neue Identität für den Repeater. Fortfahren?", - "repeater_eraseFileSystem": "Dateisystem löschen", + "repeater_rebootRepeaterSubtitle": "Repeater-Gerät neu starten.", + "repeater_rebootRepeaterConfirm": "Sind Sie sicher, dass Sie diesen Repeater neu starten möchten?", + "repeater_regenerateIdentityKey": "Schlüssel für die Identitätswiederherstellung", + "repeater_regenerateIdentityKeySubtitle": "Neuen öffentlichen/privaten Schlüsselpaar generieren", + "repeater_regenerateIdentityKeyConfirm": "Dies generiert eine neue Identität für den Repeater. Fortfahren?", + "repeater_eraseFileSystem": "Dateisystem löschen", "repeater_eraseFileSystemSubtitle": "Formatiere die Repeater-Dateisystemdatei", - "repeater_eraseFileSystemConfirm": "WARNUNG: Dies löscht alle Daten auf dem Repeater. Dies kann nicht rückgängig gemacht werden!", - "repeater_eraseSerialOnly": "Löschen ist nur über die serielle Konsole möglich.", + "repeater_eraseFileSystemConfirm": "WARNUNG: Dies löscht alle Daten auf dem Repeater. Dies kann nicht rückgängig gemacht werden!", + "repeater_eraseSerialOnly": "Löschen ist nur über die serielle Konsole möglich.", "repeater_commandSent": "Befehl gesendet: {command}", "@repeater_commandSent": { "placeholders": { @@ -1056,7 +1056,7 @@ } } }, - "repeater_confirm": "Bestätigen", + "repeater_confirm": "Bestätigen", "repeater_settingsSaved": "Einstellungen erfolgreich gespeichert", "repeater_errorSavingSettings": "Fehler beim Speichern der Einstellungen: {error}", "@repeater_errorSavingSettings": { @@ -1073,7 +1073,7 @@ "repeater_refreshPacketForwarding": "Aktualisieren Paketweiterleitung", "repeater_refreshGuestAccess": "Aktualisieren Sie den Gastzugriff", "repeater_refreshPrivacyMode": "Wiederherstellen des Datenschutzzustands", - "repeater_refreshAdvertisementSettings": "Aktualisieren Sie die Ankündigungseinstellungen", + "repeater_refreshAdvertisementSettings": "Aktualisieren Sie die Ankündigungseinstellungen", "repeater_refreshed": "{label} wurde aktualisiert", "@repeater_refreshed": { "placeholders": { @@ -1091,14 +1091,14 @@ } }, "repeater_cliTitle": "Repeater CLI", - "repeater_debugNextCommand": "Fehlersuche des nächsten Befehls", + "repeater_debugNextCommand": "Fehlersuche des nächsten Befehls", "repeater_commandHelp": "Hilfe", - "repeater_clearHistory": "Löschen der Historie", + "repeater_clearHistory": "Löschen der Historie", "repeater_noCommandsSent": "Noch keine Befehle gesendet.", "repeater_typeCommandOrUseQuick": "Geben Sie unten einen Befehl ein oder verwenden Sie die Schnellbefehle", "repeater_enterCommandHint": "Geben Sie den Befehl ein...", "repeater_previousCommand": "Vorhergehende Aktion", - "repeater_nextCommand": "Nächste Aktion", + "repeater_nextCommand": "Nächste Aktion", "repeater_enterCommandFirst": "Geben Sie zuerst einen Befehl ein", "repeater_cliCommandFrameTitle": "CLI-Befehlsfenster", "repeater_cliCommandError": "Fehler: {error}", @@ -1114,73 +1114,73 @@ "repeater_cliQuickGetTx": "Erhalte TX", "repeater_cliQuickNeighbors": "Nachbarn", "repeater_cliQuickVersion": "Version", - "repeater_cliQuickAdvertise": "Ankündigungen", + "repeater_cliQuickAdvertise": "Ankündigungen", "repeater_cliQuickClock": "Uhr", - "repeater_cliHelpAdvert": "Sendet eine Ankündigung", - "repeater_cliHelpReboot": "Startet das Gerät neu. (Beachten Sie, dass es möglicherweise zu einer 'Timeout'-Situation kommt, was normal ist.)", - "repeater_cliHelpClock": "Zeigt die aktuelle Uhrzeit pro Gerät an.", - "repeater_cliHelpPassword": "Legt ein neues Administrator-Passwort für das Gerät fest.", - "repeater_cliHelpVersion": "Zeigt die Geräteversion und das Datum des Firmware-Builds an.", - "repeater_cliHelpClearStats": "Setzt verschiedene Statistikberechnungen auf Null zurück.", + "repeater_cliHelpAdvert": "Sendet eine Ankündigung", + "repeater_cliHelpReboot": "Startet das Gerät neu. (Beachten Sie, dass es möglicherweise zu einer 'Timeout'-Situation kommt, was normal ist.)", + "repeater_cliHelpClock": "Zeigt die aktuelle Uhrzeit pro Gerät an.", + "repeater_cliHelpPassword": "Legt ein neues Administrator-Passwort für das Gerät fest.", + "repeater_cliHelpVersion": "Zeigt die Geräteversion und das Datum des Firmware-Builds an.", + "repeater_cliHelpClearStats": "Setzt verschiedene Statistikberechnungen auf Null zurück.", "repeater_cliHelpSetAf": "Legt den Luftzeitfaktor fest.", - "repeater_cliHelpSetTx": "Legt die LoRa-Übertragungspower in dBm (bezogen auf 1 Watt) fest. (Neustart erforderlich, um die Änderungen anzuwenden)", - "repeater_cliHelpSetRepeat": "Aktiviert oder deaktiviert die Repeater-Rolle für diesen Knoten.", - "repeater_cliHelpSetAllowReadOnly": "(Raumspeicher) Wenn 'an', dann wird die Anmeldung mit einem leeren Passwort erlaubt sein, aber es kann nicht in den Raum gesendet werden. (nur lesen möglich).", - "repeater_cliHelpSetFloodMax": "Legt die maximale Anzahl an Hops für Pakete der eingehenden Flut (wenn >= max, wird das Paket nicht weitergeleitet)", + "repeater_cliHelpSetTx": "Legt die LoRa-Übertragungspower in dBm (bezogen auf 1 Watt) fest. (Neustart erforderlich, um die Änderungen anzuwenden)", + "repeater_cliHelpSetRepeat": "Aktiviert oder deaktiviert die Repeater-Rolle für diesen Knoten.", + "repeater_cliHelpSetAllowReadOnly": "(Raumspeicher) Wenn 'an', dann wird die Anmeldung mit einem leeren Passwort erlaubt sein, aber es kann nicht in den Raum gesendet werden. (nur lesen möglich).", + "repeater_cliHelpSetFloodMax": "Legt die maximale Anzahl an Hops für Pakete der eingehenden Flut (wenn >= max, wird das Paket nicht weitergeleitet)", "repeater_cliHelpSetIntThresh": "Legt den Interferenzeniveau (in dB) fest. Der Standardwert ist 14. Auf 0 setzen, um die Erkennung von Kanalinterferenzen zu deaktivieren.", - "repeater_cliHelpSetAgcResetInterval": "Legt das Intervall für das Zurücksetzen des Auto Gain Controllers fest. Auf 0 setzen, um die Funktion zu deaktivieren.", + "repeater_cliHelpSetAgcResetInterval": "Legt das Intervall für das Zurücksetzen des Auto Gain Controllers fest. Auf 0 setzen, um die Funktion zu deaktivieren.", "repeater_cliHelpSetMultiAcks": "Aktiviert oder deaktiviert die Funktion 'Doppel-ACKs'.", - "repeater_cliHelpSetAdvertInterval": "Legt das Timer-Intervall in Minuten fest, um ein lokales (ohne-Weiterleitung) Ankündigungspaket zu senden. Auf 0 setzen, um die Funktion zu deaktivieren.", - "repeater_cliHelpSetFloodAdvertInterval": "Legt das Timer-Intervall in Stunden für den Versand eines Flut-Ankündigungspacket fest. Auf 0 setzen, um es zu deaktivieren.", - "repeater_cliHelpSetGuestPassword": "Legt/aktualisiert das Gastpasswort fest. (für Repeater können Gast-Logins die \"Get Stats\"-Anfrage senden)", + "repeater_cliHelpSetAdvertInterval": "Legt das Timer-Intervall in Minuten fest, um ein lokales (ohne-Weiterleitung) Ankündigungspaket zu senden. Auf 0 setzen, um die Funktion zu deaktivieren.", + "repeater_cliHelpSetFloodAdvertInterval": "Legt das Timer-Intervall in Stunden für den Versand eines Flut-Ankündigungspacket fest. Auf 0 setzen, um es zu deaktivieren.", + "repeater_cliHelpSetGuestPassword": "Legt/aktualisiert das Gastpasswort fest. (für Repeater können Gast-Logins die \"Get Stats\"-Anfrage senden)", "repeater_cliHelpSetName": "Legt den Anzeigenamen fest.", - "repeater_cliHelpSetLat": "Legt die Breitengrad der Ankündigung fest. (dezimale Grad)", - "repeater_cliHelpSetLon": "Legt die Längengrade der Ankündigung fest. (dezimale Grad)", - "repeater_cliHelpSetRadio": "Legt komplett neue Radio-Parameter fest und speichert diese als Präferenzen. Benötigt einen \"Reboot\"-Befehl, um sie anzuwenden.", - "repeater_cliHelpSetRxDelay": "Fügt eine leichte Verzögerung bei empfangenen Paketen hinzu, basierend auf Signalstärke/Punktzahl. Auf 0 setzen, um die Funktion zu deaktivieren.", - "repeater_cliHelpSetTxDelay": "Legt einen Faktor fest, der mit der Zeit bei voller Zuluft für ein Flood-Mode-Paket und mit einem zufälligen Slot-System multipliziert wird, um dessen Weiterleitung zu verzögern (um Kollisionen zu vermeiden).", - "repeater_cliHelpSetDirectTxDelay": "Ähnlich wie txdelay, aber zum Anwenden einer zufälligen Verzögerung bei der Weiterleitung von Direktmodus-Paketen.", - "repeater_cliHelpSetBridgeEnabled": "Brücke aktivieren/deaktivieren.", - "repeater_cliHelpSetBridgeDelay": "Setze Verzögerung vor erneuter Übertragung von Paketen.", - "repeater_cliHelpSetBridgeSource": "Wählen Sie, ob über die Brücke empfangene oder gesendete Pakete erneut übertragen soll.", - "repeater_cliHelpSetBridgeBaud": "Setze die serielle Link-Baudrate für RS232-Brücken.", - "repeater_cliHelpSetBridgeSecret": "Richte das Brückenpassword ein.", - "repeater_cliHelpSetAdcMultiplier": "Legt einen benutzerdefinierten Faktor zur Anpassung der gemeldeten Batteriewirkspannung fest (nur auf ausgewählten Boards unterstützt).", - "repeater_cliHelpTempRadio": "Legt vorübergehende Funkparameter für die angegebene Anzahl von Minuten fest und kehrt anschließend zu den ursprünglichen Funkparametern zurück (wird nicht in den Einstellungen gespeichert).", - "repeater_cliHelpSetPerm": "Ändert die ACL. Entfernt das passende Eintragen (durch Pubkey-Präfix), wenn \"permissions\" auf 0 steht. Fügt ein neues Eintragen hinzu, wenn die Pubkey-Hex-Länge vollständig ist und nicht bereits in der ACL vorhanden ist. Aktualisiert das Eintragen anhand des übereinstimmenden Pubkey-Präfix. Berechtigungsbits variieren je nach Firmware-Rolle, aber die unteren 2 Bits sind: 0 (Gast), 1 (Nur Lesen), 2 (Lesen/Schreiben), 3 (Admin)", - "repeater_cliHelpGetBridgeType": "Ruft Brückentyp: none, rs232, espnow ab.", + "repeater_cliHelpSetLat": "Legt die Breitengrad der Ankündigung fest. (dezimale Grad)", + "repeater_cliHelpSetLon": "Legt die Längengrade der Ankündigung fest. (dezimale Grad)", + "repeater_cliHelpSetRadio": "Legt komplett neue Radio-Parameter fest und speichert diese als Präferenzen. Benötigt einen \"Reboot\"-Befehl, um sie anzuwenden.", + "repeater_cliHelpSetRxDelay": "Fügt eine leichte Verzögerung bei empfangenen Paketen hinzu, basierend auf Signalstärke/Punktzahl. Auf 0 setzen, um die Funktion zu deaktivieren.", + "repeater_cliHelpSetTxDelay": "Legt einen Faktor fest, der mit der Zeit bei voller Zuluft für ein Flood-Mode-Paket und mit einem zufälligen Slot-System multipliziert wird, um dessen Weiterleitung zu verzögern (um Kollisionen zu vermeiden).", + "repeater_cliHelpSetDirectTxDelay": "Ähnlich wie txdelay, aber zum Anwenden einer zufälligen Verzögerung bei der Weiterleitung von Direktmodus-Paketen.", + "repeater_cliHelpSetBridgeEnabled": "Brücke aktivieren/deaktivieren.", + "repeater_cliHelpSetBridgeDelay": "Setze Verzögerung vor erneuter Übertragung von Paketen.", + "repeater_cliHelpSetBridgeSource": "Wählen Sie, ob über die Brücke empfangene oder gesendete Pakete erneut übertragen soll.", + "repeater_cliHelpSetBridgeBaud": "Setze die serielle Link-Baudrate für RS232-Brücken.", + "repeater_cliHelpSetBridgeSecret": "Richte das Brückenpassword ein.", + "repeater_cliHelpSetAdcMultiplier": "Legt einen benutzerdefinierten Faktor zur Anpassung der gemeldeten Batteriewirkspannung fest (nur auf ausgewählten Boards unterstützt).", + "repeater_cliHelpTempRadio": "Legt vorübergehende Funkparameter für die angegebene Anzahl von Minuten fest und kehrt anschließend zu den ursprünglichen Funkparametern zurück (wird nicht in den Einstellungen gespeichert).", + "repeater_cliHelpSetPerm": "Ändert die ACL. Entfernt das passende Eintragen (durch Pubkey-Präfix), wenn \"permissions\" auf 0 steht. Fügt ein neues Eintragen hinzu, wenn die Pubkey-Hex-Länge vollständig ist und nicht bereits in der ACL vorhanden ist. Aktualisiert das Eintragen anhand des übereinstimmenden Pubkey-Präfix. Berechtigungsbits variieren je nach Firmware-Rolle, aber die unteren 2 Bits sind: 0 (Gast), 1 (Nur Lesen), 2 (Lesen/Schreiben), 3 (Admin)", + "repeater_cliHelpGetBridgeType": "Ruft Brückentyp: none, rs232, espnow ab.", "repeater_cliHelpLogStart": "Beginnt die Paketprotokollierung in das Dateisystem.", "repeater_cliHelpLogStop": "Stoppt das Paketprotokollieren in das Dateisystem.", - "repeater_cliHelpLogErase": "Löscht die Paketprotokolle aus dem Dateisystem.", - "repeater_cliHelpNeighbors": "Zeigt eine Liste anderer Repeater-Knoten an, die über Zero-Hop-Ankündigung gehört wurden. Jede Zeile ist id-prefix-hex:timestamp:snr-times-4", - "repeater_cliHelpNeighborRemove": "Entfernt das erste übereinstimmende Element (über Pubkey-Präfix (hex)) aus der Liste der Nachbarn.", + "repeater_cliHelpLogErase": "Löscht die Paketprotokolle aus dem Dateisystem.", + "repeater_cliHelpNeighbors": "Zeigt eine Liste anderer Repeater-Knoten an, die über Zero-Hop-Ankündigung gehört wurden. Jede Zeile ist id-prefix-hex:timestamp:snr-times-4", + "repeater_cliHelpNeighborRemove": "Entfernt das erste übereinstimmende Element (über Pubkey-Präfix (hex)) aus der Liste der Nachbarn.", "repeater_cliHelpRegion": "Listet alle definierten Regionen auf.", - "repeater_cliHelpRegionLoad": "Hinweis: Dies ist ein spezieller Mehrbefehl-Aufruf. Jeder nachfolgende Befehl ist ein Regionsname (eingerückt mit Leerzeichen zur Angabe der übergeordneten Hierarchie, mit mindestens einem Leerzeichen). Beendet durch das Senden einer Leerzeile.", - "repeater_cliHelpRegionGet": "Sucht die Region mit dem gegebenen Namenspräfix (oder \"\\\" für den globalen Scope) und antwortet mit \"-> region-name (parent-name) 'F'\".", - "repeater_cliHelpRegionPut": "Fügt eine Region-Definition mit dem angegebenen Namen hinzu oder aktualisiert diese.", - "repeater_cliHelpRegionRemove": "Löscht eine Regiondefinition mit dem angegebenen Namen. (muss genau übereinstimmen und keine Kindregionen haben)", - "repeater_cliHelpRegionAllowf": "Legt die 'Flut'-Berechtigung für die angegebene Region fest. ('' für den globalen/legacy-Bereich)", - "repeater_cliHelpRegionDenyf": "Entfernt die \"F\"lood-Berechtigung für die angegebene Region. (ANMERKUNG: in dieser Phase wird nicht empfohlen, dies auf dem globalen/legacy-Bereich zu verwenden!!)", - "repeater_cliHelpRegionHome": "Antwortet mit der aktuellen 'Home'-Region. (Hinweis wurde bisher nirgendwo angewendet, für zukünftige Zwecke reserviert)", + "repeater_cliHelpRegionLoad": "Hinweis: Dies ist ein spezieller Mehrbefehl-Aufruf. Jeder nachfolgende Befehl ist ein Regionsname (eingerückt mit Leerzeichen zur Angabe der übergeordneten Hierarchie, mit mindestens einem Leerzeichen). Beendet durch das Senden einer Leerzeile.", + "repeater_cliHelpRegionGet": "Sucht die Region mit dem gegebenen Namenspräfix (oder \"\\\" für den globalen Scope) und antwortet mit \"-> region-name (parent-name) 'F'\".", + "repeater_cliHelpRegionPut": "Fügt eine Region-Definition mit dem angegebenen Namen hinzu oder aktualisiert diese.", + "repeater_cliHelpRegionRemove": "Löscht eine Regiondefinition mit dem angegebenen Namen. (muss genau übereinstimmen und keine Kindregionen haben)", + "repeater_cliHelpRegionAllowf": "Legt die 'Flut'-Berechtigung für die angegebene Region fest. ('' für den globalen/legacy-Bereich)", + "repeater_cliHelpRegionDenyf": "Entfernt die \"F\"lood-Berechtigung für die angegebene Region. (ANMERKUNG: in dieser Phase wird nicht empfohlen, dies auf dem globalen/legacy-Bereich zu verwenden!!)", + "repeater_cliHelpRegionHome": "Antwortet mit der aktuellen 'Home'-Region. (Hinweis wurde bisher nirgendwo angewendet, für zukünftige Zwecke reserviert)", "repeater_cliHelpRegionHomeSet": "Legt die 'Home'-Region fest.", "repeater_cliHelpRegionSave": "Speichert die Regionenliste/Karte in den Speicher.", "repeater_cliHelpGps": "Zeigt GPS-Status an. Wenn GPS deaktiviert ist, antwortet es nur mit \"aus\", wenn es eingeschaltet ist, antwortet es mit \"an\", \"Status\", \"Fix\" und Satellitenanzahl.", "repeater_cliHelpGpsOnOff": "Schaltet die GPS-Leistung ein/aus.", "repeater_cliHelpGpsSync": "Synchronisiert die Knotenzeit mit der GPS-Uhr.", - "repeater_cliHelpGpsSetLoc": "Setze die Position des Knotens auf GPS-Koordinaten und speichere die Präferenzen.", - "repeater_cliHelpGpsAdvert": "Gibt Konfiguration für die Standortanzeige des Knotens:\n- none: Standort nicht in Anzeigen einbeziehen\n- share: GPS-Standort teilen (von SensorManager)\n- prefs: Standort aus Einstellungen anzeigen", + "repeater_cliHelpGpsSetLoc": "Setze die Position des Knotens auf GPS-Koordinaten und speichere die Präferenzen.", + "repeater_cliHelpGpsAdvert": "Gibt Konfiguration für die Standortanzeige des Knotens:\n- none: Standort nicht in Anzeigen einbeziehen\n- share: GPS-Standort teilen (von SensorManager)\n- prefs: Standort aus Einstellungen anzeigen", "repeater_cliHelpGpsAdvertSet": "Legt die Standort-Anzeigekonfiguration fest.", "repeater_commandsListTitle": "Befehlsliste", - "repeater_commandsListNote": "ACHTUNG: Für die verschiedenen „set ...“-Befehle gibt es auch einen „get ...“-Befehl.", + "repeater_commandsListNote": "ACHTUNG: Für die verschiedenen „set ...“-Befehle gibt es auch einen „get ...“-Befehl.", "repeater_general": "Allgemein", "repeater_settingsCategory": "Einstellungen", - "repeater_bridge": "Brücke", + "repeater_bridge": "Brücke", "repeater_logging": "Protokollierung", "repeater_neighborsRepeaterOnly": "Nachbarn (nur Repeater)", "repeater_regionManagementRepeaterOnly": "Regionenverwaltung (nur Repeater)", - "repeater_regionNote": "Region-Befehle wurden eingeführt, um Region-Definitionen und Berechtigungen zu verwalten.", + "repeater_regionNote": "Region-Befehle wurden eingeführt, um Region-Definitionen und Berechtigungen zu verwalten.", "repeater_gpsManagement": "GPS-Verwaltung", - "repeater_gpsNote": "Der GPS-Befehl wurde eingeführt, um Standortbezogene Themen zu verwalten.", + "repeater_gpsNote": "Der GPS-Befehl wurde eingeführt, um Standortbezogene Themen zu verwalten.", "telemetry_receivedData": "Empfangene Telemetriedaten", "telemetry_requestTimeout": "Telemetry-Anfrage hat zu lange gedauert.", "telemetry_errorLoading": "Fehler beim Laden der Telemetrie: {error}", @@ -1191,7 +1191,7 @@ } } }, - "telemetry_noData": "Keine Telemetriedaten verfügbar.", + "telemetry_noData": "Keine Telemetriedaten verfügbar.", "telemetry_channelTitle": "Kanal {channel}", "@telemetry_channelTitle": { "placeholders": { @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1246,15 +1246,15 @@ "channelPath_title": "Paketpfad", "channelPath_viewMap": "Karte anzeigen", "channelPath_otherObservedPaths": "Sonstige beobachtete Pfade", - "channelPath_repeaterHops": "Repeater-Sprünge", - "channelPath_noHopDetails": "Die Detailangaben für dieses Paket sind nicht verfügbar.", + "channelPath_repeaterHops": "Repeater-Sprünge", + "channelPath_noHopDetails": "Die Detailangaben für dieses Paket sind nicht verfügbar.", "channelPath_messageDetails": "Nachrichtendetails", "channelPath_senderLabel": "Sender", "channelPath_timeLabel": "Zeit", "channelPath_repeatsLabel": "Wiederholungen", "channelPath_pathLabel": "Pfad {index}", "channelPath_observedLabel": "Beobachtet", - "channelPath_observedPathTitle": "Beobachteter Pfad {index} • {hops}", + "channelPath_observedPathTitle": "Beobachteter Pfad {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1291,7 +1291,7 @@ "channelPath_unknownPath": "Unbekannt", "channelPath_floodPath": "Geflutet", "channelPath_directPath": "Direkt", - "channelPath_observedZeroOf": "0 von {total} Sprüngen", + "channelPath_observedZeroOf": "0 von {total} Sprüngen", "@channelPath_observedZeroOf": { "placeholders": { "total": { @@ -1299,7 +1299,7 @@ } } }, - "channelPath_observedSomeOf": "{observed} von {total} Sprüngen", + "channelPath_observedSomeOf": "{observed} von {total} Sprüngen", "@channelPath_observedSomeOf": { "placeholders": { "observed": { @@ -1311,8 +1311,8 @@ } }, "channelPath_mapTitle": "Pfadkarte", - "channelPath_noRepeaterLocations": "Für diesen Pfad stehen keine Repeater-Positionen zur Verfügung.", - "channelPath_primaryPath": "Pfad {index} (Primär)", + "channelPath_noRepeaterLocations": "Für diesen Pfad stehen keine Repeater-Positionen zur Verfügung.", + "channelPath_primaryPath": "Pfad {index} (Primär)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Pfad", "channelPath_observedPathHeader": "Beobachteter Pfad", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,17 +1340,17 @@ } } }, - "channelPath_noHopDetailsAvailable": "Keine Informationen zu dieser Paketroute verfügbar.", + "channelPath_noHopDetailsAvailable": "Keine Informationen zu dieser Paketroute verfügbar.", "channelPath_unknownRepeater": "Unbekannter Repeater", "listFilter_tooltip": "Filteren und sortieren", "listFilter_sortBy": "Sortiere nach", "listFilter_latestMessages": "Letzte Nachrichten", - "listFilter_heardRecently": "Kürzlich gehört", + "listFilter_heardRecently": "Kürzlich gehört", "listFilter_az": "A-Z", "listFilter_filters": "Filtere", "listFilter_all": "Alle", "listFilter_favorites": "Favoriten", - "listFilter_addToFavorites": "Zu Favoriten hinzufügen", + "listFilter_addToFavorites": "Zu Favoriten hinzufügen", "listFilter_removeFromFavorites": "Aus Favoriten entfernen", "listFilter_users": "Benutzer", "listFilter_repeaters": "Repeater", @@ -1370,17 +1370,17 @@ "neighbors_requestTimedOut": "Anfrage durch Timeout fehlgeschlagen.", "neighbors_errorLoading": "Fehler beim Laden der Nachbarn: {error}", "neighbors_repeatersNeighbors": "Nachbarn", - "neighbors_noData": "Keine Nachbarsdaten verfügbar.", + "neighbors_noData": "Keine Nachbarsdaten verfügbar.", "channels_joinPrivateChannel": "Treten Sie einem privaten Kanal bei", - "channels_joinPrivateChannelDesc": "Manuelle Eingabe eines geheimen Schlüssels.", + "channels_joinPrivateChannelDesc": "Manuelle Eingabe eines geheimen Schlüssels.", "channels_createPrivateChannel": "Erstelle einen privaten Kanal", - "channels_createPrivateChannelDesc": "Verschlüsselt mit einem geheimen Schlüssel.", - "channels_joinPublicChannel": "Tritt dem öffentlichen Kanal bei", + "channels_createPrivateChannelDesc": "Verschlüsselt mit einem geheimen Schlüssel.", + "channels_joinPublicChannel": "Tritt dem öffentlichen Kanal bei", "channels_joinPublicChannelDesc": "Jeder kann diesem Kanal beitreten.", "channels_joinHashtagChannel": "Treten Sie einem Hashtag-Kanal bei", - "channels_joinHashtagChannelDesc": "Jeder kann sich bei Hashtag-Kanälen beteiligen.", + "channels_joinHashtagChannelDesc": "Jeder kann sich bei Hashtag-Kanälen beteiligen.", "channels_scanQrCode": "Scannen Sie einen QR-Code", - "channels_scanQrCodeComingSoon": "Bald verfügbar", + "channels_scanQrCodeComingSoon": "Bald verfügbar", "channels_enterHashtag": "Gib Hashtag ein", "channels_hashtagHint": "z.B. #team", "@neighbors_unknownContact": { @@ -1397,11 +1397,11 @@ } } }, - "neighbors_heardAgo": "Gehört vor: {time}", + "neighbors_heardAgo": "Gehört vor: {time}", "neighbors_unknownContact": "Unbekannt {pubkey}", "settings_locationGPSEnable": "GPS aktivieren", "settings_locationGPSEnableSubtitle": "Aktiviert GPS zur automatischen Aktualisierung des Standorts.", - "settings_locationIntervalSec": "Intervall für GPS (Sekunden)", + "settings_locationIntervalSec": "Intervall für GPS (Sekunden)", "settings_locationIntervalInvalid": "Das Intervall muss mindestens 60 Sekunden und weniger als 86400 Sekunden betragen.", "contacts_manageRoom": "Raum-Server verwalten", "room_management": "Raum-Server-Verwaltung", @@ -1463,34 +1463,34 @@ }, "common_ok": "OK", "community_create": "Erstelle Community", - "community_createDesc": "Erstelle eine neue Community und teile sie über den QR-Code.", + "community_createDesc": "Erstelle eine neue Community und teile sie über den QR-Code.", "community_join": "Beitreten", "community_joinTitle": "Tritt der Community bei", - "community_joinConfirmation": "Möchten Sie sich der Community \"{name}\" anschließen?", + "community_joinConfirmation": "Möchten Sie sich der Community \"{name}\" anschließen?", "community_scanQr": "Scannen Sie die Community QR-Code", "community_scanInstructions": "Richten Sie die Kamera auf einen Community-QR-Code.", "community_showQr": "Zeige QR-Code", - "community_publicChannel": "Community Öffentlich", + "community_publicChannel": "Community Öffentlich", "community_enterName": "Bitte Community-Name eingeben", "community_title": "Community", "community_created": "Community \"{name}\" wurde erstellt", "community_joined": "Community \"{name}\" beigetreten", "community_qrTitle": "Teile Community", - "community_qrInstructions": "Scannen Sie diesen QR-Code, um sich \"{name}\" anzuschließen.", - "community_hashtagPrivacyHint": "Community-Hashtag-Kanäle können nur von Mitgliedern der Community betreten werden", + "community_qrInstructions": "Scannen Sie diesen QR-Code, um sich \"{name}\" anzuschließen.", + "community_hashtagPrivacyHint": "Community-Hashtag-Kanäle können nur von Mitgliedern der Community betreten werden", "community_hashtagChannel": "Community Hashtag", "community_name": "Community Name", - "community_invalidQrCode": "Ungültiger Community-QR-Code", + "community_invalidQrCode": "Ungültiger Community-QR-Code", "community_alreadyMember": "Bereits registriert", "community_alreadyMemberMessage": "Sie sind bereits Mitglied von \"{name}\".", - "community_addPublicChannel": "Füge einen öffentlichen Community-Kanal hinzu", - "community_addPublicChannelHint": "Automatisch den öffentlichen Kanal für diese Community hinzufügen", + "community_addPublicChannel": "Füge einen öffentlichen Community-Kanal hinzu", + "community_addPublicChannelHint": "Automatisch den öffentlichen Kanal für diese Community hinzufügen", "community_noCommunities": "Noch keiner Community beigetreten", "community_scanOrCreate": "Scannen Sie einen QR-Code oder eine Community erstellen, um loszulegen.", "community_manageCommunities": "Verwalten von Communities", "community_delete": "Verlasse Community", "community_deleteConfirm": "\"{name}\" verlassen?", - "community_deleteChannelsWarning": "Dies löscht auch {count} Kanal/Kanäle und deren Nachrichten.", + "community_deleteChannelsWarning": "Dies löscht auch {count} Kanal/Kanäle und deren Nachrichten.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1499,13 +1499,13 @@ } }, "community_deleted": "Community \"{name}\" verlassen", - "community_addHashtagChannel": "Füge einen Community-Hashtag hinzu", - "community_addHashtagChannelDesc": "Füge einen Hashtag-Kanal für diese Community hinzu", - "community_selectCommunity": "Wählen Sie eine Community", - "community_regularHashtag": "Regulärer Hashtag", - "community_regularHashtagDesc": "Öffentlicher Hashtag (jeder kann teilnehmen)", - "community_communityHashtagDesc": "Nur für Mitglieder der Community", - "community_forCommunity": "Für {name}", + "community_addHashtagChannel": "Füge einen Community-Hashtag hinzu", + "community_addHashtagChannelDesc": "Füge einen Hashtag-Kanal für diese Community hinzu", + "community_selectCommunity": "Wählen Sie eine Community", + "community_regularHashtag": "Regulärer Hashtag", + "community_regularHashtagDesc": "Öffentlicher Hashtag (jeder kann teilnehmen)", + "community_communityHashtagDesc": "Nur für Mitglieder der Community", + "community_forCommunity": "Für {name}", "community_communityHashtag": "Community Hashtag", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1536,12 +1536,12 @@ } }, "community_regenerate": "Neu generieren", - "community_secretRegenerated": "Wiederherstellung des Schlüssels für \"{name}\" erfolgreich", - "community_regenerateSecretConfirm": "Nehmen Sie den geheimen Schlüssel für \"{name}\" neu auf? Alle Mitglieder müssen den neuen QR-Code scannen, um die Kommunikation fortzusetzen.", - "community_regenerateSecret": "Neugenerierung des Schlüssels", - "community_secretUpdated": "Schlüssel für \"{name}\" aktualisiert", - "community_scanToUpdateSecret": "Scannen Sie den neuen QR-Code, um das Geheimnis für \"{name}\" zu aktualisieren.", - "community_updateSecret": "Aktualisieren Sie den Schlüssel", + "community_secretRegenerated": "Wiederherstellung des Schlüssels für \"{name}\" erfolgreich", + "community_regenerateSecretConfirm": "Nehmen Sie den geheimen Schlüssel für \"{name}\" neu auf? Alle Mitglieder müssen den neuen QR-Code scannen, um die Kommunikation fortzusetzen.", + "community_regenerateSecret": "Neugenerierung des Schlüssels", + "community_secretUpdated": "Schlüssel für \"{name}\" aktualisiert", + "community_scanToUpdateSecret": "Scannen Sie den neuen QR-Code, um das Geheimnis für \"{name}\" zu aktualisieren.", + "community_updateSecret": "Aktualisieren Sie den Schlüssel", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1552,7 +1552,7 @@ "pathTrace_refreshTooltip": "Path Trace aktualisieren.", "pathTrace_you": "Du", "pathTrace_failed": "Pfadverfolgung fehlgeschlagen.", - "pathTrace_notAvailable": "Pfadverfolgung nicht verfügbar.", + "pathTrace_notAvailable": "Pfadverfolgung nicht verfügbar.", "contacts_pathTrace": "Pfadverfolgung", "contacts_ping": "Pingen", "contacts_repeaterPathTrace": "Pfadverfolgung zum Repeater", @@ -1562,24 +1562,24 @@ "contacts_pathTraceTo": "Route nach {name} verfolgen", "contacts_chatTraceRoute": "Pfadverfolgungsroute", "appSettings_languageRu": "Russisch", - "contacts_invalidAdvertFormat": "Ungültige Kontaktdaten", + "contacts_invalidAdvertFormat": "Ungültige Kontaktdaten", "contacts_clipboardEmpty": "Die Zwischenablage ist leer.", "appSettings_languageUk": "Ukrainisch", "appSettings_enableMessageTracing": "Nachrichtenverfolgung aktivieren", - "appSettings_enableMessageTracingSubtitle": "Detaillierte Routing- und Timing-Metadaten für Nachrichten anzeigen", + "appSettings_enableMessageTracingSubtitle": "Detaillierte Routing- und Timing-Metadaten für Nachrichten anzeigen", "contacts_contactImported": "Kontakt wurde importiert.", "contacts_contactImportFailed": "Kontakt konnte nicht importiert werden", - "contacts_zeroHopAdvert": "Zero-Hop-Ankündigung", - "contacts_floodAdvert": "Flut-Ankündigung", - "contacts_addContactFromClipboard": "Kontakt aus Zwischenablage hinzufügen", - "contacts_ShareContactZeroHop": "Kontakt über Anzeige teilen", - "contacts_copyAdvertToClipboard": "Ankündigung in die Zwischenablage kopieren", + "contacts_zeroHopAdvert": "Zero-Hop-Ankündigung", + "contacts_floodAdvert": "Flut-Ankündigung", + "contacts_addContactFromClipboard": "Kontakt aus Zwischenablage hinzufügen", + "contacts_ShareContactZeroHop": "Kontakt über Anzeige teilen", + "contacts_copyAdvertToClipboard": "Ankündigung in die Zwischenablage kopieren", "contacts_ShareContact": "Kontakt in die Zwischenablage kopieren", "contacts_zeroHopContactAdvertFailed": "Kontakt konnte nicht gesendet werden.", - "contacts_zeroHopContactAdvertSent": "Kontakt über Anzeige gesendet", + "contacts_zeroHopContactAdvertSent": "Kontakt über Anzeige gesendet", "contacts_contactAdvertCopied": "Anzeige in die Zwischenablage kopiert.", - "contacts_contactAdvertCopyFailed": "Kopieren der Ankündigung in die Zwischenablage fehlgeschlagen.", - "notification_activityTitle": "MeshCore Aktivität", + "contacts_contactAdvertCopyFailed": "Kopieren der Ankündigung in die Zwischenablage fehlgeschlagen.", + "notification_activityTitle": "MeshCore Aktivität", "notification_messagesCount": "{count} {count, plural, =1{Nachricht} other{Nachrichten}}", "@notification_messagesCount": { "placeholders": { @@ -1623,36 +1623,36 @@ "settings_gpxExportChat": "Kontaktstandorte", "settings_gpxExportNoContacts": "Keine Kontakte zum Exportieren.", "settings_gpxExportError": "Beim Export ist ein Fehler aufgetreten.", - "settings_gpxExportNotAvailable": "Nicht auf Ihrem Gerät/Betriebssystem unterstützt", + "settings_gpxExportNotAvailable": "Nicht auf Ihrem Gerät/Betriebssystem unterstützt", "settings_gpxExportSuccess": "GPX-Datei erfolgreich exportiert.", "settings_gpxExportAllContacts": "Alle Kontaktstandorte", "settings_gpxExportShareSubject": "GPX-Kartendaten aus meshcore-open exportieren", "settings_gpxExportShareText": "GPX-Kartendaten aus meshcore-open exportiert", "pathTrace_someHopsNoLocation": "Bei einer oder mehreren Knoten fehlt der Standort!", "map_removeLast": "Letztes Entfernen", - "map_tapToAdd": "Tippen Sie auf Knoten, um sie zum Pfad hinzuzufügen.", - "map_runTrace": "Pfadverlauf ausführen", - "pathTrace_clearTooltip": "Pfad löschen", + "map_tapToAdd": "Tippen Sie auf Knoten, um sie zum Pfad hinzuzufügen.", + "map_runTrace": "Pfadverlauf ausführen", + "pathTrace_clearTooltip": "Pfad löschen", "map_pathTraceCancelled": "Pfadverfolgung abgebrochen.", - "scanner_bluetoothOffMessage": "Bitte aktivieren Sie Bluetooth, um nach Geräten zu suchen.", + "scanner_bluetoothOffMessage": "Bitte aktivieren Sie Bluetooth, um nach Geräten zu suchen.", "scanner_chromeRequired": "Chrome Browser erforderlich", - "scanner_chromeRequiredMessage": "Diese Webanwendung erfordert Google Chrome oder einen Chromium-basierten Browser für die Bluetooth-Unterstützung.", + "scanner_chromeRequiredMessage": "Diese Webanwendung erfordert Google Chrome oder einen Chromium-basierten Browser für die Bluetooth-Unterstützung.", "scanner_bluetoothOff": "Bluetooth ist deaktiviert.", "scanner_enableBluetooth": "Bluetooth aktivieren", "snrIndicator_lastSeen": "Zuletzt gesehen", - "snrIndicator_nearByRepeaters": "In der Nähe befindliche Repeater", + "snrIndicator_nearByRepeaters": "In der Nähe befindliche Repeater", "chat_ShowAllPaths": "Alle Pfade anzeigen", "settings_clientRepeat": "Wiederholung, ohne Stromanschluss", "settings_clientRepeatFreqWarning": "Die Kommunikation ohne Stromversorgung erfordert Frequenzen von 433, 869 oder 918 MHz.", - "settings_clientRepeatSubtitle": "Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen.", - "settings_aboutOpenMeteoAttribution": "LOS-Höhendaten: Open-Meteo (CC BY 4.0)", + "settings_clientRepeatSubtitle": "Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen.", + "settings_aboutOpenMeteoAttribution": "LOS-Höhendaten: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Einheiten", "appSettings_unitsMetric": "Metrisch (m/km)", "appSettings_unitsImperial": "Imperial (ft/mi)", "map_lineOfSight": "Sichtlinie", "map_losScreenTitle": "Sichtlinie", - "losSelectStartEnd": "Wählen Sie Start- und Endknoten für LOS aus.", - "losRunFailed": "Sichtlinienprüfung fehlgeschlagen: {error}", + "losSelectStartEnd": "Wählen Sie Start- und Endknoten für LOS aus.", + "losRunFailed": "Sichtlinienprüfung fehlgeschlagen: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1660,10 +1660,10 @@ } } }, - "losClearAllPoints": "Löschen Sie alle Punkte", - "losRunToViewElevationProfile": "Führen Sie LOS aus, um das Höhenprofil anzuzeigen", - "losMenuTitle": "LOS-Menü", - "losMenuSubtitle": "Tippen Sie auf Knoten oder drücken Sie lange auf die Karte, um benutzerdefinierte Punkte anzuzeigen", + "losClearAllPoints": "Löschen Sie alle Punkte", + "losRunToViewElevationProfile": "Führen Sie LOS aus, um das Höhenprofil anzuzeigen", + "losMenuTitle": "LOS-Menü", + "losMenuSubtitle": "Tippen Sie auf Knoten oder drücken Sie lange auf die Karte, um benutzerdefinierte Punkte anzuzeigen", "losShowDisplayNodes": "Anzeigeknoten anzeigen", "losCustomPoints": "Benutzerdefinierte Punkte", "losCustomPointLabel": "Benutzerdefiniert {index}", @@ -1698,8 +1698,8 @@ } } }, - "losRun": "Führen Sie LOS aus", - "losNoElevationData": "Keine Höhendaten", + "losRun": "Führen Sie LOS aus", + "losNoElevationData": "Keine Höhendaten", "losProfileClear": "{distance} {distanceUnit}, freie Sichtlinie, Mindestabstand {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { @@ -1734,7 +1734,7 @@ } } }, - "losStatusChecking": "LOS: Überprüfen...", + "losStatusChecking": "LOS: Überprüfen...", "losStatusNoData": "LOS: keine Daten", "losStatusSummary": "Sichtlinie: {clear}/{total} frei, {blocked} blockiert, {unknown} unbekannt", "@losStatusSummary": { @@ -1753,20 +1753,20 @@ } } }, - "losErrorElevationUnavailable": "Für eine oder mehrere Proben sind keine Höhendaten verfügbar.", - "losErrorInvalidInput": "Ungültige Punkte/Höhendaten für die LOS-Berechnung.", + "losErrorElevationUnavailable": "Für eine oder mehrere Proben sind keine Höhendaten verfügbar.", + "losErrorInvalidInput": "Ungültige Punkte/Höhendaten für die LOS-Berechnung.", "losRenameCustomPoint": "Benennen Sie den benutzerdefinierten Punkt um", "losPointName": "Punktname", "losShowPanelTooltip": "LOS-Panel anzeigen", "losHidePanelTooltip": "LOS-Panel ausblenden", - "losElevationAttribution": "Höhendaten: Open-Meteo (CC BY 4.0)", + "losElevationAttribution": "Höhendaten: Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Funkhorizont", "losLegendLosBeam": "Sichtlinie", - "losLegendTerrain": "Gelände", + "losLegendTerrain": "Gelände", "losFrequencyLabel": "Frequenz", "losFrequencyInfoTooltip": "Details zur Berechnung anzeigen", "losFrequencyDialogTitle": "Berechnung des Funkhorizonts", - "losFrequencyDialogDescription": "Ausgehend von k={baselineK} bei {baselineFreq} MHz passt die Berechnung den k-Faktor für das aktuelle {frequencyMHz} MHz-Band an, das die gekrümmte Funkhorizontobergrenze definiert.", + "losFrequencyDialogDescription": "Ausgehend von k={baselineK} bei {baselineFreq} MHz passt die Berechnung den k-Faktor für das aktuelle {frequencyMHz} MHz-Band an, das die gekrümmte Funkhorizontobergrenze definiert.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1830,13 +1830,11 @@ "contacts_searchFavorites": "Suche {number}{str} Favoriten...", "contacts_searchUsers": "Suche {number}{str} Benutzer...", "contacts_searchRoomServers": "Suche {number}{str} Raumserver...", - "connectionChoiceSubtitle": "Wählen Sie, wie Sie Ihr MeshCore-Gerät erreichen möchten.", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", - "connectionChoiceTitle": "Wählen Sie Ihre bevorzugte Verbindungsmethode.", - "usbScreenSubtitle": "Wählen Sie ein erkannten serielles Gerät aus und verbinden Sie es direkt mit Ihrem MeshCore-Knoten.", - "usbScreenNote": "USB-Serielle Schnittstelle ist auf unterstützten Android-Geräten und Desktop-Plattformen aktiv.", - "usbScreenTitle": "Über USB verbinden", - "usbScreenStatus": "Wählen Sie ein USB-Gerät aus", - "usbScreenEmptyState": "Keine USB-Geräte gefunden. Schließen Sie eines an und aktualisieren Sie." + "usbScreenSubtitle": "Wählen Sie ein erkannten serielles Gerät aus und verbinden Sie es direkt mit Ihrem MeshCore-Knoten.", + "usbScreenNote": "USB-Serielle Schnittstelle ist auf unterstützten Android-Geräten und Desktop-Plattformen aktiv.", + "usbScreenTitle": "Über USB verbinden", + "usbScreenStatus": "Wählen Sie ein USB-Gerät aus", + "usbScreenEmptyState": "Keine USB-Geräte gefunden. Schließen Sie eines an und aktualisieren Sie." } diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 9719c7c..58b04aa 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1,4 +1,4 @@ -{ +{ "@@locale": "en", "appTitle": "MeshCore Open", "nav_contacts": "Contacts", @@ -28,7 +28,7 @@ "common_disable": "Disable", "common_reboot": "Reboot", "common_loading": "Loading...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -46,8 +46,6 @@ } }, "scanner_title": "MeshCore Open", - "connectionChoiceTitle": "Choose your connection method", - "connectionChoiceSubtitle": "Select how you would like to reach your MeshCore device.", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", "usbScreenTitle": "Connect over USB", @@ -180,20 +178,20 @@ "appSettings_language": "Language", "appSettings_languageSystem": "System default", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", - "appSettings_languageRu": "Русский", - "appSettings_languageUk": "Українська", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", + "appSettings_languageRu": "Русский", + "appSettings_languageUk": "Українська", "appSettings_enableMessageTracing": "Enable Message Tracing", "appSettings_enableMessageTracingSubtitle": "Show detailed routing and timing metadata for messages", "appSettings_notifications": "Notifications", @@ -1341,7 +1339,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1391,7 +1389,7 @@ "channelPath_repeatsLabel": "Repeats", "channelPath_pathLabel": "Path {index}", "channelPath_observedLabel": "Observed", - "channelPath_observedPathTitle": "Observed path {index} • {hops}", + "channelPath_observedPathTitle": "Observed path {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1466,7 +1464,7 @@ }, "channelPath_pathLabelTitle": "Path", "channelPath_observedPathHeader": "Observed Path", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index a69503a..8a11672 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -1,4 +1,4 @@ -{ +{ "channels_channelDeleteFailed": "No se pudo eliminar el canal \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { @@ -19,8 +19,8 @@ "common_delete": "Eliminar", "common_close": "Cerrar", "common_edit": "Editar", - "common_add": "Añadir", - "common_settings": "Configuración", + "common_add": "Añadir", + "common_settings": "Configuración", "common_disconnect": "Desconectar", "common_connected": "Conectado", "common_disconnected": "Desconectado", @@ -35,7 +35,7 @@ "common_disable": "Desactivar", "common_reboot": "Reiniciar", "common_loading": "Cargando...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -56,7 +56,7 @@ "scanner_scanning": "Escaneando dispositivos...", "scanner_connecting": "Conectando...", "scanner_disconnecting": "Desconectando...", - "scanner_notConnected": "No está conectado", + "scanner_notConnected": "No está conectado", "scanner_connectedTo": "Conectado a {deviceName}", "@scanner_connectedTo": { "placeholders": { @@ -67,7 +67,7 @@ }, "scanner_searchingDevices": "Buscando dispositivos MeshCore...", "scanner_tapToScan": "Toca Escanear para encontrar dispositivos MeshCore", - "scanner_connectionFailed": "Error de conexión: {error}", + "scanner_connectionFailed": "Error de conexión: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -77,49 +77,49 @@ }, "scanner_stop": "Detener", "scanner_scan": "Escanea", - "device_quickSwitch": "Cambiar rápidamente", + "device_quickSwitch": "Cambiar rápidamente", "device_meshcore": "MeshCore", - "settings_title": "Configuración", - "settings_deviceInfo": "Información del dispositivo", - "settings_appSettings": "Configuración de la App", + "settings_title": "Configuración", + "settings_deviceInfo": "Información del dispositivo", + "settings_appSettings": "Configuración de la App", "settings_appSettingsSubtitle": "Notificaciones, mensajes y preferencias de mapa", - "settings_nodeSettings": "Configuración del Nodo", + "settings_nodeSettings": "Configuración del Nodo", "settings_nodeName": "Nombre del nodo", - "settings_nodeNameNotSet": "No está configurado", + "settings_nodeNameNotSet": "No está configurado", "settings_nodeNameHint": "Introducir nombre de nodo", "settings_nodeNameUpdated": "Nombre actualizado", - "settings_radioSettings": "Configuración de Radio", - "settings_radioSettingsSubtitle": "Frecuencia, potencia, factor de dispersión", + "settings_radioSettings": "Configuración de Radio", + "settings_radioSettingsSubtitle": "Frecuencia, potencia, factor de dispersión", "settings_radioSettingsUpdated": "Ajustes de radio actualizados", - "settings_location": "Ubicación", + "settings_location": "Ubicación", "settings_locationSubtitle": "Coordenadas GPS", - "settings_locationUpdated": "Ubicación actualizada", + "settings_locationUpdated": "Ubicación actualizada", "settings_locationBothRequired": "Introduzca tanto la latitud como la longitud.", - "settings_locationInvalid": "Latitud o longitud inválidos.", + "settings_locationInvalid": "Latitud o longitud inválidos.", "settings_latitude": "Latitud", "settings_longitude": "Longitud", "settings_privacyMode": "Modo Privacidad", - "settings_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios", - "settings_privacyModeToggle": "Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.", + "settings_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios", + "settings_privacyModeToggle": "Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.", "settings_privacyModeEnabled": "Modo de privacidad activado", "settings_privacyModeDisabled": "Modo de privacidad desactivado", "settings_actions": "Acciones", "settings_sendAdvertisement": "Enviar Anuncio", - "settings_sendAdvertisementSubtitle": "Presencia de transmisión ahora", + "settings_sendAdvertisementSubtitle": "Presencia de transmisión ahora", "settings_advertisementSent": "Anuncio enviado", - "settings_syncTime": "Tiempo de Sincronización", - "settings_syncTimeSubtitle": "Establecer la hora del dispositivo al tiempo del teléfono", + "settings_syncTime": "Tiempo de Sincronización", + "settings_syncTimeSubtitle": "Establecer la hora del dispositivo al tiempo del teléfono", "settings_timeSynchronized": "Sincronizado en el tiempo", "settings_refreshContacts": "Actualizar Contactos", "settings_refreshContactsSubtitle": "Recargar lista de contactos del dispositivo", "settings_rebootDevice": "Reiniciar Dispositivo", "settings_rebootDeviceSubtitle": "Reiniciar el dispositivo MeshCore", - "settings_rebootDeviceConfirm": "¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.", + "settings_rebootDeviceConfirm": "¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.", "settings_debug": "Depurar", - "settings_bleDebugLog": "Registro de Depuración BLE", + "settings_bleDebugLog": "Registro de Depuración BLE", "settings_bleDebugLogSubtitle": "Comandos, respuestas y datos brutos de BLE", - "settings_appDebugLog": "Registro de Depuración de la App", - "settings_appDebugLogSubtitle": "Mensajes de depuración de la aplicación", + "settings_appDebugLog": "Registro de Depuración de la App", + "settings_appDebugLogSubtitle": "Mensajes de depuración de la aplicación", "settings_about": "Acerca de", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { @@ -130,24 +130,24 @@ } }, "settings_aboutLegalese": "2026 Proyecto Open Source MeshCore", - "settings_aboutDescription": "Un cliente de código abierto de Flutter para dispositivos de red mesh LoRa de MeshCore.", + "settings_aboutDescription": "Un cliente de código abierto de Flutter para dispositivos de red mesh LoRa de MeshCore.", "settings_infoName": "Nombre", "settings_infoId": "ID", "settings_infoStatus": "Estado", - "settings_infoBattery": "Batería", - "settings_infoPublicKey": "Clave Pública", - "settings_infoContactsCount": "Número de contactos", - "settings_infoChannelCount": "Número de canales", + "settings_infoBattery": "Batería", + "settings_infoPublicKey": "Clave Pública", + "settings_infoContactsCount": "Número de contactos", + "settings_infoChannelCount": "Número de canales", "settings_presets": "Preajustes", "settings_frequency": "Frecuencia (MHz)", "settings_frequencyHelper": "300,0 - 2500,0", - "settings_frequencyInvalid": "Frecuencia inválida (300-2500 MHz)", + "settings_frequencyInvalid": "Frecuencia inválida (300-2500 MHz)", "settings_bandwidth": "Ancho de banda", - "settings_spreadingFactor": "Factor de propagación", - "settings_codingRate": "Tasa de Programación", + "settings_spreadingFactor": "Factor de propagación", + "settings_codingRate": "Tasa de Programación", "settings_txPower": "TX Potencia (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Potencia de TX inválida (0-22 dBm)", + "settings_txPowerInvalid": "Potencia de TX inválida (0-22 dBm)", "settings_error": "Error: {message}", "@settings_error": { "placeholders": { @@ -156,7 +156,7 @@ } } }, - "appSettings_title": "Configuración de la App", + "appSettings_title": "Configuración de la App", "appSettings_appearance": "Apariencia", "appSettings_theme": "Tema", "appSettings_themeSystem": "Valor predeterminado del sistema", @@ -165,42 +165,42 @@ "appSettings_language": "Idioma", "appSettings_languageSystem": "Predeterminado del sistema", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Notificaciones", "appSettings_enableNotifications": "Habilitar Notificaciones", "appSettings_enableNotificationsSubtitle": "Recibir notificaciones para mensajes y anuncios", - "appSettings_notificationPermissionDenied": "Permiso de notificación denegado", + "appSettings_notificationPermissionDenied": "Permiso de notificación denegado", "appSettings_notificationsEnabled": "Notificaciones activadas", "appSettings_notificationsDisabled": "Notificaciones desactivadas", "appSettings_messageNotifications": "Notificaciones de Mensaje", - "appSettings_messageNotificationsSubtitle": "Mostrar notificación al recibir nuevos mensajes", + "appSettings_messageNotificationsSubtitle": "Mostrar notificación al recibir nuevos mensajes", "appSettings_channelMessageNotifications": "Notificaciones de Mensajes del Canal", - "appSettings_channelMessageNotificationsSubtitle": "Mostrar notificación al recibir mensajes del canal", + "appSettings_channelMessageNotificationsSubtitle": "Mostrar notificación al recibir mensajes del canal", "appSettings_advertisementNotifications": "Notificaciones de Anuncios", - "appSettings_advertisementNotificationsSubtitle": "Mostrar notificación cuando se descubren nuevos nodos", - "appSettings_messaging": "Mensajería", + "appSettings_advertisementNotificationsSubtitle": "Mostrar notificación cuando se descubren nuevos nodos", + "appSettings_messaging": "Mensajería", "appSettings_clearPathOnMaxRetry": "Borrar Camino en Max Reintentos", - "appSettings_clearPathOnMaxRetrySubtitle": "Restablecer la ruta de contacto después de 5 intentos de envío fallidos", - "appSettings_pathsWillBeCleared": "Los caminos se limpiarán después de 5 intentos fallidos.", - "appSettings_pathsWillNotBeCleared": "Las rutas no se eliminarán automáticamente.", - "appSettings_autoRouteRotation": "Rotación de Ruta Automática", - "appSettings_autoRouteRotationSubtitle": "Alternar entre las mejores rutas y el modo inundación", - "appSettings_autoRouteRotationEnabled": "Rotación de ruta automática habilitada", - "appSettings_autoRouteRotationDisabled": "Rotación de ruta automática desactivada", - "appSettings_battery": "Batería", - "appSettings_batteryChemistry": "Química de la batería", - "appSettings_batteryChemistryPerDevice": "Configuración por dispositivo ({deviceName})", + "appSettings_clearPathOnMaxRetrySubtitle": "Restablecer la ruta de contacto después de 5 intentos de envío fallidos", + "appSettings_pathsWillBeCleared": "Los caminos se limpiarán después de 5 intentos fallidos.", + "appSettings_pathsWillNotBeCleared": "Las rutas no se eliminarán automáticamente.", + "appSettings_autoRouteRotation": "Rotación de Ruta Automática", + "appSettings_autoRouteRotationSubtitle": "Alternar entre las mejores rutas y el modo inundación", + "appSettings_autoRouteRotationEnabled": "Rotación de ruta automática habilitada", + "appSettings_autoRouteRotationDisabled": "Rotación de ruta automática desactivada", + "appSettings_battery": "Batería", + "appSettings_batteryChemistry": "Química de la batería", + "appSettings_batteryChemistryPerDevice": "Configuración por dispositivo ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -208,11 +208,11 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Conéctate a un dispositivo para elegir", + "appSettings_batteryChemistryConnectFirst": "Conéctate a un dispositivo para elegir", "appSettings_batteryNmc": "18650 NMC (3.0-4.2V)", "appSettings_batteryLifepo4": "LiFePO4 (2.6-3.65V)", "appSettings_batteryLipo": "LiPo (3.0-4.2V)", - "appSettings_mapDisplay": "Visualización del Mapa", + "appSettings_mapDisplay": "Visualización del Mapa", "appSettings_showRepeaters": "Mostrar Repetidores", "appSettings_showRepeatersSubtitle": "Mostrar nodos de repetidor en el mapa", "appSettings_showChatNodes": "Mostrar Nodos de Chat", @@ -221,7 +221,7 @@ "appSettings_showOtherNodesSubtitle": "Mostrar otros tipos de nodo en el mapa", "appSettings_timeFilter": "Filtro de Tiempo", "appSettings_timeFilterShowAll": "Mostrar todos los nodos", - "appSettings_timeFilterShowLast": "Mostrar nodos de las últimas {hours} horas", + "appSettings_timeFilterShowLast": "Mostrar nodos de las últimas {hours} horas", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -232,13 +232,13 @@ "appSettings_mapTimeFilter": "Filtro de Tiempo del Mapa", "appSettings_showNodesDiscoveredWithin": "Mostrar nodos descubiertos dentro de:", "appSettings_allTime": "Todo el tiempo", - "appSettings_lastHour": "Última hora", - "appSettings_last6Hours": "Últimas 6 horas", - "appSettings_last24Hours": "Últimas 24 horas", + "appSettings_lastHour": "Última hora", + "appSettings_last6Hours": "Últimas 6 horas", + "appSettings_last24Hours": "Últimas 24 horas", "appSettings_lastWeek": "La semana pasada", - "appSettings_offlineMapCache": "Caché de Mapa Offline", - "appSettings_noAreaSelected": "No se ha seleccionado ningún área", - "appSettings_areaSelectedZoom": "Área seleccionada (zoom {minZoom}-{maxZoom})", + "appSettings_offlineMapCache": "Caché de Mapa Offline", + "appSettings_noAreaSelected": "No se ha seleccionado ningún área", + "appSettings_areaSelectedZoom": "Área seleccionada (zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -250,13 +250,13 @@ } }, "appSettings_debugCard": "Depurar", - "appSettings_appDebugLogging": "Registro de Depuración de la App", - "appSettings_appDebugLoggingSubtitle": "Registrar mensajes de depuración de la app de registro para solucionar problemas", - "appSettings_appDebugLoggingEnabled": "Registro de depuración de la aplicación habilitado", - "appSettings_appDebugLoggingDisabled": "El registro de depuración de la aplicación está desactivado", + "appSettings_appDebugLogging": "Registro de Depuración de la App", + "appSettings_appDebugLoggingSubtitle": "Registrar mensajes de depuración de la app de registro para solucionar problemas", + "appSettings_appDebugLoggingEnabled": "Registro de depuración de la aplicación habilitado", + "appSettings_appDebugLoggingDisabled": "El registro de depuración de la aplicación está desactivado", "contacts_title": "Contactos", - "contacts_noContacts": "Aún no hay contactos.", - "contacts_contactsWillAppear": "Los contactos aparecerán cuando los dispositivos anuncien.", + "contacts_noContacts": "Aún no hay contactos.", + "contacts_contactsWillAppear": "Los contactos aparecerán cuando los dispositivos anuncien.", "contacts_searchContacts": "Buscar contactos...", "contacts_noUnreadContacts": "No contactos sin leer", "contacts_noContactsFound": "No se encontraron contactos ni grupos.", @@ -296,8 +296,8 @@ "contacts_filterContacts": "Filtrar contactos...", "contacts_noContactsMatchFilter": "No hay contactos que coincidan con tu filtro", "contacts_noMembers": "No miembros", - "contacts_lastSeenNow": "Última vez que se vio ahora", - "contacts_lastSeenMinsAgo": "Última vez visto hace {minutes} minutos.", + "contacts_lastSeenNow": "Última vez que se vio ahora", + "contacts_lastSeenMinsAgo": "Última vez visto hace {minutes} minutos.", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Última vez que se vio hace 1 hora", - "contacts_lastSeenHoursAgo": "Última vez visto hace {hours} horas.", + "contacts_lastSeenHourAgo": "Última vez que se vio hace 1 hora", + "contacts_lastSeenHoursAgo": "Última vez visto hace {hours} horas.", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Última vez que se vio hace 1 día", - "contacts_lastSeenDaysAgo": "Última vez visto hace {days} días.", + "contacts_lastSeenDayAgo": "Última vez que se vio hace 1 día", + "contacts_lastSeenDaysAgo": "Última vez visto hace {days} días.", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -325,7 +325,7 @@ }, "channels_title": "Canales", "channels_noChannelsConfigured": "No se han configurado canales", - "channels_addPublicChannel": "Añadir Canal Público", + "channels_addPublicChannel": "Añadir Canal Público", "channels_searchChannels": "Buscar canales...", "channels_noChannelsFound": "No se encontraron canales", "channels_channelIndex": "Canal {index}", @@ -337,9 +337,9 @@ } }, "channels_hashtagChannel": "Canal con hashtag", - "channels_public": "Público", + "channels_public": "Público", "channels_private": "Privado", - "channels_publicChannel": "Canal público", + "channels_publicChannel": "Canal público", "channels_privateChannel": "Canal privado", "channels_editChannel": "Editar canal", "channels_muteChannel": "Silenciar canal", @@ -361,16 +361,16 @@ } } }, - "channels_addChannel": "Añadir Canal", - "channels_channelIndexLabel": "Índice de Canal", + "channels_addChannel": "Añadir Canal", + "channels_channelIndexLabel": "Índice de Canal", "channels_channelName": "Nombre del canal", - "channels_usePublicChannel": "Usar Canal Público", - "channels_standardPublicPsk": "PSK estándar público", + "channels_usePublicChannel": "Usar Canal Público", + "channels_standardPublicPsk": "PSK estándar público", "channels_pskHex": "PSK (Hex)", "channels_generateRandomPsk": "Generar PSK aleatorio", "channels_enterChannelName": "Por favor, introduce un nombre de canal", "channels_pskMustBe32Hex": "PSK debe ser de 32 caracteres hexadecimales.", - "channels_channelAdded": "Canal \"{name}\" añadido", + "channels_channelAdded": "Canal \"{name}\" añadido", "@channels_channelAdded": { "placeholders": { "name": { @@ -386,7 +386,7 @@ } } }, - "channels_smazCompression": "Compresión SMAZ", + "channels_smazCompression": "Compresión SMAZ", "channels_channelUpdated": "Canal \"{name}\" actualizado", "@channels_channelUpdated": { "placeholders": { @@ -395,13 +395,13 @@ } } }, - "channels_publicChannelAdded": "Canal público añadido", + "channels_publicChannelAdded": "Canal público añadido", "channels_sortBy": "Ordenar por", "channels_sortManual": "Manual", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Últimos mensajes", + "channels_sortLatestMessages": "Últimos mensajes", "channels_sortUnread": "Sin leer", - "chat_noMessages": "Aún no hay mensajes", + "chat_noMessages": "Aún no hay mensajes", "chat_sendMessageToStart": "Enviar un mensaje para comenzar", "chat_originalMessageNotFound": "Mensaje original no encontrado", "chat_replyingTo": "Responder a {name}", @@ -420,7 +420,7 @@ } } }, - "chat_location": "Ubicación", + "chat_location": "Ubicación", "chat_sendMessageTo": "Enviar un mensaje a {contactName}", "@chat_sendMessageTo": { "placeholders": { @@ -430,7 +430,7 @@ } }, "chat_typeMessage": "Escribe un mensaje...", - "chat_messageTooLong": "Mensaje demasiado largo (máximo {maxBytes} bytes).", + "chat_messageTooLong": "Mensaje demasiado largo (máximo {maxBytes} bytes).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -440,7 +440,7 @@ }, "chat_messageCopied": "Mensaje copiado", "chat_messageDeleted": "Mensaje borrado", - "chat_retryingMessage": "Reintentando…", + "chat_retryingMessage": "Reintentando…", "chat_retryCount": "Reintentar {current}/{max}", "@chat_retryCount": { "placeholders": { @@ -454,7 +454,7 @@ }, "chat_sendGif": "Enviar GIF", "chat_reply": "Responder", - "chat_addReaction": "Añadir Reacción", + "chat_addReaction": "Añadir Reacción", "chat_me": "Yo", "emojiCategorySmileys": "Emoticones", "emojiCategoryGestures": "Gestos", @@ -466,18 +466,18 @@ "gifPicker_noGifsFound": "No se encontraron GIFs", "gifPicker_failedLoad": "No se pudo cargar los GIFs", "gifPicker_failedSearch": "No se encontraron GIFs", - "gifPicker_noInternet": "No hay conexión a internet", - "debugLog_appTitle": "Registro de Depuración de la App", - "debugLog_bleTitle": "Registro de Depuración BLE", + "gifPicker_noInternet": "No hay conexión a internet", + "debugLog_appTitle": "Registro de Depuración de la App", + "debugLog_bleTitle": "Registro de Depuración BLE", "debugLog_copyLog": "Copiar registro", "debugLog_clearLog": "Borrar registro", - "debugLog_copied": "Registro de depuración copiado", + "debugLog_copied": "Registro de depuración copiado", "debugLog_bleCopied": "Registro BLE copiado", - "debugLog_noEntries": "Aún no hay registros de depuración.", - "debugLog_enableInSettings": "Habilitar el registro de depuración de la aplicación en la configuración", + "debugLog_noEntries": "Aún no hay registros de depuración.", + "debugLog_enableInSettings": "Habilitar el registro de depuración de la aplicación en la configuración", "debugLog_frames": "Marcos", "debugLog_rawLogRx": "Registro Crudo-RX", - "debugLog_noBleActivity": "Aún no hay actividad BLE", + "debugLog_noBleActivity": "Aún no hay actividad BLE", "debugFrame_length": "Longitud del Marco: {count} bytes", "@debugFrame_length": { "placeholders": { @@ -541,12 +541,12 @@ } }, "debugFrame_hexDump": "Mapeo Hexadecimal:", - "chat_pathManagement": "Gestión de Rutas", + "chat_pathManagement": "Gestión de Rutas", "chat_routingMode": "Modo de enrutamiento", "chat_autoUseSavedPath": "Auto (usar la ruta guardada)", - "chat_forceFloodMode": "Modo Inundación Forzado", + "chat_forceFloodMode": "Modo Inundación Forzado", "chat_recentAckPaths": "Rutas de ACK Recientes (tocar para usar):", - "chat_pathHistoryFull": "El historial de rutas está completo. Eliminar entradas para añadir nuevas.", + "chat_pathHistoryFull": "El historial de rutas está completo. Eliminar entradas para añadir nuevas.", "chat_hopSingular": "salta", "chat_hopPlural": "salta", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", @@ -557,19 +557,19 @@ } } }, - "chat_successes": "Éxitos", + "chat_successes": "Éxitos", "chat_removePath": "Eliminar ruta", - "chat_noPathHistoryYet": "Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.", + "chat_noPathHistoryYet": "Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.", "chat_pathActions": "Acciones de Ruta:", "chat_setCustomPath": "Establecer Ruta Personalizada", "chat_setCustomPathSubtitle": "Especificar manualmente la ruta de enrutamiento", "chat_clearPath": "Limpiar Ruta", - "chat_clearPathSubtitle": "Forzar redescubrimiento en el próximo envío", - "chat_pathCleared": "Ruta eliminada. El siguiente mensaje redescubrirá la ruta.", + "chat_clearPathSubtitle": "Forzar redescubrimiento en el próximo envío", + "chat_pathCleared": "Ruta eliminada. El siguiente mensaje redescubrirá la ruta.", "chat_floodModeSubtitle": "Utilizar el interruptor de enrutamiento en la barra de herramientas", - "chat_floodModeEnabled": "El modo de inundación está habilitado. Desactívalo mediante el icono de enrutamiento en la barra de herramientas de la aplicación.", + "chat_floodModeEnabled": "El modo de inundación está habilitado. Desactívalo mediante el icono de enrutamiento en la barra de herramientas de la aplicación.", "chat_fullPath": "Ruta completa", - "chat_pathDetailsNotAvailable": "Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.", + "chat_pathDetailsNotAvailable": "Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.", "chat_pathSetHops": "Ruta establecida: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { @@ -581,14 +581,14 @@ } } }, - "chat_pathSavedLocally": "Guardado localmente. Conéctate para sincronizar.", + "chat_pathSavedLocally": "Guardado localmente. Conéctate para sincronizar.", "chat_pathDeviceConfirmed": "Dispositivo confirmado.", - "chat_pathDeviceNotConfirmed": "Dispositivo aún no confirmado.", + "chat_pathDeviceNotConfirmed": "Dispositivo aún no confirmado.", "chat_type": "Escribe", "chat_path": "Ruta", - "chat_publicKey": "Clave Pública", + "chat_publicKey": "Clave Pública", "chat_compressOutgoingMessages": "Comprimir mensajes salientes", - "chat_floodForced": "Inundación (forzada)", + "chat_floodForced": "Inundación (forzada)", "chat_directForced": "Directo (forzado)", "chat_hopsForced": "{count} saltos (forzados)", "@chat_hopsForced": { @@ -598,9 +598,9 @@ } } }, - "chat_floodAuto": "Inundación (automática)", + "chat_floodAuto": "Inundación (automática)", "chat_direct": "Guardar", - "chat_poiShared": "Punto de Interés Compartido", + "chat_poiShared": "Punto de Interés Compartido", "chat_unread": "Sin leer: {count}", "@chat_unread": { "placeholders": { @@ -609,8 +609,8 @@ } } }, - "chat_openLink": "¿Abrir enlace?", - "chat_openLinkConfirmation": "¿Quiere abrir este enlace en su navegador?", + "chat_openLink": "¿Abrir enlace?", + "chat_openLinkConfirmation": "¿Quiere abrir este enlace en su navegador?", "chat_open": "Abrir", "chat_couldNotOpenLink": "No se pudo abrir el enlace: {url}", "@chat_couldNotOpenLink": { @@ -620,9 +620,9 @@ } } }, - "chat_invalidLink": "Formato de enlace no válido", + "chat_invalidLink": "Formato de enlace no válido", "map_title": "Mapa de Nodos", - "map_noNodesWithLocation": "No hay nodos con datos de ubicación", + "map_noNodesWithLocation": "No hay nodos con datos de ubicación", "map_nodesNeedGps": "Los nodos necesitan compartir sus coordenadas GPS\npara aparecer en el mapa", "map_nodesCount": "Nodos: {count}", "@map_nodesCount": { @@ -642,25 +642,25 @@ }, "map_chat": "Chat", "map_repeater": "Repetidor", - "map_room": "Habitación", + "map_room": "Habitación", "map_sensor": "Sensor", "map_pinDm": "Pin (DM)", "map_pinPrivate": "Bloqueo (Privado)", - "map_pinPublic": "Clave (Pública)", - "map_lastSeen": "Última vez que se vio", - "map_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?", + "map_pinPublic": "Clave (Pública)", + "map_lastSeen": "Última vez que se vio", + "map_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?", "map_from": "De", "map_source": "Fuente", "map_flags": "Banderas", - "map_shareMarkerHere": "Compartir marcador aquí", + "map_shareMarkerHere": "Compartir marcador aquí", "map_pinLabel": "Etiqueta de marcador", "map_label": "Etiqueta", - "map_pointOfInterest": "Punto de interés", + "map_pointOfInterest": "Punto de interés", "map_sendToContact": "Enviar a contacto", "map_sendToChannel": "Enviar a canal", "map_noChannelsAvailable": "No hay canales disponibles", - "map_publicLocationShare": "Compartir ubicación pública", - "map_publicLocationShareConfirm": "Estás a punto de compartir una ubicación en {channelLabel}. Este canal es público y cualquiera con la PSK puede verlo.", + "map_publicLocationShare": "Compartir ubicación pública", + "map_publicLocationShareConfirm": "Estás a punto de compartir una ubicación en {channelLabel}. Este canal es público y cualquiera con la PSK puede verlo.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,7 +668,7 @@ } } }, - "map_connectToShareMarkers": "Conéctate a un dispositivo para compartir marcadores", + "map_connectToShareMarkers": "Conéctate a un dispositivo para compartir marcadores", "map_filterNodes": "Filtrar Nodos", "map_nodeTypes": "Tipos de nodo", "map_chatNodes": "Nodos de Chat", @@ -676,18 +676,18 @@ "map_otherNodes": "Otros Nodos", "map_keyPrefix": "Prefijo de clave", "map_filterByKeyPrefix": "Filtrar por prefijo clave", - "map_publicKeyPrefix": "Prefijo de clave pública", + "map_publicKeyPrefix": "Prefijo de clave pública", "map_markers": "Marcadores", "map_showSharedMarkers": "Mostrar marcadores compartidos", - "map_lastSeenTime": "Última vez que se vio", + "map_lastSeenTime": "Última vez que se vio", "map_sharedPin": "Pin compartido", - "map_joinRoom": "Únete a la sala", + "map_joinRoom": "Únete a la sala", "map_manageRepeater": "Gestionar Repetidor", - "mapCache_title": "Caché de Mapa Offline", - "mapCache_selectAreaFirst": "Seleccionar un área para cachear primero", - "mapCache_noTilesToDownload": "No hay azulejos para descargar para este área.", + "mapCache_title": "Caché de Mapa Offline", + "mapCache_selectAreaFirst": "Seleccionar un área para cachear primero", + "mapCache_noTilesToDownload": "No hay azulejos para descargar para este área.", "mapCache_downloadTilesTitle": "Descargar ficheros", - "mapCache_downloadTilesPrompt": "Descargar {count} ficheros para usar sin conexión?", + "mapCache_downloadTilesPrompt": "Descargar {count} ficheros para usar sin conexión?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -715,11 +715,11 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Borrar caché offline", - "mapCache_clearOfflineCachePrompt": "Eliminar todas las baldosas en caché del mapa?", - "mapCache_offlineCacheCleared": "Almacén en caché sin conexión eliminado", - "mapCache_noAreaSelected": "No se ha seleccionado ningún área", - "mapCache_cacheArea": "Área de Caché", + "mapCache_clearOfflineCacheTitle": "Borrar caché offline", + "mapCache_clearOfflineCachePrompt": "Eliminar todas las baldosas en caché del mapa?", + "mapCache_offlineCacheCleared": "Almacén en caché sin conexión eliminado", + "mapCache_noAreaSelected": "No se ha seleccionado ningún área", + "mapCache_cacheArea": "Área de Caché", "mapCache_useCurrentView": "Usar Vista Actual", "mapCache_zoomRange": "Rango de Zoom", "mapCache_estimatedTiles": "Tiles estimados: {count}", @@ -742,7 +742,7 @@ } }, "mapCache_downloadTilesButton": "Descargar Mosaicos", - "mapCache_clearCacheButton": "Borrar Caché", + "mapCache_clearCacheButton": "Borrar Caché", "mapCache_failedDownloads": "Descargas fallidas: {count}", "@mapCache_failedDownloads": { "placeholders": { @@ -785,7 +785,7 @@ } } }, - "time_daysAgo": "{days} días hace", + "time_daysAgo": "{days} días hace", "@time_daysAgo": { "placeholders": { "days": { @@ -795,8 +795,8 @@ }, "time_hour": "hora", "time_hours": "horas", - "time_day": "día", - "time_days": "días", + "time_day": "día", + "time_days": "días", "time_week": "semana", "time_weeks": "semanas", "time_month": "mes", @@ -804,21 +804,21 @@ "time_minutes": "minutos", "time_allTime": "Todas las veces", "dialog_disconnect": "Desconectar", - "dialog_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?", - "login_repeaterLogin": "Iniciar sesión en el Repetidor", + "dialog_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?", + "login_repeaterLogin": "Iniciar sesión en el Repetidor", "login_roomLogin": "Inicio de Sala", - "login_password": "Contraseña", - "login_enterPassword": "Introducir contraseña", - "login_savePassword": "Guardar contraseña", - "login_savePasswordSubtitle": "La contraseña se almacenará de forma segura en este dispositivo.", - "login_repeaterDescription": "Ingrese la contraseña del repetidor para acceder a la configuración y el estado.", - "login_roomDescription": "Ingrese la contraseña de la sala para acceder a la configuración y el estado.", + "login_password": "Contraseña", + "login_enterPassword": "Introducir contraseña", + "login_savePassword": "Guardar contraseña", + "login_savePasswordSubtitle": "La contraseña se almacenará de forma segura en este dispositivo.", + "login_repeaterDescription": "Ingrese la contraseña del repetidor para acceder a la configuración y el estado.", + "login_roomDescription": "Ingrese la contraseña de la sala para acceder a la configuración y el estado.", "login_routing": "Enrutamiento", "login_routingMode": "Modo de enrutamiento", "login_autoUseSavedPath": "Auto (usar la ruta guardada)", - "login_forceFloodMode": "Activar Modo Inundación Forzada", + "login_forceFloodMode": "Activar Modo Inundación Forzada", "login_managePaths": "Gestionar Rutas", - "login_login": "Iniciar sesión", + "login_login": "Iniciar sesión", "login_attempt": "Intentar {current}/{max}", "@login_attempt": { "placeholders": { @@ -838,7 +838,7 @@ } } }, - "login_failedMessage": "Inicio fallido. La contraseña es incorrecta o el repetidor no está disponible.", + "login_failedMessage": "Inicio fallido. La contraseña es incorrecta o el repetidor no está disponible.", "common_reload": "Recargar", "common_clear": "Borrar", "path_currentPath": "Ruta actual: {path}", @@ -860,13 +860,13 @@ "path_enterCustomPath": "Introducir Ruta Personalizada", "path_currentPathLabel": "Ruta actual", "path_hexPrefixInstructions": "Introduzca los prefijos hexadecimales de 2 caracteres para cada salto, separados por comas.", - "path_hexPrefixExample": "Ejemplo: A1,F2,3C (cada nodo utiliza el primer byte de su clave pública).", + "path_hexPrefixExample": "Ejemplo: A1,F2,3C (cada nodo utiliza el primer byte de su clave pública).", "path_labelHexPrefixes": "Prefijos hexadecimales", - "path_helperMaxHops": "Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).", + "path_helperMaxHops": "Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).", "path_selectFromContacts": "O seleccionar de contactos:", "path_noRepeatersFound": "No se encontraron repetidores ni servidores de sala.", "path_customPathsRequire": "Las rutas personalizadas requieren saltos intermedios que pueden transmitir mensajes.", - "path_invalidHexPrefixes": "Prefijos hexadecimales inválidos: {prefixes}", + "path_invalidHexPrefixes": "Prefijos hexadecimales inválidos: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,25 +874,25 @@ } } }, - "path_tooLong": "La ruta es demasiado larga. Se permiten un máximo de 64 saltos.", + "path_tooLong": "La ruta es demasiado larga. Se permiten un máximo de 64 saltos.", "path_setPath": "Establecer Ruta", - "repeater_management": "Gestión de Repetidores", - "repeater_managementTools": "Herramientas de Gestión", + "repeater_management": "Gestión de Repetidores", + "repeater_managementTools": "Herramientas de Gestión", "repeater_status": "Estado", - "repeater_statusSubtitle": "Ver el estado, las estadísticas y los vecinos del repetidor", + "repeater_statusSubtitle": "Ver el estado, las estadísticas y los vecinos del repetidor", "repeater_telemetry": "Telemetry", - "repeater_telemetrySubtitle": "Ver la telemetría de los sensores y las estadísticas del sistema", + "repeater_telemetrySubtitle": "Ver la telemetría de los sensores y las estadísticas del sistema", "repeater_cli": "CLI", "repeater_cliSubtitle": "Enviar comandos al repetidor", - "repeater_settings": "Configuración", - "repeater_settingsSubtitle": "Configurar parámetros del repetidor", + "repeater_settings": "Configuración", + "repeater_settingsSubtitle": "Configurar parámetros del repetidor", "repeater_statusTitle": "Estado del Repetidor", "repeater_routingMode": "Modo de enrutamiento", "repeater_autoUseSavedPath": "Auto (usar la ruta guardada)", - "repeater_forceFloodMode": "Modo Inundación Forzado", - "repeater_pathManagement": "Gestión de rutas", + "repeater_forceFloodMode": "Modo Inundación Forzado", + "repeater_pathManagement": "Gestión de rutas", "repeater_refresh": "Actualizar", - "repeater_statusRequestTimeout": "Solicitud de estado caducó.", + "repeater_statusRequestTimeout": "Solicitud de estado caducó.", "repeater_errorLoadingStatus": "Error al cargar el estado: {error}", "@repeater_errorLoadingStatus": { "placeholders": { @@ -901,23 +901,23 @@ } } }, - "repeater_systemInformation": "Información del sistema", - "repeater_battery": "Batería", - "repeater_clockAtLogin": "Reloj (al inicio de sesión)", + "repeater_systemInformation": "Información del sistema", + "repeater_battery": "Batería", + "repeater_clockAtLogin": "Reloj (al inicio de sesión)", "repeater_uptime": "Tiempo de actividad", "repeater_queueLength": "Longitud de la cola", - "repeater_debugFlags": "Marcadores de Depuración", - "repeater_radioStatistics": "Estadísticas de Radio", - "repeater_lastRssi": "Último RSSI", - "repeater_lastSnr": "Último SNR", + "repeater_debugFlags": "Marcadores de Depuración", + "repeater_radioStatistics": "Estadísticas de Radio", + "repeater_lastRssi": "Último RSSI", + "repeater_lastSnr": "Último SNR", "repeater_noiseFloor": "Nivel de Ruido", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", - "repeater_packetStatistics": "Estadísticas del Paquete", + "repeater_packetStatistics": "Estadísticas del Paquete", "repeater_sent": "Enviado", "repeater_received": "Recibido", "repeater_duplicates": "Duplicados", - "repeater_daysHoursMinsSecs": "{days} días {hours}h {minutes}m {seconds}s", + "repeater_daysHoursMinsSecs": "{days} días {hours}h {minutes}m {seconds}s", "@repeater_daysHoursMinsSecs": { "placeholders": { "days": { @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}", + "repeater_packetTxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}", + "repeater_packetRxTotal": "Total: {total}, Inundación: {flood}, Directo: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Inundación: {flood}, Directo: {direct}", + "repeater_duplicatesFloodDirect": "Inundación: {flood}, Directo: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -981,35 +981,35 @@ } } }, - "repeater_settingsTitle": "Configuración del Repetidor", - "repeater_basicSettings": "Configuración Básica", + "repeater_settingsTitle": "Configuración del Repetidor", + "repeater_basicSettings": "Configuración Básica", "repeater_repeaterName": "Nombre del Repetidor", "repeater_repeaterNameHelper": "Mostrar nombre para este repetidor", - "repeater_adminPassword": "Contraseña de Administrador", - "repeater_adminPasswordHelper": "Contraseña de acceso completo", - "repeater_guestPassword": "Contraseña de invitado", - "repeater_guestPasswordHelper": "Acceso de solo lectura con contraseña", - "repeater_radioSettings": "Configuración de Radio", + "repeater_adminPassword": "Contraseña de Administrador", + "repeater_adminPasswordHelper": "Contraseña de acceso completo", + "repeater_guestPassword": "Contraseña de invitado", + "repeater_guestPasswordHelper": "Acceso de solo lectura con contraseña", + "repeater_radioSettings": "Configuración de Radio", "repeater_frequencyMhz": "Frecuencia (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Potencia", "repeater_txPowerHelper": "1-30 dBm", "repeater_bandwidth": "Ancho de banda", - "repeater_spreadingFactor": "Factor de propagación", - "repeater_codingRate": "Tasa de Programación", - "repeater_locationSettings": "Configuración de Ubicación", + "repeater_spreadingFactor": "Factor de propagación", + "repeater_codingRate": "Tasa de Programación", + "repeater_locationSettings": "Configuración de Ubicación", "repeater_latitude": "Latitud", "repeater_latitudeHelper": "Grados decimales (por ejemplo, 37.7749)", "repeater_longitude": "Longitud", "repeater_longitudeHelper": "Grados decimales (por ejemplo, -122.4194)", - "repeater_features": "Características", + "repeater_features": "Características", "repeater_packetForwarding": "Enrutamiento de Paquetes", "repeater_packetForwardingSubtitle": "Habilitar el repetidor para reenviar paquetes", "repeater_guestAccess": "Acceso de Invitados", "repeater_guestAccessSubtitle": "Permitir acceso de invitado en solo lectura", "repeater_privacyMode": "Modo Privacidad", - "repeater_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios", - "repeater_advertisementSettings": "Configuración de Anuncios", + "repeater_privacyModeSubtitle": "Ocultar nombre/ubicación en anuncios", + "repeater_advertisementSettings": "Configuración de Anuncios", "repeater_localAdvertInterval": "Intervalo de Anuncio Local", "repeater_localAdvertIntervalMinutes": "{minutes} minutos", "@repeater_localAdvertIntervalMinutes": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Intervalo de Anuncio de Inundación", + "repeater_floodAdvertInterval": "Intervalo de Anuncio de Inundación", "repeater_floodAdvertIntervalHours": "{hours} horas", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1032,14 +1032,14 @@ "repeater_dangerZone": "Zona de Peligro", "repeater_rebootRepeater": "Reiniciar Repetidor", "repeater_rebootRepeaterSubtitle": "Reiniciar el dispositivo repetidor", - "repeater_rebootRepeaterConfirm": "¿Está seguro de que desea reiniciar este repetidor?", + "repeater_rebootRepeaterConfirm": "¿Está seguro de que desea reiniciar este repetidor?", "repeater_regenerateIdentityKey": "Regenerar Clave de Identidad", - "repeater_regenerateIdentityKeySubtitle": "Generar nueva pareja de clave pública/privada", - "repeater_regenerateIdentityKeyConfirm": "Esto generará una nueva identidad para el repetidor. Continuar?", + "repeater_regenerateIdentityKeySubtitle": "Generar nueva pareja de clave pública/privada", + "repeater_regenerateIdentityKeyConfirm": "Esto generará una nueva identidad para el repetidor. Continuar?", "repeater_eraseFileSystem": "Borrar Sistema de Archivos", "repeater_eraseFileSystemSubtitle": "Formatear el sistema de archivos del repetidor", - "repeater_eraseFileSystemConfirm": "ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!", - "repeater_eraseSerialOnly": "Borrar solo está disponible a través de la consola serial.", + "repeater_eraseFileSystemConfirm": "ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!", + "repeater_eraseSerialOnly": "Borrar solo está disponible a través de la consola serial.", "repeater_commandSent": "Comando enviado: {command}", "@repeater_commandSent": { "placeholders": { @@ -1058,7 +1058,7 @@ }, "repeater_confirm": "Confirmar", "repeater_settingsSaved": "Guardado de ajustes exitoso", - "repeater_errorSavingSettings": "Error al guardar la configuración: {error}", + "repeater_errorSavingSettings": "Error al guardar la configuración: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,14 +1066,14 @@ } } }, - "repeater_refreshBasicSettings": "Actualizar Configuración Básica", + "repeater_refreshBasicSettings": "Actualizar Configuración Básica", "repeater_refreshRadioSettings": "Actualizar Ajustes de Radio", - "repeater_refreshTxPower": "Actualizar TX de energía", - "repeater_refreshLocationSettings": "Actualizar Configuración de Ubicación", + "repeater_refreshTxPower": "Actualizar TX de energía", + "repeater_refreshLocationSettings": "Actualizar Configuración de Ubicación", "repeater_refreshPacketForwarding": "Actualizar Enrutamiento de Paquetes", "repeater_refreshGuestAccess": "Actualizar Acceso Invitados", "repeater_refreshPrivacyMode": "Actualizar Modo Privacidad", - "repeater_refreshAdvertisementSettings": "Actualizar Configuración de Anuncios", + "repeater_refreshAdvertisementSettings": "Actualizar Configuración de Anuncios", "repeater_refreshed": "{label} actualizado", "@repeater_refreshed": { "placeholders": { @@ -1091,11 +1091,11 @@ } }, "repeater_cliTitle": "Repetidor CLI", - "repeater_debugNextCommand": "Siguiente Comando de Depuración", + "repeater_debugNextCommand": "Siguiente Comando de Depuración", "repeater_commandHelp": "Ayuda", "repeater_clearHistory": "Borrar historial", - "repeater_noCommandsSent": "Aún no se han enviado comandos.", - "repeater_typeCommandOrUseQuick": "Escriba un comando a continuación o use comandos rápidos", + "repeater_noCommandsSent": "Aún no se han enviado comandos.", + "repeater_typeCommandOrUseQuick": "Escriba un comando a continuación o use comandos rápidos", "repeater_enterCommandHint": "Escribir comando...", "repeater_previousCommand": "Comando anterior", "repeater_nextCommand": "Siguiente comando", @@ -1113,77 +1113,77 @@ "repeater_cliQuickGetRadio": "Obtener Radio", "repeater_cliQuickGetTx": "Obtener TX", "repeater_cliQuickNeighbors": "Vecinos", - "repeater_cliQuickVersion": "Versión", + "repeater_cliQuickVersion": "Versión", "repeater_cliQuickAdvertise": "Anunciar", "repeater_cliQuickClock": "Reloj", - "repeater_cliHelpAdvert": "Envía un paquete de publicidad", + "repeater_cliHelpAdvert": "Envía un paquete de publicidad", "repeater_cliHelpReboot": "Reinicia el dispositivo. (ten en cuenta, es normal que aparezca 'Timeout')", - "repeater_cliHelpClock": "Muestra la hora actual según el reloj del dispositivo.", - "repeater_cliHelpPassword": "Establece una nueva contraseña de administrador para el dispositivo.", - "repeater_cliHelpVersion": "Muestra la versión del dispositivo y la fecha de compilación del firmware.", - "repeater_cliHelpClearStats": "Reinicia varios contadores de estadísticas a cero.", + "repeater_cliHelpClock": "Muestra la hora actual según el reloj del dispositivo.", + "repeater_cliHelpPassword": "Establece una nueva contraseña de administrador para el dispositivo.", + "repeater_cliHelpVersion": "Muestra la versión del dispositivo y la fecha de compilación del firmware.", + "repeater_cliHelpClearStats": "Reinicia varios contadores de estadísticas a cero.", "repeater_cliHelpSetAf": "Establece el factor de tiempo de aire.", - "repeater_cliHelpSetTx": "Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).", + "repeater_cliHelpSetTx": "Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).", "repeater_cliHelpSetRepeat": "Habilita o deshabilita el rol del repetidor para este nodo.", - "repeater_cliHelpSetAllowReadOnly": "(Servidor de la sala) Si está \"activado\", entonces el inicio de sesión con una contraseña en blanco estará permitido, pero no se podrá publicar en la sala. (solo lectura).", - "repeater_cliHelpSetFloodMax": "Establece el número máximo de saltos de paquetes de inundación entrantes (si es >= máximo, el paquete no se enruta).", - "repeater_cliHelpSetIntThresh": "Establece el Umbral de Interferencia (en dB). El valor predeterminado es 14. Establecerlo en 0 desactiva la detección de interferencias del canal.", - "repeater_cliHelpSetAgcResetInterval": "Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.", - "repeater_cliHelpSetMultiAcks": "Habilita o deshabilita la función de 'ACKs dobles'.", + "repeater_cliHelpSetAllowReadOnly": "(Servidor de la sala) Si está \"activado\", entonces el inicio de sesión con una contraseña en blanco estará permitido, pero no se podrá publicar en la sala. (solo lectura).", + "repeater_cliHelpSetFloodMax": "Establece el número máximo de saltos de paquetes de inundación entrantes (si es >= máximo, el paquete no se enruta).", + "repeater_cliHelpSetIntThresh": "Establece el Umbral de Interferencia (en dB). El valor predeterminado es 14. Establecerlo en 0 desactiva la detección de interferencias del canal.", + "repeater_cliHelpSetAgcResetInterval": "Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.", + "repeater_cliHelpSetMultiAcks": "Habilita o deshabilita la función de 'ACKs dobles'.", "repeater_cliHelpSetAdvertInterval": "Establece el intervalo del temporizador en minutos para enviar un paquete de anuncio local (sin salto). Establecer en 0 para desactivarlo.", "repeater_cliHelpSetFloodAdvertInterval": "Establece el intervalo del temporizador en horas para enviar un paquete de anuncio masivo. Establecer en 0 para desactivarlo.", - "repeater_cliHelpSetGuestPassword": "Establece/actualiza la contraseña del invitado. (para repetidores, los inicios de sesión de invitado pueden enviar la solicitud \"Obtener Estadísticas\")", + "repeater_cliHelpSetGuestPassword": "Establece/actualiza la contraseña del invitado. (para repetidores, los inicios de sesión de invitado pueden enviar la solicitud \"Obtener Estadísticas\")", "repeater_cliHelpSetName": "Establece el nombre del anuncio.", "repeater_cliHelpSetLat": "Establece la latitud del mapa de publicidad. (grados decimales)", "repeater_cliHelpSetLon": "Establece la longitud del mapa de la publicidad. (grados decimales)", - "repeater_cliHelpSetRadio": "Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.", - "repeater_cliHelpSetRxDelay": "Configura (experimental) la base para aplicar un ligero retraso a los paquetes recibidos, según la fuerza de la señal/puntuación. Establece en 0 para desactivar.", - "repeater_cliHelpSetTxDelay": "Establece un factor multiplicado con el tiempo de aire para un paquete de modo de inundación y con un sistema de ranura aleatorio, para retrasar su reenvío (para disminuir la probabilidad de colisiones).", + "repeater_cliHelpSetRadio": "Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.", + "repeater_cliHelpSetRxDelay": "Configura (experimental) la base para aplicar un ligero retraso a los paquetes recibidos, según la fuerza de la señal/puntuación. Establece en 0 para desactivar.", + "repeater_cliHelpSetTxDelay": "Establece un factor multiplicado con el tiempo de aire para un paquete de modo de inundación y con un sistema de ranura aleatorio, para retrasar su reenvío (para disminuir la probabilidad de colisiones).", "repeater_cliHelpSetDirectTxDelay": "Igual que txdelay, pero para aplicar un retraso aleatorio a la transferencia de paquetes en modo directo.", "repeater_cliHelpSetBridgeEnabled": "Habilitar/Deshabilitar puente.", "repeater_cliHelpSetBridgeDelay": "Establecer retraso antes de retransmitir paquetes.", - "repeater_cliHelpSetBridgeSource": "Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.", + "repeater_cliHelpSetBridgeSource": "Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.", "repeater_cliHelpSetBridgeBaud": "Establecer la velocidad de baudios del enlace serial para los puentes rs232.", "repeater_cliHelpSetBridgeSecret": "Establecer secreto de puente para puentes espnow.", - "repeater_cliHelpSetAdcMultiplier": "Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).", - "repeater_cliHelpTempRadio": "Establece parámetros de radio temporales para el número dado de minutos, volviendo a los parámetros de radio originales posteriormente. (no guarda en preferencias).", - "repeater_cliHelpSetPerm": "Modifica el ACL. Elimina la entrada coincidente (por prefijo de pubkey) si \"permissions\" es cero. Añade una nueva entrada si el pubkey-hex tiene longitud completa y no está actualmente en el ACL. Actualiza la entrada mediante el prefijo de pubkey coincidente. Los bits de permiso varían según el rol del firmware, pero los dos bits inferiores son: 0 (Invitado), 1 (Solo lectura), 2 (Lectura/escritura), 3 (Administrador).", + "repeater_cliHelpSetAdcMultiplier": "Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).", + "repeater_cliHelpTempRadio": "Establece parámetros de radio temporales para el número dado de minutos, volviendo a los parámetros de radio originales posteriormente. (no guarda en preferencias).", + "repeater_cliHelpSetPerm": "Modifica el ACL. Elimina la entrada coincidente (por prefijo de pubkey) si \"permissions\" es cero. Añade una nueva entrada si el pubkey-hex tiene longitud completa y no está actualmente en el ACL. Actualiza la entrada mediante el prefijo de pubkey coincidente. Los bits de permiso varían según el rol del firmware, pero los dos bits inferiores son: 0 (Invitado), 1 (Solo lectura), 2 (Lectura/escritura), 3 (Administrador).", "repeater_cliHelpGetBridgeType": "Obtiene tipo de puente ninguno, rs232, espnow", "repeater_cliHelpLogStart": "Inicia el registro de paquetes en el sistema de archivos.", "repeater_cliHelpLogStop": "Detener el registro de paquetes al sistema de archivos.", "repeater_cliHelpLogErase": "Elimina los registros del paquete del sistema de archivos.", - "repeater_cliHelpNeighbors": "Muestra una lista de otros nodos repetidores escuchados a través de anuncios de un solo salto. Cada línea es id-prefijo-hex:marca de tiempo:times-snr-4", + "repeater_cliHelpNeighbors": "Muestra una lista de otros nodos repetidores escuchados a través de anuncios de un solo salto. Cada línea es id-prefijo-hex:marca de tiempo:times-snr-4", "repeater_cliHelpNeighborRemove": "Elimina la primera entrada coincidente (por prefijo de pubkey (hex)) de la lista de vecinos.", - "repeater_cliHelpRegion": "(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.", - "repeater_cliHelpRegionLoad": "NOTA: este es un invocación multi-comando especial. Cada comando subsiguiente es un nombre de región (indentado con espacios para indicar la jerarquía padre, con un espacio mínimo). Terminado enviando una línea en blanco/comando.", - "repeater_cliHelpRegionGet": "Busca la región con el prefijo de nombre dado (o \"\" para el ámbito global). Responde con \"-> nombre-región (nombre-padre) 'F'\"", - "repeater_cliHelpRegionPut": "Agrega o actualiza una definición de región con el nombre dado.", - "repeater_cliHelpRegionRemove": "Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)", - "repeater_cliHelpRegionAllowf": "Establece el permiso de 'F'lujo para la región dada. ('' para el ámbito global/legado)", - "repeater_cliHelpRegionDenyf": "Elimina el permiso de 'F'lood para la región especificada. (NOTA: en esta etapa NO se recomienda utilizarlo en el ámbito global/legado!!)", - "repeater_cliHelpRegionHome": "Responde con la región 'home' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).", - "repeater_cliHelpRegionHomeSet": "Establece la región 'hogar'.", + "repeater_cliHelpRegion": "(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.", + "repeater_cliHelpRegionLoad": "NOTA: este es un invocación multi-comando especial. Cada comando subsiguiente es un nombre de región (indentado con espacios para indicar la jerarquía padre, con un espacio mínimo). Terminado enviando una línea en blanco/comando.", + "repeater_cliHelpRegionGet": "Busca la región con el prefijo de nombre dado (o \"\" para el ámbito global). Responde con \"-> nombre-región (nombre-padre) 'F'\"", + "repeater_cliHelpRegionPut": "Agrega o actualiza una definición de región con el nombre dado.", + "repeater_cliHelpRegionRemove": "Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)", + "repeater_cliHelpRegionAllowf": "Establece el permiso de 'F'lujo para la región dada. ('' para el ámbito global/legado)", + "repeater_cliHelpRegionDenyf": "Elimina el permiso de 'F'lood para la región especificada. (NOTA: en esta etapa NO se recomienda utilizarlo en el ámbito global/legado!!)", + "repeater_cliHelpRegionHome": "Responde con la región 'home' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).", + "repeater_cliHelpRegionHomeSet": "Establece la región 'hogar'.", "repeater_cliHelpRegionSave": "Persiste la lista/mapa de regiones al almacenamiento.", - "repeater_cliHelpGps": "Muestra el estado del GPS. Cuando el GPS está apagado, responde solo con \"apagado\", si está encendido, responde con \"encendido\", estado, fijación, número de satélites.", + "repeater_cliHelpGps": "Muestra el estado del GPS. Cuando el GPS está apagado, responde solo con \"apagado\", si está encendido, responde con \"encendido\", estado, fijación, número de satélites.", "repeater_cliHelpGpsOnOff": "Activa o desactiva el modo GPS.", "repeater_cliHelpGpsSync": "Sincroniza la hora del nodo con el reloj GPS.", - "repeater_cliHelpGpsSetLoc": "Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.", - "repeater_cliHelpGpsAdvert": "Da la configuración de la publicidad del nodo de ubicación:\n- ninguno: no incluir la ubicación en las publicidad\n- compartir: compartir la ubicación GPS (del SensorManager)\n- preferencias: publicidad la ubicación almacenada en preferencias", - "repeater_cliHelpGpsAdvertSet": "Configura la configuración de la publicidad de la ubicación.", + "repeater_cliHelpGpsSetLoc": "Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.", + "repeater_cliHelpGpsAdvert": "Da la configuración de la publicidad del nodo de ubicación:\n- ninguno: no incluir la ubicación en las publicidad\n- compartir: compartir la ubicación GPS (del SensorManager)\n- preferencias: publicidad la ubicación almacenada en preferencias", + "repeater_cliHelpGpsAdvertSet": "Configura la configuración de la publicidad de la ubicación.", "repeater_commandsListTitle": "Lista de comandos", - "repeater_commandsListNote": "NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".", + "repeater_commandsListNote": "NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".", "repeater_general": "General", - "repeater_settingsCategory": "Configuración", + "repeater_settingsCategory": "Configuración", "repeater_bridge": "Puente", "repeater_logging": "Registrando", "repeater_neighborsRepeaterOnly": "Vecinos (solo repetidor)", - "repeater_regionManagementRepeaterOnly": "Gestión de Regiones (solo Repetidor)", - "repeater_regionNote": "Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.", - "repeater_gpsManagement": "Gestión de GPS", - "repeater_gpsNote": "Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.", - "telemetry_receivedData": "Datos de Telemetría Recibidos", - "telemetry_requestTimeout": "Solicitud de telemetría ha expirado.", - "telemetry_errorLoading": "Error al cargar la telemetría: {error}", + "repeater_regionManagementRepeaterOnly": "Gestión de Regiones (solo Repetidor)", + "repeater_regionNote": "Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.", + "repeater_gpsManagement": "Gestión de GPS", + "repeater_gpsNote": "Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.", + "telemetry_receivedData": "Datos de Telemetría Recibidos", + "telemetry_requestTimeout": "Solicitud de telemetría ha expirado.", + "telemetry_errorLoading": "Error al cargar la telemetría: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1191,7 +1191,7 @@ } } }, - "telemetry_noData": "No hay datos de telemetría disponibles.", + "telemetry_noData": "No hay datos de telemetría disponibles.", "telemetry_channelTitle": "Canal {channel}", "@telemetry_channelTitle": { "placeholders": { @@ -1200,7 +1200,7 @@ } } }, - "telemetry_batteryLabel": "Batería", + "telemetry_batteryLabel": "Batería", "telemetry_voltageLabel": "Voltaje", "telemetry_mcuTemperatureLabel": "Temperatura del MCU", "telemetry_temperatureLabel": "Temperatura", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1247,14 +1247,14 @@ "channelPath_viewMap": "Ver mapa", "channelPath_otherObservedPaths": "Otros caminos observados", "channelPath_repeaterHops": "Saltos del Repetidor", - "channelPath_noHopDetails": "Los detalles del paquete no están disponibles.", + "channelPath_noHopDetails": "Los detalles del paquete no están disponibles.", "channelPath_messageDetails": "Detalles del mensaje", "channelPath_senderLabel": "Remitente", "channelPath_timeLabel": "Tiempo", "channelPath_repeatsLabel": "Repetir", "channelPath_pathLabel": "Ruta {index}", "channelPath_observedLabel": "Observado", - "channelPath_observedPathTitle": "Ruta observada {index} • {hops}", + "channelPath_observedPathTitle": "Ruta observada {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "No datos de ubicación", + "channelPath_noLocationData": "No datos de ubicación", "channelPath_timeWithDate": "{day}/{month} a las {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1289,7 +1289,7 @@ } }, "channelPath_unknownPath": "Desconocido", - "channelPath_floodPath": "Inundación", + "channelPath_floodPath": "Inundación", "channelPath_directPath": "Guardar", "channelPath_observedZeroOf": "0 de {total} saltos", "@channelPath_observedZeroOf": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Ruta", "channelPath_observedPathHeader": "Ruta Observada", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1344,7 +1344,7 @@ "channelPath_unknownRepeater": "Repetidor Desconocido", "listFilter_tooltip": "Filtrar y ordenar", "listFilter_sortBy": "Ordenar por", - "listFilter_latestMessages": "Últimos mensajes", + "listFilter_latestMessages": "Últimos mensajes", "listFilter_heardRecently": "Escuchado recientemente", "listFilter_az": "A-Z", "listFilter_filters": "Filtros", @@ -1368,16 +1368,16 @@ "neighbors_errorLoading": "Error al cargar vecinos: {error}", "neighbors_repeatersNeighbors": "Repetidores Vecinos", "neighbors_noData": "No hay datos de vecinos disponibles.", - "channels_joinPrivateChannel": "Únete a un Canal Privado", + "channels_joinPrivateChannel": "Únete a un Canal Privado", "channels_createPrivateChannel": "Crear un Canal Privado", "channels_createPrivateChannelDesc": "Cifrado con una clave secreta.", "channels_joinPrivateChannelDesc": "Introducir manualmente una clave secreta.", - "channels_joinPublicChannel": "Únete al Canal Público", + "channels_joinPublicChannel": "Únete al Canal Público", "channels_joinPublicChannelDesc": "Cualquiera puede unirse a este canal.", - "channels_joinHashtagChannel": "Únete a un Canal con Hashtag", + "channels_joinHashtagChannel": "Únete a un Canal con Hashtag", "channels_joinHashtagChannelDesc": "Cualquiera puede unirse a los canales de hashtag.", - "channels_scanQrCode": "Escanear un Código QR", - "channels_scanQrCodeComingSoon": "Próximamente", + "channels_scanQrCode": "Escanear un Código QR", + "channels_scanQrCodeComingSoon": "Próximamente", "channels_enterHashtag": "Introducir hashtag", "channels_hashtagHint": "ej. #equipo", "@neighbors_unknownContact": { @@ -1394,14 +1394,14 @@ } } }, - "neighbors_unknownContact": "Clave pública desconocida {pubkey}", - "neighbors_heardAgo": "Escuchado: {time} hace atrás", + "neighbors_unknownContact": "Clave pública desconocida {pubkey}", + "neighbors_heardAgo": "Escuchado: {time} hace atrás", "settings_locationGPSEnable": "Habilitar GPS", - "settings_locationGPSEnableSubtitle": "Habilita la actualización automática de la ubicación mediante GPS.", + "settings_locationGPSEnableSubtitle": "Habilita la actualización automática de la ubicación mediante GPS.", "settings_locationIntervalSec": "Intervalo para GPS (Segundos)", "settings_locationIntervalInvalid": "El intervalo debe ser de al menos 60 segundos y menor que 86400 segundos.", - "contacts_manageRoom": "Gestionar Servidor de Habitación", - "room_management": "Administración del Servidor de Habitación", + "contacts_manageRoom": "Gestionar Servidor de Habitación", + "room_management": "Administración del Servidor de Habitación", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1459,35 +1459,35 @@ } }, "community_create": "Crear Comunidad", - "community_createDesc": "Crear una nueva comunidad y compartir a través de código QR.", + "community_createDesc": "Crear una nueva comunidad y compartir a través de código QR.", "community_title": "Comunidad", - "community_join": "Únete", - "community_joinTitle": "Únete a la comunidad", - "community_joinConfirmation": "¿Quieres unirte a la comunidad \"{name}\"?", - "community_scanQr": "Escanear Código QR de la Comunidad", - "community_scanInstructions": "Apunte la cámara a un código QR de la comunidad", - "community_showQr": "Mostrar Código QR", - "community_publicChannel": "Comunidad Pública", + "community_join": "Únete", + "community_joinTitle": "Únete a la comunidad", + "community_joinConfirmation": "¿Quieres unirte a la comunidad \"{name}\"?", + "community_scanQr": "Escanear Código QR de la Comunidad", + "community_scanInstructions": "Apunte la cámara a un código QR de la comunidad", + "community_showQr": "Mostrar Código QR", + "community_publicChannel": "Comunidad Pública", "community_hashtagChannel": "Hashtag de la Comunidad", "community_name": "Nombre de la comunidad", "common_ok": "De acuerdo", "community_enterName": "Introducir nombre de comunidad", "community_created": "Comunidad \"{name}\" creada", - "community_joined": "Se unió a la comunidad \"{name}\"", + "community_joined": "Se unió a la comunidad \"{name}\"", "community_qrTitle": "Compartir Comunidad", - "community_qrInstructions": "Escanear este código QR para unirte a {name}", + "community_qrInstructions": "Escanear este código QR para unirte a {name}", "community_hashtagPrivacyHint": "Los canales de hashtag de la comunidad solo son accesibles para los miembros de la comunidad", - "community_invalidQrCode": "Código QR de comunidad no válido", + "community_invalidQrCode": "Código QR de comunidad no válido", "community_alreadyMember": "Ya eres Miembro", "community_alreadyMemberMessage": "Ya eres miembro de \"{name}\".", - "community_addPublicChannel": "Añadir Canal Público de la Comunidad", - "community_addPublicChannelHint": "Añade automáticamente el canal público para esta comunidad.", - "community_noCommunities": "Aún no se han unido comunidades.", - "community_scanOrCreate": "Escanear un código QR o crear una comunidad para comenzar", + "community_addPublicChannel": "Añadir Canal Público de la Comunidad", + "community_addPublicChannelHint": "Añade automáticamente el canal público para esta comunidad.", + "community_noCommunities": "Aún no se han unido comunidades.", + "community_scanOrCreate": "Escanear un código QR o crear una comunidad para comenzar", "community_manageCommunities": "Gestionar Comunidades", "community_delete": "Salir de la Comunidad", - "community_deleteConfirm": "¿Salir de \"{name}\"?", - "community_deleteChannelsWarning": "Esto también eliminará {count} canal(es) y sus mensajes.", + "community_deleteConfirm": "¿Salir de \"{name}\"?", + "community_deleteChannelsWarning": "Esto también eliminará {count} canal(es) y sus mensajes.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1496,11 +1496,11 @@ } }, "community_deleted": "Has salido de la comunidad \"{name}\"", - "community_addHashtagChannel": "Añadir Hashtag de la Comunidad", - "community_addHashtagChannelDesc": "Añadir un canal con hashtag para esta comunidad", + "community_addHashtagChannel": "Añadir Hashtag de la Comunidad", + "community_addHashtagChannelDesc": "Añadir un canal con hashtag para esta comunidad", "community_selectCommunity": "Seleccionar Comunidad", "community_regularHashtag": "Etiqueta de Hashtag Regular", - "community_regularHashtagDesc": "Hashtag público (cualquiera puede unirse)", + "community_regularHashtagDesc": "Hashtag público (cualquiera puede unirse)", "community_communityHashtag": "Hashtag de la Comunidad", "community_communityHashtagDesc": "Exclusivo para miembros de la comunidad", "community_forCommunity": "Para {name}", @@ -1532,13 +1532,13 @@ } } }, - "community_regenerateSecret": "Regenerar Contraseña Secreta", - "community_regenerateSecretConfirm": "Regenerar la clave secreta para \"{name}\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.", - "community_secretRegenerated": "Código secreto regenerado para \"{name}\"", + "community_regenerateSecret": "Regenerar Contraseña Secreta", + "community_regenerateSecretConfirm": "Regenerar la clave secreta para \"{name}\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.", + "community_secretRegenerated": "Código secreto regenerado para \"{name}\"", "community_regenerate": "Regenerar", "community_secretUpdated": "Confidencialidad actualizada para \"{name}\"", - "community_scanToUpdateSecret": "Escanear el nuevo código QR para actualizar el secreto de \"{name}\"", - "community_updateSecret": "Actualizar Contraseña", + "community_scanToUpdateSecret": "Escanear el nuevo código QR para actualizar el secreto de \"{name}\"", + "community_updateSecret": "Actualizar Contraseña", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1546,34 +1546,34 @@ } } }, - "pathTrace_you": "Tú", - "pathTrace_failed": "El trazado de ruta falló.", + "pathTrace_you": "Tú", + "pathTrace_failed": "El trazado de ruta falló.", "pathTrace_refreshTooltip": "Actualizar Path Trace", "contacts_pathTrace": "Rastreo de caminos", "contacts_repeaterPathTrace": "Rastrear ruta al repetidor", "contacts_repeaterPing": "Pingar repetidor", "contacts_ping": "Ping", - "pathTrace_notAvailable": "El trazado de ruta no está disponible.", + "pathTrace_notAvailable": "El trazado de ruta no está disponible.", "contacts_roomPing": "Pingar servidor de sala", - "contacts_roomPathTrace": "Rastreo de ruta al servidor de la habitación", + "contacts_roomPathTrace": "Rastreo de ruta al servidor de la habitación", "contacts_pathTraceTo": "Rastrear ruta a {name}", "contacts_chatTraceRoute": "Ruta de trazado", "appSettings_languageUk": "Ucraniano", - "contacts_clipboardEmpty": "El portapapeles está vacío.", + "contacts_clipboardEmpty": "El portapapeles está vacío.", "appSettings_languageRu": "Ruso", "appSettings_enableMessageTracing": "Habilitar seguimiento de mensajes", "appSettings_enableMessageTracingSubtitle": "Mostrar metadatos detallados de enrutamiento y tiempo para los mensajes", - "contacts_invalidAdvertFormat": "Datos de contacto no válidos", - "contacts_floodAdvert": "Anuncio de inundación", + "contacts_invalidAdvertFormat": "Datos de contacto no válidos", + "contacts_floodAdvert": "Anuncio de inundación", "contacts_contactImported": "El contacto ha sido importado.", - "contacts_contactImportFailed": "Contacto no se importó correctamente.", + "contacts_contactImportFailed": "Contacto no se importó correctamente.", "contacts_zeroHopAdvert": "Anuncio de Zero Hop", "contacts_ShareContactZeroHop": "Compartir contacto por anuncio", "contacts_ShareContact": "Copiar contacto al Portapapeles", "contacts_copyAdvertToClipboard": "Copiar anuncio al portapapeles", "contacts_addContactFromClipboard": "Agregar contacto desde el portapapeles", "contacts_zeroHopContactAdvertFailed": "No se pudo enviar el contacto.", - "contacts_zeroHopContactAdvertSent": "Envió contacto por anuncio.", + "contacts_zeroHopContactAdvertSent": "Envió contacto por anuncio.", "contacts_contactAdvertCopied": "Anuncio copiado al Portapapeles.", "contacts_contactAdvertCopyFailed": "Copiar anuncio al Portapapeles ha fallado.", "notification_activityTitle": "Actividad de MeshCore", @@ -1610,46 +1610,46 @@ } }, "notification_receivedNewMessage": "Nuevo mensaje recibido", - "settings_gpxExportContactsSubtitle": "Exporta compañeros con una ubicación a archivo GPX.", + "settings_gpxExportContactsSubtitle": "Exporta compañeros con una ubicación a archivo GPX.", "settings_gpxExportRepeaters": "Exportar repetidores / servidor de sala a GPX", - "settings_gpxExportSuccess": "Archivo GPX exportado con éxito.", + "settings_gpxExportSuccess": "Archivo GPX exportado con éxito.", "settings_gpxExportNoContacts": "No hay contactos para exportar.", "settings_gpxExportNotAvailable": "No compatible con tu dispositivo/SO", "settings_gpxExportError": "Hubo un error al exportar.", - "settings_gpxExportRepeatersSubtitle": "Exporta repetidores o roomserver con una ubicación a un archivo GPX.", - "settings_gpxExportAllSubtitle": "Exporta todos los contactos con una ubicación a un archivo GPX.", + "settings_gpxExportRepeatersSubtitle": "Exporta repetidores o roomserver con una ubicación a un archivo GPX.", + "settings_gpxExportAllSubtitle": "Exporta todos los contactos con una ubicación a un archivo GPX.", "settings_gpxExportAll": "Exportar todos los contactos a GPX", - "settings_gpxExportContacts": "Exportar compañeros a GPX", - "settings_gpxExportChat": "Ubicaciones de compañero", + "settings_gpxExportContacts": "Exportar compañeros a GPX", + "settings_gpxExportChat": "Ubicaciones de compañero", "settings_gpxExportRepeatersRoom": "Ubicaciones del servidor de repetidor y sala", "settings_gpxExportAllContacts": "Todas las ubicaciones de contactos", "settings_gpxExportShareText": "Datos del mapa exportados desde meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open exportación de datos de mapa GPX", - "pathTrace_someHopsNoLocation": "Uno o más de los lúpulos carecen de una ubicación", + "settings_gpxExportShareSubject": "meshcore-open exportación de datos de mapa GPX", + "pathTrace_someHopsNoLocation": "Uno o más de los lúpulos carecen de una ubicación", "pathTrace_clearTooltip": "Borrar ruta", "map_runTrace": "Ejecutar Rastreo de Ruta", "map_tapToAdd": "Pulse en los nodos para agregarlos al camino.", - "map_removeLast": "Eliminar último", + "map_removeLast": "Eliminar último", "map_pathTraceCancelled": "Rastreo de ruta cancelado.", "scanner_bluetoothOffMessage": "Por favor, active el Bluetooth para escanear dispositivos.", "scanner_chromeRequired": "Navegador Chrome requerido", - "scanner_chromeRequiredMessage": "Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.", - "scanner_bluetoothOff": "Bluetooth está desactivado.", + "scanner_chromeRequiredMessage": "Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.", + "scanner_bluetoothOff": "Bluetooth está desactivado.", "scanner_enableBluetooth": "Habilitar Bluetooth", "snrIndicator_nearByRepeaters": "Repetidores cercanos", - "snrIndicator_lastSeen": "Visto por última vez", + "snrIndicator_lastSeen": "Visto por última vez", "chat_ShowAllPaths": "Mostrar todos los caminos", - "settings_clientRepeatFreqWarning": "Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.", - "settings_clientRepeat": "Repetir sin conexión", + "settings_clientRepeatFreqWarning": "Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.", + "settings_clientRepeat": "Repetir sin conexión", "settings_clientRepeatSubtitle": "Permita que este dispositivo repita los paquetes de red para otros usuarios.", - "settings_aboutOpenMeteoAttribution": "Datos de elevación LOS: Open-Meteo (CC BY 4.0)", + "settings_aboutOpenMeteoAttribution": "Datos de elevación LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Unidades", - "appSettings_unitsMetric": "Métrico (m/km)", + "appSettings_unitsMetric": "Métrico (m/km)", "appSettings_unitsImperial": "Imperial (pies/millas)", - "map_lineOfSight": "Línea de visión", - "map_losScreenTitle": "Línea de visión", + "map_lineOfSight": "Línea de visión", + "map_losScreenTitle": "Línea de visión", "losSelectStartEnd": "Seleccione los nodos de inicio y fin para LOS.", - "losRunFailed": "Error en la comprobación de la línea de visión: {error}", + "losRunFailed": "Error en la comprobación de la línea de visión: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1658,10 +1658,10 @@ } }, "losClearAllPoints": "Borrar todos los puntos", - "losRunToViewElevationProfile": "Ejecute LOS para ver el perfil de elevación", - "losMenuTitle": "Menú LOS", + "losRunToViewElevationProfile": "Ejecute LOS para ver el perfil de elevación", + "losMenuTitle": "Menú LOS", "losMenuSubtitle": "Toque nodos o mantenga presionado el mapa para puntos personalizados", - "losShowDisplayNodes": "Mostrar nodos de visualización", + "losShowDisplayNodes": "Mostrar nodos de visualización", "losCustomPoints": "Puntos personalizados", "losCustomPointLabel": "Personalizado {index}", "@losCustomPointLabel": { @@ -1696,8 +1696,8 @@ } }, "losRun": "Ejecutar LOS", - "losNoElevationData": "Sin datos de elevación", - "losProfileClear": "{distance} {distanceUnit}, despejar LOS, autorización mínima {clearance} {heightUnit}", + "losNoElevationData": "Sin datos de elevación", + "losProfileClear": "{distance} {distanceUnit}, despejar LOS, autorización mínima {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1750,20 +1750,20 @@ } } }, - "losErrorElevationUnavailable": "Datos de elevación no disponibles para una o más muestras.", - "losErrorInvalidInput": "Datos de puntos/elevación no válidos para el cálculo de LOS.", + "losErrorElevationUnavailable": "Datos de elevación no disponibles para una o más muestras.", + "losErrorInvalidInput": "Datos de puntos/elevación no válidos para el cálculo de LOS.", "losRenameCustomPoint": "Cambiar el nombre del punto personalizado", "losPointName": "Nombre del punto", "losShowPanelTooltip": "Mostrar panel LOS", "losHidePanelTooltip": "Ocultar panel LOS", - "losElevationAttribution": "Datos de elevación: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Horizonte radioeléctrico", - "losLegendLosBeam": "Línea de visión", + "losElevationAttribution": "Datos de elevación: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Horizonte radioeléctrico", + "losLegendLosBeam": "Línea de visión", "losLegendTerrain": "Terreno", "losFrequencyLabel": "Frecuencia", - "losFrequencyInfoTooltip": "Ver detalles del cálculo", - "losFrequencyDialogTitle": "Cálculo del horizonte radioeléctrico", - "losFrequencyDialogDescription": "A partir de k={baselineK} en {baselineFreq} MHz, el cálculo ajusta el factor k para la banda actual de {frequencyMHz} MHz, que define el límite curvo del horizonte de radio.", + "losFrequencyInfoTooltip": "Ver detalles del cálculo", + "losFrequencyDialogTitle": "Cálculo del horizonte radioeléctrico", + "losFrequencyDialogDescription": "A partir de k={baselineK} en {baselineFreq} MHz, el cálculo ajusta el factor k para la banda actual de {frequencyMHz} MHz, que define el límite curvo del horizonte de radio.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1783,7 +1783,7 @@ }, "listFilter_favorites": "Favoritos", "listFilter_removeFromFavorites": "Eliminar de las favoritas", - "listFilter_addToFavorites": "Añadir a favoritos", + "listFilter_addToFavorites": "Añadir a favoritos", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1825,18 +1825,16 @@ } }, "contacts_searchContactsNoNumber": "Buscar contactos...", - "contacts_unread": "No leído", + "contacts_unread": "No leído", "contacts_searchFavorites": "Buscar {number}{str} Favoritos...", "contacts_searchUsers": "Buscar {number}{str} Usuarios...", "contacts_searchRepeaters": "Buscar {number}{str} Repetidores...", "contacts_searchRoomServers": "Buscar {number}{str} servidores de sala...", - "connectionChoiceTitle": "Seleccione su método de conexión.", - "connectionChoiceSubtitle": "Seleccione la forma en que desea acceder a su dispositivo MeshCore.", "connectionChoiceBluetoothLabel": "Bluetooth", "connectionChoiceUsbLabel": "USB", "usbScreenStatus": "Seleccione un dispositivo USB", - "usbScreenNote": "La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.", + "usbScreenNote": "La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.", "usbScreenTitle": "Conecte mediante USB", - "usbScreenSubtitle": "Seleccione un dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.", + "usbScreenSubtitle": "Seleccione un dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.", "usbScreenEmptyState": "No se encontraron dispositivos USB. Conecte uno y vuelva a cargar." } diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index aa33073..901f4e6 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Échec de la suppression de la chaîne \"{name}\"", +{ + "channels_channelDeleteFailed": "Échec de la suppression de la chaîne \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -20,22 +20,22 @@ "common_close": "Fermer", "common_edit": "Modifier", "common_add": "Ajouter", - "common_settings": "Paramètres", - "common_disconnect": "Déconnecter", - "common_connected": "Connecté", - "common_disconnected": "Déconnecté", - "common_create": "Créer", + "common_settings": "Paramètres", + "common_disconnect": "Déconnecter", + "common_connected": "Connecté", + "common_disconnected": "Déconnecté", + "common_create": "Créer", "common_continue": "Continuer", "common_share": "Partager", "common_copy": "Copier", - "common_retry": "Réessayer", + "common_retry": "Réessayer", "common_hide": "Masquer", "common_remove": "Supprimer", "common_enable": "Activer", - "common_disable": "Désactiver", - "common_reboot": "Redémarrer", + "common_disable": "Désactiver", + "common_reboot": "Redémarrer", "common_loading": "Chargement...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,11 +53,11 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Recherche de périphériques...", + "scanner_scanning": "Recherche de périphériques...", "scanner_connecting": "Connexion en cours...", - "scanner_disconnecting": "Déconnexion...", - "scanner_notConnected": "Non connecté", - "scanner_connectedTo": "Connecté à {deviceName}", + "scanner_disconnecting": "Déconnexion...", + "scanner_notConnected": "Non connecté", + "scanner_connectedTo": "Connecté à {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -67,7 +67,7 @@ }, "scanner_searchingDevices": "Recherche des appareils MeshCore...", "scanner_tapToScan": "Appuyez sur Scanner pour trouver les appareils MeshCore", - "scanner_connectionFailed": "Échec de la connexion : {error}", + "scanner_connectionFailed": "Échec de la connexion : {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -75,52 +75,52 @@ } } }, - "scanner_stop": "Arrêter", + "scanner_stop": "Arrêter", "scanner_scan": "Scanner", "device_quickSwitch": "Basculement rapide", "device_meshcore": "MeshCore", - "settings_title": "Paramètres", - "settings_deviceInfo": "Informations du périphérique", - "settings_appSettings": "Paramètres de l'application", - "settings_appSettingsSubtitle": "Notifications, messagerie et préférences de carte", - "settings_nodeSettings": "Paramètres du nœud", - "settings_nodeName": "Nom du nœud", - "settings_nodeNameNotSet": "Non défini", - "settings_nodeNameHint": "Entrer le nom du nœud", - "settings_nodeNameUpdated": "Nom mis à jour", - "settings_radioSettings": "Paramètres Radio", - "settings_radioSettingsSubtitle": "Fréquence, puissance, facteur d'espacement", - "settings_radioSettingsUpdated": "Paramètres radio mis à jour", + "settings_title": "Paramètres", + "settings_deviceInfo": "Informations du périphérique", + "settings_appSettings": "Paramètres de l'application", + "settings_appSettingsSubtitle": "Notifications, messagerie et préférences de carte", + "settings_nodeSettings": "Paramètres du nÅ“ud", + "settings_nodeName": "Nom du nÅ“ud", + "settings_nodeNameNotSet": "Non défini", + "settings_nodeNameHint": "Entrer le nom du nÅ“ud", + "settings_nodeNameUpdated": "Nom mis à jour", + "settings_radioSettings": "Paramètres Radio", + "settings_radioSettingsSubtitle": "Fréquence, puissance, facteur d'espacement", + "settings_radioSettingsUpdated": "Paramètres radio mis à jour", "settings_location": "Emplacement", - "settings_locationSubtitle": "Coordonnées GPS", - "settings_locationUpdated": "Emplacement mis à jour", + "settings_locationSubtitle": "Coordonnées GPS", + "settings_locationUpdated": "Emplacement mis à jour", "settings_locationBothRequired": "Entrez la latitude et la longitude.", "settings_locationInvalid": "Latitude ou longitude invalide.", "settings_latitude": "Latitude", "settings_longitude": "Longitude", - "settings_privacyMode": "Mode de confidentialité", + "settings_privacyMode": "Mode de confidentialité", "settings_privacyModeSubtitle": "Cacher le nom/l'emplacement dans les annonces", - "settings_privacyModeToggle": "Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.", - "settings_privacyModeEnabled": "Mode de confidentialité activé", - "settings_privacyModeDisabled": "Mode de confidentialité désactivé", + "settings_privacyModeToggle": "Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.", + "settings_privacyModeEnabled": "Mode de confidentialité activé", + "settings_privacyModeDisabled": "Mode de confidentialité désactivé", "settings_actions": "Actions", "settings_sendAdvertisement": "S'annoncer", - "settings_sendAdvertisementSubtitle": "Présence diffusée maintenant", - "settings_advertisementSent": "Annonce envoyée", + "settings_sendAdvertisementSubtitle": "Présence diffusée maintenant", + "settings_advertisementSent": "Annonce envoyée", "settings_syncTime": "Temps de synchronisation", - "settings_syncTimeSubtitle": "Définir l'heure de l'appareil sur l'heure du téléphone.", + "settings_syncTimeSubtitle": "Définir l'heure de l'appareil sur l'heure du téléphone.", "settings_timeSynchronized": "Synchronisation temporelle", - "settings_refreshContacts": "Rafraîchir les Contacts", + "settings_refreshContacts": "Rafraîchir les Contacts", "settings_refreshContactsSubtitle": "Recharger la liste des contacts depuis l'appareil", - "settings_rebootDevice": "Redémarrer l'appareil", - "settings_rebootDeviceSubtitle": "Redémarrer l'appareil MeshCore", - "settings_rebootDeviceConfirm": "Êtes-vous sûr de vouloir redémarrer l'appareil ? Vous serez déconnecté.", - "settings_debug": "Déboguer", - "settings_bleDebugLog": "Journal de débogage BLE", - "settings_bleDebugLogSubtitle": "Commandes BLE, réponses et données brutes", - "settings_appDebugLog": "Journal de débogage de l'application", - "settings_appDebugLogSubtitle": "Messages de débogage de l'application", - "settings_about": "À propos", + "settings_rebootDevice": "Redémarrer l'appareil", + "settings_rebootDeviceSubtitle": "Redémarrer l'appareil MeshCore", + "settings_rebootDeviceConfirm": "Êtes-vous sûr de vouloir redémarrer l'appareil ? Vous serez déconnecté.", + "settings_debug": "Déboguer", + "settings_bleDebugLog": "Journal de débogage BLE", + "settings_bleDebugLogSubtitle": "Commandes BLE, réponses et données brutes", + "settings_appDebugLog": "Journal de débogage de l'application", + "settings_appDebugLogSubtitle": "Messages de débogage de l'application", + "settings_about": "À propos", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -130,20 +130,20 @@ } }, "settings_aboutLegalese": "Projet MeshCore Open Source 2026", - "settings_aboutDescription": "Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.", + "settings_aboutDescription": "Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.", "settings_infoName": "Nom", "settings_infoId": "ID", - "settings_infoStatus": "État", + "settings_infoStatus": "État", "settings_infoBattery": "Batterie", - "settings_infoPublicKey": "Clé Publique", + "settings_infoPublicKey": "Clé Publique", "settings_infoContactsCount": "Nombre de contacts", "settings_infoChannelCount": "Nombre de canaux", - "settings_presets": "Préréglages", - "settings_frequency": "Fréquence (MHz)", + "settings_presets": "Préréglages", + "settings_frequency": "Fréquence (MHz)", "settings_frequencyHelper": "300,0 - 2 500,0", - "settings_frequencyInvalid": "Fréquence invalide (300-2500 MHz)", + "settings_frequencyInvalid": "Fréquence invalide (300-2500 MHz)", "settings_bandwidth": "Bande passante", - "settings_spreadingFactor": "Facteur de répartition", + "settings_spreadingFactor": "Facteur de répartition", "settings_codingRate": "Taux de codage", "settings_txPower": "TX Puissance (dBm)", "settings_txPowerHelper": "0 - 22", @@ -156,51 +156,51 @@ } } }, - "appSettings_title": "Paramètres de l'application", + "appSettings_title": "Paramètres de l'application", "appSettings_appearance": "Apparence", - "appSettings_theme": "Thème", - "appSettings_themeSystem": "Défaut système", - "appSettings_themeLight": "Lumière", + "appSettings_theme": "Thème", + "appSettings_themeSystem": "Défaut système", + "appSettings_themeLight": "Lumière", "appSettings_themeDark": "Sombre", "appSettings_language": "Langue", - "appSettings_languageSystem": "Par défaut du système", + "appSettings_languageSystem": "Par défaut du système", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Notifications", "appSettings_enableNotifications": "Activer les Notifications", "appSettings_enableNotificationsSubtitle": "Recevoir des notifications pour les messages et les annonces", - "appSettings_notificationPermissionDenied": "Permission de notification refusée", - "appSettings_notificationsEnabled": "Notifications activées", - "appSettings_notificationsDisabled": "Notifications désactivées", + "appSettings_notificationPermissionDenied": "Permission de notification refusée", + "appSettings_notificationsEnabled": "Notifications activées", + "appSettings_notificationsDisabled": "Notifications désactivées", "appSettings_messageNotifications": "Notifications de Messages", - "appSettings_messageNotificationsSubtitle": "Afficher une notification lors de la réception de nouveaux messages", + "appSettings_messageNotificationsSubtitle": "Afficher une notification lors de la réception de nouveaux messages", "appSettings_channelMessageNotifications": "Notifications des Messages de Canal", - "appSettings_channelMessageNotificationsSubtitle": "Afficher une notification lors de la réception des messages de canal", + "appSettings_channelMessageNotificationsSubtitle": "Afficher une notification lors de la réception des messages de canal", "appSettings_advertisementNotifications": "Notifications d'annonces", - "appSettings_advertisementNotificationsSubtitle": "Afficher une notification lors de la découverte de nouveaux nœuds", + "appSettings_advertisementNotificationsSubtitle": "Afficher une notification lors de la découverte de nouveaux nÅ“uds", "appSettings_messaging": "Messagerie", "appSettings_clearPathOnMaxRetry": "Effacer le chemin sur Max Retry", - "appSettings_clearPathOnMaxRetrySubtitle": "Réinitialiser le chemin de contact après 5 tentatives d'envoi infructueuses", - "appSettings_pathsWillBeCleared": "Les chemins seront effacés après 5 tentatives infructueuses.", - "appSettings_pathsWillNotBeCleared": "Les chemins ne seront pas effacés automatiquement.", - "appSettings_autoRouteRotation": "Rotation de l'itinéraire automatique", - "appSettings_autoRouteRotationSubtitle": "Alterner entre les meilleurs chemins et le mode d'envoi sur tout le réseau (flood)", - "appSettings_autoRouteRotationEnabled": "Rotation du routage automatique activée", - "appSettings_autoRouteRotationDisabled": "Rotation de l'itinéraire automatique désactivée", + "appSettings_clearPathOnMaxRetrySubtitle": "Réinitialiser le chemin de contact après 5 tentatives d'envoi infructueuses", + "appSettings_pathsWillBeCleared": "Les chemins seront effacés après 5 tentatives infructueuses.", + "appSettings_pathsWillNotBeCleared": "Les chemins ne seront pas effacés automatiquement.", + "appSettings_autoRouteRotation": "Rotation de l'itinéraire automatique", + "appSettings_autoRouteRotationSubtitle": "Alterner entre les meilleurs chemins et le mode d'envoi sur tout le réseau (flood)", + "appSettings_autoRouteRotationEnabled": "Rotation du routage automatique activée", + "appSettings_autoRouteRotationDisabled": "Rotation de l'itinéraire automatique désactivée", "appSettings_battery": "Batterie", "appSettings_batteryChemistry": "Chimie de la batterie", - "appSettings_batteryChemistryPerDevice": "Définir par appareil ({deviceName})", + "appSettings_batteryChemistryPerDevice": "Définir par appareil ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -213,15 +213,15 @@ "appSettings_batteryLifepo4": "LiFePO4 (2,6-3,65V)", "appSettings_batteryLipo": "LiPo (3,0-4,2V)", "appSettings_mapDisplay": "Affichage de la carte", - "appSettings_showRepeaters": "Afficher les répéteurs", - "appSettings_showRepeatersSubtitle": "Afficher les nœuds répéteurs sur la carte", - "appSettings_showChatNodes": "Afficher les nœuds de discussion", - "appSettings_showChatNodesSubtitle": "Afficher les nœuds de chat sur la carte", - "appSettings_showOtherNodes": "Afficher d'autres nœuds", - "appSettings_showOtherNodesSubtitle": "Afficher d'autres types de nœuds sur la carte", + "appSettings_showRepeaters": "Afficher les répéteurs", + "appSettings_showRepeatersSubtitle": "Afficher les nÅ“uds répéteurs sur la carte", + "appSettings_showChatNodes": "Afficher les nÅ“uds de discussion", + "appSettings_showChatNodesSubtitle": "Afficher les nÅ“uds de chat sur la carte", + "appSettings_showOtherNodes": "Afficher d'autres nÅ“uds", + "appSettings_showOtherNodesSubtitle": "Afficher d'autres types de nÅ“uds sur la carte", "appSettings_timeFilter": "Filtre du temps", - "appSettings_timeFilterShowAll": "Afficher tous les nœuds", - "appSettings_timeFilterShowLast": "Afficher les nœuds des {hours} dernières heures", + "appSettings_timeFilterShowAll": "Afficher tous les nÅ“uds", + "appSettings_timeFilterShowLast": "Afficher les nÅ“uds des {hours} dernières heures", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -230,15 +230,15 @@ } }, "appSettings_mapTimeFilter": "Filtre du Temps de la Carte", - "appSettings_showNodesDiscoveredWithin": "Afficher les nœuds découverts dans :", + "appSettings_showNodesDiscoveredWithin": "Afficher les nÅ“uds découverts dans :", "appSettings_allTime": "Tout le temps", - "appSettings_lastHour": "Dernière heure", - "appSettings_last6Hours": "Dernières 6 heures", - "appSettings_last24Hours": "Dernières 24 heures", - "appSettings_lastWeek": "La semaine dernière", + "appSettings_lastHour": "Dernière heure", + "appSettings_last6Hours": "Dernières 6 heures", + "appSettings_last24Hours": "Dernières 24 heures", + "appSettings_lastWeek": "La semaine dernière", "appSettings_offlineMapCache": "Cache de Carte Hors Ligne", - "appSettings_noAreaSelected": "Aucune zone sélectionnée", - "appSettings_areaSelectedZoom": "Zone sélectionnée (zoom {minZoom}-{maxZoom})", + "appSettings_noAreaSelected": "Aucune zone sélectionnée", + "appSettings_areaSelectedZoom": "Zone sélectionnée (zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -249,17 +249,17 @@ } } }, - "appSettings_debugCard": "Déboguer", - "appSettings_appDebugLogging": "Journalisation de débogage de l'application", - "appSettings_appDebugLoggingSubtitle": "Enregistrez les messages de débogage de l'application Log pour le dépannage.", - "appSettings_appDebugLoggingEnabled": "Journalisation de débogage de l'application activée", - "appSettings_appDebugLoggingDisabled": "Le débogage de l'application est désactivé.", + "appSettings_debugCard": "Déboguer", + "appSettings_appDebugLogging": "Journalisation de débogage de l'application", + "appSettings_appDebugLoggingSubtitle": "Enregistrez les messages de débogage de l'application Log pour le dépannage.", + "appSettings_appDebugLoggingEnabled": "Journalisation de débogage de l'application activée", + "appSettings_appDebugLoggingDisabled": "Le débogage de l'application est désactivé.", "contacts_title": "Contacts", - "contacts_noContacts": "Aucun contact trouvé.", - "contacts_contactsWillAppear": "Les contacts apparaîtront lorsque les appareils font leur annonce.", + "contacts_noContacts": "Aucun contact trouvé.", + "contacts_contactsWillAppear": "Les contacts apparaîtront lorsque les appareils font leur annonce.", "contacts_searchContacts": "Rechercher des contacts...", "contacts_noUnreadContacts": "Aucun contact non lu", - "contacts_noContactsFound": "Aucun contact ou groupe trouvé.", + "contacts_noContactsFound": "Aucun contact ou groupe trouvé.", "contacts_deleteContact": "Supprimer le contact", "contacts_removeConfirm": "Supprimer {contactName} des contacts ?", "@contacts_removeConfirm": { @@ -269,7 +269,7 @@ } } }, - "contacts_manageRepeater": "Gérer le répéteur", + "contacts_manageRepeater": "Gérer le répéteur", "contacts_roomLogin": "Connexion Room Server", "contacts_openChat": "Ouverture du Chat", "contacts_editGroup": "Modifier le groupe", @@ -285,7 +285,7 @@ "contacts_newGroup": "Nouveau Groupe", "contacts_groupName": "Nom du groupe", "contacts_groupNameRequired": "Le nom du groupe est obligatoire.", - "contacts_groupAlreadyExists": "Le groupe \"{name}\" existe déjà.", + "contacts_groupAlreadyExists": "Le groupe \"{name}\" existe déjà.", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -294,7 +294,7 @@ } }, "contacts_filterContacts": "Filtrer les contacts...", - "contacts_noContactsMatchFilter": "Aucun contact ne correspond à votre filtre.", + "contacts_noContactsMatchFilter": "Aucun contact ne correspond à votre filtre.", "contacts_noMembers": "Aucun membre", "contacts_lastSeenNow": "Vu maintenant", "contacts_lastSeenMinsAgo": "Vu il y a {minutes} minutes", @@ -324,10 +324,10 @@ } }, "channels_title": "Canaux", - "channels_noChannelsConfigured": "Aucun canal configuré", + "channels_noChannelsConfigured": "Aucun canal configuré", "channels_addPublicChannel": "Ajouter un canal public", "channels_searchChannels": "Rechercher des canaux...", - "channels_noChannelsFound": "Aucun canal trouvé", + "channels_noChannelsFound": "Aucun canal trouvé", "channels_channelIndex": "Canal {index}", "@channels_channelIndex": { "placeholders": { @@ -338,14 +338,14 @@ }, "channels_hashtagChannel": "Canal avec hashtag", "channels_public": "Public", - "channels_private": "Privé", + "channels_private": "Privé", "channels_publicChannel": "Canal public", - "channels_privateChannel": "Canal privé", + "channels_privateChannel": "Canal privé", "channels_editChannel": "Modifier le canal", - "channels_muteChannel": "Désactiver les notifications du canal", - "channels_unmuteChannel": "Réactiver les notifications du canal", + "channels_muteChannel": "Désactiver les notifications du canal", + "channels_unmuteChannel": "Réactiver les notifications du canal", "channels_deleteChannel": "Supprimer le canal", - "channels_deleteChannelConfirm": "Supprimer {name}? Cela ne peut pas être annulé.", + "channels_deleteChannelConfirm": "Supprimer {name}? Cela ne peut pas être annulé.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Le canal \"{name}\" a été supprimé", + "channels_channelDeleted": "Le canal \"{name}\" a été supprimé", "@channels_channelDeleted": { "placeholders": { "name": { @@ -367,10 +367,10 @@ "channels_usePublicChannel": "Utiliser le canal public", "channels_standardPublicPsk": "PSK public standard", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Générer une clé de modulation PSK aléatoire", + "channels_generateRandomPsk": "Générer une clé de modulation PSK aléatoire", "channels_enterChannelName": "Veuillez entrer un nom de canal", - "channels_pskMustBe32Hex": "Le PKS doit être composé de 32 caractères hexadécimaux.", - "channels_channelAdded": "Le canal \"{name}\" a été ajouté", + "channels_pskMustBe32Hex": "Le PKS doit être composé de 32 caractères hexadécimaux.", + "channels_channelAdded": "Le canal \"{name}\" a été ajouté", "@channels_channelAdded": { "placeholders": { "name": { @@ -387,7 +387,7 @@ } }, "channels_smazCompression": "Compression SMAZ", - "channels_channelUpdated": "Le canal \"{name}\" a été mis à jour", + "channels_channelUpdated": "Le canal \"{name}\" a été mis à jour", "@channels_channelUpdated": { "placeholders": { "name": { @@ -395,16 +395,16 @@ } } }, - "channels_publicChannelAdded": "Le canal public a été ajouté", + "channels_publicChannelAdded": "Le canal public a été ajouté", "channels_sortBy": "Trier par", "channels_sortManual": "Manuel", - "channels_sortAZ": "A à Z", + "channels_sortAZ": "A à Z", "channels_sortLatestMessages": "Derniers messages", "channels_sortUnread": "Non lu", "chat_noMessages": "Aucun message pour le moment.", "chat_sendMessageToStart": "Envoyer un message pour commencer", - "chat_originalMessageNotFound": "Message d'origine non trouvé", - "chat_replyingTo": "Répondre à {name}", + "chat_originalMessageNotFound": "Message d'origine non trouvé", + "chat_replyingTo": "Répondre à {name}", "@chat_replyingTo": { "placeholders": { "name": { @@ -412,7 +412,7 @@ } } }, - "chat_replyTo": "Répondre à {name}", + "chat_replyTo": "Répondre à {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -421,7 +421,7 @@ } }, "chat_location": "Emplacement", - "chat_sendMessageTo": "Envoyer un message à {contactName}", + "chat_sendMessageTo": "Envoyer un message à {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -438,9 +438,9 @@ } } }, - "chat_messageCopied": "Message copié", - "chat_messageDeleted": "Message supprimé", - "chat_retryingMessage": "Tentative de récupération.", + "chat_messageCopied": "Message copié", + "chat_messageDeleted": "Message supprimé", + "chat_retryingMessage": "Tentative de récupération.", "chat_retryCount": "Essai {current}/{max}", "@chat_retryCount": { "placeholders": { @@ -453,32 +453,32 @@ } }, "chat_sendGif": "Envoyer GIF", - "chat_reply": "Répondre", - "chat_addReaction": "Ajouter une Réaction", + "chat_reply": "Répondre", + "chat_addReaction": "Ajouter une Réaction", "chat_me": "Moi", - "emojiCategorySmileys": "Émojis", + "emojiCategorySmileys": "Émojis", "emojiCategoryGestures": "Gestes", - "emojiCategoryHearts": "Cœurs", + "emojiCategoryHearts": "CÅ“urs", "emojiCategoryObjects": "Objets", "gifPicker_title": "Choisir un GIF", "gifPicker_searchHint": "Rechercher des GIF...", - "gifPicker_poweredBy": "Propulsé par GIPHY", - "gifPicker_noGifsFound": "Aucun GIF trouvé", + "gifPicker_poweredBy": "Propulsé par GIPHY", + "gifPicker_noGifsFound": "Aucun GIF trouvé", "gifPicker_failedLoad": "Impossible de charger les GIFs", - "gifPicker_failedSearch": "Recherche de GIFs échouée", + "gifPicker_failedSearch": "Recherche de GIFs échouée", "gifPicker_noInternet": "Aucune connexion internet", - "debugLog_appTitle": "Journal de débogage de l'application", - "debugLog_bleTitle": "Journal de débogage BLE", + "debugLog_appTitle": "Journal de débogage de l'application", + "debugLog_bleTitle": "Journal de débogage BLE", "debugLog_copyLog": "Copier le journal", "debugLog_clearLog": "Effacer le journal", - "debugLog_copied": "Journal de débogage copié", - "debugLog_bleCopied": "Journal BLE copié", - "debugLog_noEntries": "Aucun journal de débogage pour le moment.", - "debugLog_enableInSettings": "Activer le débogage de l'application dans les paramètres", + "debugLog_copied": "Journal de débogage copié", + "debugLog_bleCopied": "Journal BLE copié", + "debugLog_noEntries": "Aucun journal de débogage pour le moment.", + "debugLog_enableInSettings": "Activer le débogage de l'application dans les paramètres", "debugLog_frames": "Cadres", "debugLog_rawLogRx": "Enregistrement brut - RX", - "debugLog_noBleActivity": "Pas d'activité BLE enregistrée pour le moment.", - "debugFrame_length": "Longueur du cadre : {count} octets", + "debugLog_noBleActivity": "Pas d'activité BLE enregistrée pour le moment.", + "debugFrame_length": "Longueur du cadre : {count} octets", "@debugFrame_length": { "placeholders": { "count": { @@ -519,7 +519,7 @@ } } }, - "debugFrame_textType": "- Type de texte : {type} ({label})", + "debugFrame_textType": "- Type de texte : {type} ({label})", "@debugFrame_textType": { "placeholders": { "type": { @@ -540,13 +540,13 @@ } } }, - "debugFrame_hexDump": "Vidéo de Dump Hexadécimal :", + "debugFrame_hexDump": "Vidéo de Dump Hexadécimal :", "chat_pathManagement": "Gestion des chemins", "chat_routingMode": "Mode de routage", - "chat_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", - "chat_forceFloodMode": "Mode tout le réseau forcé", - "chat_recentAckPaths": "Chemins ACK récents (touchez pour utiliser) :", - "chat_pathHistoryFull": "L'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.", + "chat_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", + "chat_forceFloodMode": "Mode tout le réseau forcé", + "chat_recentAckPaths": "Chemins ACK récents (touchez pour utiliser) :", + "chat_pathHistoryFull": "L'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.", "chat_hopSingular": "saut", "chat_hopPlural": "sauts", "chat_hopsCount": "{count} {count, plural, =1{saut} other{sauts}}", @@ -557,20 +557,20 @@ } } }, - "chat_successes": "Succès", + "chat_successes": "Succès", "chat_removePath": "Supprimer le chemin", - "chat_noPathHistoryYet": "Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.", - "chat_pathActions": "Actions du chemin :", - "chat_setCustomPath": "Définir un chemin personnalisé", - "chat_setCustomPathSubtitle": "Spécifier manuellement le chemin de routage", + "chat_noPathHistoryYet": "Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.", + "chat_pathActions": "Actions du chemin :", + "chat_setCustomPath": "Définir un chemin personnalisé", + "chat_setCustomPathSubtitle": "Spécifier manuellement le chemin de routage", "chat_clearPath": "Effacer le chemin", - "chat_clearPathSubtitle": "Forcer la redécouverte lors de la prochaine envoi", - "chat_pathCleared": "Le chemin est dégagé. Le prochain message redécouvrira le tracé.", + "chat_clearPathSubtitle": "Forcer la redécouverte lors de la prochaine envoi", + "chat_pathCleared": "Le chemin est dégagé. Le prochain message redécouvrira le tracé.", "chat_floodModeSubtitle": "Utiliser le commutateur de routage dans la barre d'application", - "chat_floodModeEnabled": "Le mode envoi à tout le réseau est activé. Changer via l'icône de routage dans la barre d'outils.", + "chat_floodModeEnabled": "Le mode envoi à tout le réseau est activé. Changer via l'icône de routage dans la barre d'outils.", "chat_fullPath": "Chemin complet", - "chat_pathDetailsNotAvailable": "Les détails du chemin ne sont pas encore disponibles. Essayez d'envoyer un message pour rafraîchir.", - "chat_pathSetHops": "Chemin défini : {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", + "chat_pathDetailsNotAvailable": "Les détails du chemin ne sont pas encore disponibles. Essayez d'envoyer un message pour rafraîchir.", + "chat_pathSetHops": "Chemin défini : {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -581,16 +581,16 @@ } } }, - "chat_pathSavedLocally": "Sauvegardé localement. Connectez-vous pour synchroniser.", - "chat_pathDeviceConfirmed": "Appareil confirmé.", - "chat_pathDeviceNotConfirmed": "L'appareil n'a pas encore été confirmé.", + "chat_pathSavedLocally": "Sauvegardé localement. Connectez-vous pour synchroniser.", + "chat_pathDeviceConfirmed": "Appareil confirmé.", + "chat_pathDeviceNotConfirmed": "L'appareil n'a pas encore été confirmé.", "chat_type": "Saisir", "chat_path": "Chemin", - "chat_publicKey": "Clé Publique", + "chat_publicKey": "Clé Publique", "chat_compressOutgoingMessages": "Compresser les messages sortants", - "chat_floodForced": "Tout le réseau (forcée)", - "chat_directForced": "Direct (forcé)", - "chat_hopsForced": "{count} sauts (forcés)", + "chat_floodForced": "Tout le réseau (forcée)", + "chat_directForced": "Direct (forcé)", + "chat_hopsForced": "{count} sauts (forcés)", "@chat_hopsForced": { "placeholders": { "count": { @@ -598,9 +598,9 @@ } } }, - "chat_floodAuto": "Tout le réseau (auto)", + "chat_floodAuto": "Tout le réseau (auto)", "chat_direct": "Afficher", - "chat_poiShared": "Point d'intérêt Partagé", + "chat_poiShared": "Point d'intérêt Partagé", "chat_unread": "Non lu : {count}", "@chat_unread": { "placeholders": { @@ -621,10 +621,10 @@ } }, "chat_invalidLink": "Format de lien invalide", - "map_title": "Carte des nœuds", - "map_noNodesWithLocation": "Aucun nœud avec des données de localisation", - "map_nodesNeedGps": "Les nœuds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.", - "map_nodesCount": "Nœuds : {count}", + "map_title": "Carte des nÅ“uds", + "map_noNodesWithLocation": "Aucun nÅ“ud avec des données de localisation", + "map_nodesNeedGps": "Les nÅ“uds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.", + "map_nodesCount": "NÅ“uds : {count}", "@map_nodesCount": { "placeholders": { "count": { @@ -641,26 +641,26 @@ } }, "map_chat": "Chat", - "map_repeater": "Répéteur", + "map_repeater": "Répéteur", "map_room": "Salle", "map_sensor": "Capteur", - "map_pinDm": "Clé (DM)", - "map_pinPrivate": "Verrouiller (Privé)", - "map_pinPublic": "Clé (Public)", - "map_lastSeen": "Dernière fois vu", - "map_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?", - "map_from": "À partir de", + "map_pinDm": "Clé (DM)", + "map_pinPrivate": "Verrouiller (Privé)", + "map_pinPublic": "Clé (Public)", + "map_lastSeen": "Dernière fois vu", + "map_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?", + "map_from": "À partir de", "map_source": "Source", "map_flags": "Drapeaux", "map_shareMarkerHere": "Partager le marqueur ici", - "map_pinLabel": "Étiquete de repin", - "map_label": "Étiquette", - "map_pointOfInterest": "Point d'intérêt", + "map_pinLabel": "Étiquete de repin", + "map_label": "Étiquette", + "map_pointOfInterest": "Point d'intérêt", "map_sendToContact": "Envoyer au contact", "map_sendToChannel": "Envoyer sur le canal", "map_noChannelsAvailable": "Aucun canal disponible", "map_publicLocationShare": "Partager dans un lieu public", - "map_publicLocationShareConfirm": "Vous êtes sur le point de partager un emplacement dans {channelLabel}. Ce canal est public et toute personne disposant de la clé PSK peut le voir.", + "map_publicLocationShareConfirm": "Vous êtes sur le point de partager un emplacement dans {channelLabel}. Ce canal est public et toute personne disposant de la clé PSK peut le voir.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,26 +668,26 @@ } } }, - "map_connectToShareMarkers": "Connectez-vous à un appareil pour partager des marqueurs", - "map_filterNodes": "Filtrer les nœuds", - "map_nodeTypes": "Types de nœuds", - "map_chatNodes": "Nœuds de Chat", - "map_repeaters": "Répéteurs", - "map_otherNodes": "Autres nœuds", - "map_keyPrefix": "Préfixe clé", - "map_filterByKeyPrefix": "Filtrer par préfixe de clé", - "map_publicKeyPrefix": "Préfixe de clé publique", + "map_connectToShareMarkers": "Connectez-vous à un appareil pour partager des marqueurs", + "map_filterNodes": "Filtrer les nÅ“uds", + "map_nodeTypes": "Types de nÅ“uds", + "map_chatNodes": "NÅ“uds de Chat", + "map_repeaters": "Répéteurs", + "map_otherNodes": "Autres nÅ“uds", + "map_keyPrefix": "Préfixe clé", + "map_filterByKeyPrefix": "Filtrer par préfixe de clé", + "map_publicKeyPrefix": "Préfixe de clé publique", "map_markers": "Marqueurs", - "map_showSharedMarkers": "Afficher les marqueurs partagés", - "map_lastSeenTime": "Dernière fois vu", - "map_sharedPin": "Clé partagée", + "map_showSharedMarkers": "Afficher les marqueurs partagés", + "map_lastSeenTime": "Dernière fois vu", + "map_sharedPin": "Clé partagée", "map_joinRoom": "Rejoindre la salle", - "map_manageRepeater": "Gérer le répéteur", + "map_manageRepeater": "Gérer le répéteur", "mapCache_title": "Cache de Carte Hors Ligne", - "mapCache_selectAreaFirst": "Sélectionner une zone pour la mise en cache en premier", - "mapCache_noTilesToDownload": "Aucun tuilage à télécharger pour cette zone.", - "mapCache_downloadTilesTitle": "Télécharger les tuiles", - "mapCache_downloadTilesPrompt": "Télécharger {count} tuiles pour un usage hors ligne ?", + "mapCache_selectAreaFirst": "Sélectionner une zone pour la mise en cache en premier", + "mapCache_noTilesToDownload": "Aucun tuilage à télécharger pour cette zone.", + "mapCache_downloadTilesTitle": "Télécharger les tuiles", + "mapCache_downloadTilesPrompt": "Télécharger {count} tuiles pour un usage hors ligne ?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -695,7 +695,7 @@ } } }, - "mapCache_downloadAction": "Télécharger", + "mapCache_downloadAction": "Télécharger", "mapCache_cachedTiles": "Cachez {count} tuiles", "@mapCache_cachedTiles": { "placeholders": { @@ -704,7 +704,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Tuiles mis en cache ({downloaded}) ({failed} ratés)", + "mapCache_cachedTilesWithFailed": "Tuiles mis en cache ({downloaded}) ({failed} ratés)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -716,9 +716,9 @@ } }, "mapCache_clearOfflineCacheTitle": "Vider le cache hors ligne", - "mapCache_clearOfflineCachePrompt": "Supprimer toutes les tuiles de carte mises en cache ?", - "mapCache_offlineCacheCleared": "Le cache hors ligne a été effacé.", - "mapCache_noAreaSelected": "Aucune zone sélectionnée", + "mapCache_clearOfflineCachePrompt": "Supprimer toutes les tuiles de carte mises en cache ?", + "mapCache_offlineCacheCleared": "Le cache hors ligne a été effacé.", + "mapCache_noAreaSelected": "Aucune zone sélectionnée", "mapCache_cacheArea": "Zone de cache", "mapCache_useCurrentView": "Utiliser la Vue Actuelle", "mapCache_zoomRange": "Plage de zoom", @@ -730,7 +730,7 @@ } } }, - "mapCache_downloadedTiles": "Téléchargé {completed} / {total}", + "mapCache_downloadedTiles": "Téléchargé {completed} / {total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -741,9 +741,9 @@ } } }, - "mapCache_downloadTilesButton": "Télécharger les tuiles", + "mapCache_downloadTilesButton": "Télécharger les tuiles", "mapCache_clearCacheButton": "Vider le Cache", - "mapCache_failedDownloads": "Téléchargements échoués : {count}", + "mapCache_failedDownloads": "Téléchargements échoués : {count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -803,21 +803,21 @@ "time_months": "mois", "time_minutes": "minutes", "time_allTime": "Tout le temps", - "dialog_disconnect": "Déconnecter", - "dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?", - "login_repeaterLogin": "Connexion au répéteur", + "dialog_disconnect": "Déconnecter", + "dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?", + "login_repeaterLogin": "Connexion au répéteur", "login_roomLogin": "Connexion Room Server", "login_password": "Mot de passe", "login_enterPassword": "Entrez votre mot de passe", "login_savePassword": "Sauvegarder le mot de passe", - "login_savePasswordSubtitle": "Le mot de passe sera stocké en toute sécurité sur cet appareil.", - "login_repeaterDescription": "Entrez le mot de passe du répéteur pour accéder aux paramètres et à l'état.", - "login_roomDescription": "Entrez le mot de passe de la pièce pour accéder aux paramètres et à l'état.", + "login_savePasswordSubtitle": "Le mot de passe sera stocké en toute sécurité sur cet appareil.", + "login_repeaterDescription": "Entrez le mot de passe du répéteur pour accéder aux paramètres et à l'état.", + "login_roomDescription": "Entrez le mot de passe de la pièce pour accéder aux paramètres et à l'état.", "login_routing": "Redirection", "login_routingMode": "Mode de routage", - "login_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", - "login_forceFloodMode": "Mode tout le réseau forcé", - "login_managePaths": "Gérer les chemins", + "login_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", + "login_forceFloodMode": "Mode tout le réseau forcé", + "login_managePaths": "Gérer les chemins", "login_login": "Connexion", "login_attempt": "Essayer {current}/{max}", "@login_attempt": { @@ -830,7 +830,7 @@ } } }, - "login_failed": "Connexion échouée : {error}", + "login_failed": "Connexion échouée : {error}", "@login_failed": { "placeholders": { "error": { @@ -838,7 +838,7 @@ } } }, - "login_failedMessage": "Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.", + "login_failedMessage": "Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.", "common_reload": "Recharger", "common_clear": "Effacer", "path_currentPath": "Chemin actuel : {path}", @@ -857,16 +857,16 @@ } } }, - "path_enterCustomPath": "Entrer un chemin personnalisé", + "path_enterCustomPath": "Entrer un chemin personnalisé", "path_currentPathLabel": "Chemin actuel", - "path_hexPrefixInstructions": "Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.", - "path_hexPrefixExample": "Exemple : A1,F2,3C (chaque nœud utilise le premier octet de sa clé publique).", - "path_labelHexPrefixes": "Préfixes hexadécimaux", - "path_helperMaxHops": "Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)", - "path_selectFromContacts": "Sélectionner à partir des contacts :", - "path_noRepeatersFound": "Aucun répéteur ou serveur de salle n'a été trouvé.", - "path_customPathsRequire": "Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.", - "path_invalidHexPrefixes": "Préfixes hexadécimaux invalides : {prefixes}", + "path_hexPrefixInstructions": "Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.", + "path_hexPrefixExample": "Exemple : A1,F2,3C (chaque nÅ“ud utilise le premier octet de sa clé publique).", + "path_labelHexPrefixes": "Préfixes hexadécimaux", + "path_helperMaxHops": "Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)", + "path_selectFromContacts": "Sélectionner à partir des contacts :", + "path_noRepeatersFound": "Aucun répéteur ou serveur de salle n'a été trouvé.", + "path_customPathsRequire": "Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.", + "path_invalidHexPrefixes": "Préfixes hexadécimaux invalides : {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,25 +874,25 @@ } } }, - "path_tooLong": "Le chemin est trop long. Maximum 64 sauts autorisés.", - "path_setPath": "Définir le chemin", - "repeater_management": "Gestion des répéteurs", + "path_tooLong": "Le chemin est trop long. Maximum 64 sauts autorisés.", + "path_setPath": "Définir le chemin", + "repeater_management": "Gestion des répéteurs", "repeater_managementTools": "Outils de Gestion", - "repeater_status": "État", - "repeater_statusSubtitle": "Afficher l'état, les statistiques et les voisins du répéteur", - "repeater_telemetry": "Télémetrie", - "repeater_telemetrySubtitle": "Afficher la télémétrie des capteurs et les statistiques du système", + "repeater_status": "État", + "repeater_statusSubtitle": "Afficher l'état, les statistiques et les voisins du répéteur", + "repeater_telemetry": "Télémetrie", + "repeater_telemetrySubtitle": "Afficher la télémétrie des capteurs et les statistiques du système", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Envoyer des commandes au répéteur", - "repeater_settings": "Paramètres", - "repeater_settingsSubtitle": "Configurer les paramètres du répéteur", - "repeater_statusTitle": "État du répéteur", + "repeater_cliSubtitle": "Envoyer des commandes au répéteur", + "repeater_settings": "Paramètres", + "repeater_settingsSubtitle": "Configurer les paramètres du répéteur", + "repeater_statusTitle": "État du répéteur", "repeater_routingMode": "Mode de routage", - "repeater_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", - "repeater_forceFloodMode": "Mode tout le réseau forcé", + "repeater_autoUseSavedPath": "Auto (utiliser le chemin sauvegardé)", + "repeater_forceFloodMode": "Mode tout le réseau forcé", "repeater_pathManagement": "Gestion des chemins", - "repeater_refresh": "Rafraîchir", - "repeater_statusRequestTimeout": "Demande de statut délai dépassé.", + "repeater_refresh": "Rafraîchir", + "repeater_statusRequestTimeout": "Demande de statut délai dépassé.", "repeater_errorLoadingStatus": "Erreur lors du chargement du statut : {error}", "@repeater_errorLoadingStatus": { "placeholders": { @@ -901,12 +901,12 @@ } } }, - "repeater_systemInformation": "Informations Système", + "repeater_systemInformation": "Informations Système", "repeater_battery": "Batterie", - "repeater_clockAtLogin": "Horloge (au démarrage)", - "repeater_uptime": "Disponibilité", + "repeater_clockAtLogin": "Horloge (au démarrage)", + "repeater_uptime": "Disponibilité", "repeater_queueLength": "Longueur de la file d'attente", - "repeater_debugFlags": "Marqueurs de débogage", + "repeater_debugFlags": "Marqueurs de débogage", "repeater_radioStatistics": "Statistiques Radio", "repeater_lastRssi": "Dernier RSSI", "repeater_lastSnr": "Dernier SNR", @@ -914,8 +914,8 @@ "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", "repeater_packetStatistics": "Statistiques des paquets", - "repeater_sent": "Envoyé", - "repeater_received": "Reçu", + "repeater_sent": "Envoyé", + "repeater_received": "Reçu", "repeater_duplicates": "Doublons", "repeater_daysHoursMinsSecs": "{days} jours {hours}h {minutes}m {seconds}s", "@repeater_daysHoursMinsSecs": { @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}", + "repeater_packetTxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}", + "repeater_packetRxTotal": "Total : {total}, Tout le réseau : {flood}, Direct : {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Tout le réseau : {flood}, Direct : {direct}", + "repeater_duplicatesFloodDirect": "Tout le réseau : {flood}, Direct : {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -981,35 +981,35 @@ } } }, - "repeater_settingsTitle": "Paramètres du répéteur", - "repeater_basicSettings": "Paramètres de base", - "repeater_repeaterName": "Nom du répéteur", - "repeater_repeaterNameHelper": "Afficher le nom de ce répéteur", + "repeater_settingsTitle": "Paramètres du répéteur", + "repeater_basicSettings": "Paramètres de base", + "repeater_repeaterName": "Nom du répéteur", + "repeater_repeaterNameHelper": "Afficher le nom de ce répéteur", "repeater_adminPassword": "Mot de passe Administrateur", - "repeater_adminPasswordHelper": "Mot de passe d'accès complet", - "repeater_guestPassword": "Mot de passe invité", - "repeater_guestPasswordHelper": "Accès en lecture seule avec mot de passe", - "repeater_radioSettings": "Paramètres Radio", - "repeater_frequencyMhz": "Fréquence (MHz)", + "repeater_adminPasswordHelper": "Mot de passe d'accès complet", + "repeater_guestPassword": "Mot de passe invité", + "repeater_guestPasswordHelper": "Accès en lecture seule avec mot de passe", + "repeater_radioSettings": "Paramètres Radio", + "repeater_frequencyMhz": "Fréquence (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Puissance", "repeater_txPowerHelper": "1-30 dBm", "repeater_bandwidth": "Bande passante", - "repeater_spreadingFactor": "Facteur de répartition", + "repeater_spreadingFactor": "Facteur de répartition", "repeater_codingRate": "Taux de codage", - "repeater_locationSettings": "Paramètres de localisation", + "repeater_locationSettings": "Paramètres de localisation", "repeater_latitude": "Latitude", - "repeater_latitudeHelper": "Degrés décimaux (par exemple, 37.7749)", + "repeater_latitudeHelper": "Degrés décimaux (par exemple, 37.7749)", "repeater_longitude": "Longitude", - "repeater_longitudeHelper": "Degrés décimaux (par exemple, -122,4194)", - "repeater_features": "Fonctionnalités", + "repeater_longitudeHelper": "Degrés décimaux (par exemple, -122,4194)", + "repeater_features": "Fonctionnalités", "repeater_packetForwarding": "Transfert de paquets", - "repeater_packetForwardingSubtitle": "Activer le répéteur pour transmettre des paquets", - "repeater_guestAccess": "Accès Invité", - "repeater_guestAccessSubtitle": "Autoriser l'accès invité en lecture seule", - "repeater_privacyMode": "Mode de confidentialité", + "repeater_packetForwardingSubtitle": "Activer le répéteur pour transmettre des paquets", + "repeater_guestAccess": "Accès Invité", + "repeater_guestAccessSubtitle": "Autoriser l'accès invité en lecture seule", + "repeater_privacyMode": "Mode de confidentialité", "repeater_privacyModeSubtitle": "Cacher le nom/l'emplacement dans les annonces", - "repeater_advertisementSettings": "Paramètres d'annonces", + "repeater_advertisementSettings": "Paramètres d'annonces", "repeater_localAdvertInterval": "Intervalle des annonces Locale (0 saut)", "repeater_localAdvertIntervalMinutes": "{minutes} minutes", "@repeater_localAdvertIntervalMinutes": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Intervalle des annonces à tout le réseau (flood)", + "repeater_floodAdvertInterval": "Intervalle des annonces à tout le réseau (flood)", "repeater_floodAdvertIntervalHours": "{hours} heures", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1028,19 +1028,19 @@ } } }, - "repeater_encryptedAdvertInterval": "Intervalle d'annonces cryptées", + "repeater_encryptedAdvertInterval": "Intervalle d'annonces cryptées", "repeater_dangerZone": "Zone dangereuse", - "repeater_rebootRepeater": "Redémarrer Répéteur", - "repeater_rebootRepeaterSubtitle": "Réinitialiser l'appareil répéteur", - "repeater_rebootRepeaterConfirm": "Êtes-vous sûr de vouloir redémarrer ce répéteur ?", - "repeater_regenerateIdentityKey": "Ré générer la clé d'identité", - "repeater_regenerateIdentityKeySubtitle": "Générer une nouvelle paire de clés publique/privée", - "repeater_regenerateIdentityKeyConfirm": "Cela générera une nouvelle identité pour le répéteur. Continuer ?", - "repeater_eraseFileSystem": "Supprimer le système de fichiers", - "repeater_eraseFileSystemSubtitle": "Formater le système de fichiers du répéteur", - "repeater_eraseFileSystemConfirm": "AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !", - "repeater_eraseSerialOnly": "Erase n'est disponible que via la console série.", - "repeater_commandSent": "Commande envoyée : {command}", + "repeater_rebootRepeater": "Redémarrer Répéteur", + "repeater_rebootRepeaterSubtitle": "Réinitialiser l'appareil répéteur", + "repeater_rebootRepeaterConfirm": "Êtes-vous sûr de vouloir redémarrer ce répéteur ?", + "repeater_regenerateIdentityKey": "Ré générer la clé d'identité", + "repeater_regenerateIdentityKeySubtitle": "Générer une nouvelle paire de clés publique/privée", + "repeater_regenerateIdentityKeyConfirm": "Cela générera une nouvelle identité pour le répéteur. Continuer ?", + "repeater_eraseFileSystem": "Supprimer le système de fichiers", + "repeater_eraseFileSystemSubtitle": "Formater le système de fichiers du répéteur", + "repeater_eraseFileSystemConfirm": "AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !", + "repeater_eraseSerialOnly": "Erase n'est disponible que via la console série.", + "repeater_commandSent": "Commande envoyée : {command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1057,8 +1057,8 @@ } }, "repeater_confirm": "Confirmer", - "repeater_settingsSaved": "Les paramètres ont été enregistrés avec succès.", - "repeater_errorSavingSettings": "Erreur lors de la sauvegarde des paramètres : {error}", + "repeater_settingsSaved": "Les paramètres ont été enregistrés avec succès.", + "repeater_errorSavingSettings": "Erreur lors de la sauvegarde des paramètres : {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,15 +1066,15 @@ } } }, - "repeater_refreshBasicSettings": "Rafraîchir les paramètres de base", - "repeater_refreshRadioSettings": "Rafraîchir les paramètres Radio", - "repeater_refreshTxPower": "Rafraîchir la tension TX", - "repeater_refreshLocationSettings": "Rafraîchir les paramètres de localisation", - "repeater_refreshPacketForwarding": "Rafraîchir le routage des paquets", - "repeater_refreshGuestAccess": "Rafraîchir l'accès invité", - "repeater_refreshPrivacyMode": "Rafraîchir le Mode Confidentialité", - "repeater_refreshAdvertisementSettings": "Rafraîchir les Paramètres des annonces", - "repeater_refreshed": "{label} rafraîchi", + "repeater_refreshBasicSettings": "Rafraîchir les paramètres de base", + "repeater_refreshRadioSettings": "Rafraîchir les paramètres Radio", + "repeater_refreshTxPower": "Rafraîchir la tension TX", + "repeater_refreshLocationSettings": "Rafraîchir les paramètres de localisation", + "repeater_refreshPacketForwarding": "Rafraîchir le routage des paquets", + "repeater_refreshGuestAccess": "Rafraîchir l'accès invité", + "repeater_refreshPrivacyMode": "Rafraîchir le Mode Confidentialité", + "repeater_refreshAdvertisementSettings": "Rafraîchir les Paramètres des annonces", + "repeater_refreshed": "{label} rafraîchi", "@repeater_refreshed": { "placeholders": { "label": { @@ -1082,7 +1082,7 @@ } } }, - "repeater_errorRefreshing": "Erreur lors du rafraîchissement de {label}", + "repeater_errorRefreshing": "Erreur lors du rafraîchissement de {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1090,14 +1090,14 @@ } } }, - "repeater_cliTitle": "Répéteur CLI", - "repeater_debugNextCommand": "Déboguer Prochaine Commande", + "repeater_cliTitle": "Répéteur CLI", + "repeater_debugNextCommand": "Déboguer Prochaine Commande", "repeater_commandHelp": "Aide", "repeater_clearHistory": "Effacer l'historique", - "repeater_noCommandsSent": "Aucune commande n'a encore été envoyée.", + "repeater_noCommandsSent": "Aucune commande n'a encore été envoyée.", "repeater_typeCommandOrUseQuick": "Saisissez une commande ci-dessous ou utilisez les commandes rapides", "repeater_enterCommandHint": "Entrer la commande...", - "repeater_previousCommand": "Commande précédente", + "repeater_previousCommand": "Commande précédente", "repeater_nextCommand": "Prochaine commande", "repeater_enterCommandFirst": "Entrez d'abord une commande", "repeater_cliCommandFrameTitle": "Frame de commande CLI", @@ -1117,73 +1117,73 @@ "repeater_cliQuickAdvertise": "Publier", "repeater_cliQuickClock": "Horloge", "repeater_cliHelpAdvert": "Envoie un paquet d'annonce", - "repeater_cliHelpReboot": "Redémarre l'appareil. (Note, vous risquez d'obtenir 'Timeout' ce qui est normal)", + "repeater_cliHelpReboot": "Redémarre l'appareil. (Note, vous risquez d'obtenir 'Timeout' ce qui est normal)", "repeater_cliHelpClock": "Affiche l'heure actuelle par l'horloge de chaque appareil.", - "repeater_cliHelpPassword": "Définit un nouveau mot de passe administrateur pour l'appareil.", - "repeater_cliHelpVersion": "Affiche la version du périphérique et la date de construction du micrologiciel.", - "repeater_cliHelpClearStats": "Réinitialise divers compteurs de statistiques à zéro.", - "repeater_cliHelpSetAf": "Définit le facteur de temps d'air.", - "repeater_cliHelpSetTx": "Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).", - "repeater_cliHelpSetRepeat": "Active ou désactive le rôle du répéteur pour ce nœud.", - "repeater_cliHelpSetAllowReadOnly": "(Room server) Si \"activé\", alors un mot de passe vide permettra la connexion, mais ne permettra pas de publier dans la pièce. (lecture seule uniquement)", - "repeater_cliHelpSetFloodMax": "Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n'est pas acheminé).", - "repeater_cliHelpSetIntThresh": "Définit le seuil d'interférence (en dB). La valeur par défaut est de 14. Définir sur 0 désactive la détection des interférences de canal.", - "repeater_cliHelpSetAgcResetInterval": "Définit l'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.", - "repeater_cliHelpSetMultiAcks": "Active ou désactive la fonctionnalité « double ACKs ».", - "repeater_cliHelpSetAdvertInterval": "Définit l'intervalle entre chaque émission d'une annonce locale (sans relais). Définir sur 0 pour désactiver.", - "repeater_cliHelpSetFloodAdvertInterval": "Définit l'intervalle du minuteur en heures pour envoyer un paquet d'annonce massive. Définir sur 0 pour désactiver.", - "repeater_cliHelpSetGuestPassword": "Définit/met à jour le mot de passe de l'invité. (pour les répéteurs, les connexions d'invités peuvent envoyer la requête \"Get Stats\")", - "repeater_cliHelpSetName": "Définit le nom de l'annonce.", - "repeater_cliHelpSetLat": "Définit la latitude de la carte des annonces. (degrés décimaux)", - "repeater_cliHelpSetLon": "Définit la longitude de la carte de l'annonce. (degrés décimaux)", - "repeater_cliHelpSetRadio": "Définit complètement de nouveaux paramètres de radio et les enregistre dans les préférences. Nécessite une commande \"redémarrage\" pour les appliquer.", - "repeater_cliHelpSetRxDelay": "Paramètres (expérimental) de base pour appliquer un léger délai aux paquets reçus, en fonction de la force du signal/score. Définir sur 0 pour désactiver.", - "repeater_cliHelpSetTxDelay": "Définit un facteur multiplié par le temps de fonctionnement en mode vers tout le réseau (flood) pour un paquet et avec un système de slot aléatoire, afin de retarder son envoi (pour diminuer la probabilité de collisions).", - "repeater_cliHelpSetDirectTxDelay": "Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.", - "repeater_cliHelpSetBridgeEnabled": "Activer/Désactiver le pont.", - "repeater_cliHelpSetBridgeDelay": "Définir le délai avant de renvoyer les paquets.", - "repeater_cliHelpSetBridgeSource": "Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.", - "repeater_cliHelpSetBridgeBaud": "Définir la vitesse de communication série pour les ponts Rs232.", - "repeater_cliHelpSetBridgeSecret": "Définir le secret du pont pour les ponts espnow.", - "repeater_cliHelpSetAdcMultiplier": "Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).", - "repeater_cliHelpTempRadio": "Définit des paramètres radio temporaires pour le nombre de minutes donné, puis revient aux paramètres radio d'origine. (ne sauvegarde pas dans les préférences).", - "repeater_cliHelpSetPerm": "Modifie l’ACL. Supprime l’entrée correspondante (par préfixe de clé publique) si \"permissions\" est égal à zéro. Ajoute une nouvelle entrée si la clé publique hexadécimale a une longueur complète et n’est pas actuellement dans l’ACL. Met à jour l’entrée en fonction du préfixe de clé publique. Les bits de permission varient en fonction du rôle du firmware, mais les 2 bits inférieurs sont : 0 (Invité), 1 (Lecture seule), 2 (Lecture/écriture), 3 (Administrateur).", + "repeater_cliHelpPassword": "Définit un nouveau mot de passe administrateur pour l'appareil.", + "repeater_cliHelpVersion": "Affiche la version du périphérique et la date de construction du micrologiciel.", + "repeater_cliHelpClearStats": "Réinitialise divers compteurs de statistiques à zéro.", + "repeater_cliHelpSetAf": "Définit le facteur de temps d'air.", + "repeater_cliHelpSetTx": "Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).", + "repeater_cliHelpSetRepeat": "Active ou désactive le rôle du répéteur pour ce nÅ“ud.", + "repeater_cliHelpSetAllowReadOnly": "(Room server) Si \"activé\", alors un mot de passe vide permettra la connexion, mais ne permettra pas de publier dans la pièce. (lecture seule uniquement)", + "repeater_cliHelpSetFloodMax": "Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n'est pas acheminé).", + "repeater_cliHelpSetIntThresh": "Définit le seuil d'interférence (en dB). La valeur par défaut est de 14. Définir sur 0 désactive la détection des interférences de canal.", + "repeater_cliHelpSetAgcResetInterval": "Définit l'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.", + "repeater_cliHelpSetMultiAcks": "Active ou désactive la fonctionnalité « double ACKs ».", + "repeater_cliHelpSetAdvertInterval": "Définit l'intervalle entre chaque émission d'une annonce locale (sans relais). Définir sur 0 pour désactiver.", + "repeater_cliHelpSetFloodAdvertInterval": "Définit l'intervalle du minuteur en heures pour envoyer un paquet d'annonce massive. Définir sur 0 pour désactiver.", + "repeater_cliHelpSetGuestPassword": "Définit/met à jour le mot de passe de l'invité. (pour les répéteurs, les connexions d'invités peuvent envoyer la requête \"Get Stats\")", + "repeater_cliHelpSetName": "Définit le nom de l'annonce.", + "repeater_cliHelpSetLat": "Définit la latitude de la carte des annonces. (degrés décimaux)", + "repeater_cliHelpSetLon": "Définit la longitude de la carte de l'annonce. (degrés décimaux)", + "repeater_cliHelpSetRadio": "Définit complètement de nouveaux paramètres de radio et les enregistre dans les préférences. Nécessite une commande \"redémarrage\" pour les appliquer.", + "repeater_cliHelpSetRxDelay": "Paramètres (expérimental) de base pour appliquer un léger délai aux paquets reçus, en fonction de la force du signal/score. Définir sur 0 pour désactiver.", + "repeater_cliHelpSetTxDelay": "Définit un facteur multiplié par le temps de fonctionnement en mode vers tout le réseau (flood) pour un paquet et avec un système de slot aléatoire, afin de retarder son envoi (pour diminuer la probabilité de collisions).", + "repeater_cliHelpSetDirectTxDelay": "Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.", + "repeater_cliHelpSetBridgeEnabled": "Activer/Désactiver le pont.", + "repeater_cliHelpSetBridgeDelay": "Définir le délai avant de renvoyer les paquets.", + "repeater_cliHelpSetBridgeSource": "Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.", + "repeater_cliHelpSetBridgeBaud": "Définir la vitesse de communication série pour les ponts Rs232.", + "repeater_cliHelpSetBridgeSecret": "Définir le secret du pont pour les ponts espnow.", + "repeater_cliHelpSetAdcMultiplier": "Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).", + "repeater_cliHelpTempRadio": "Définit des paramètres radio temporaires pour le nombre de minutes donné, puis revient aux paramètres radio d'origine. (ne sauvegarde pas dans les préférences).", + "repeater_cliHelpSetPerm": "Modifie l’ACL. Supprime l’entrée correspondante (par préfixe de clé publique) si \"permissions\" est égal à zéro. Ajoute une nouvelle entrée si la clé publique hexadécimale a une longueur complète et n’est pas actuellement dans l’ACL. Met à jour l’entrée en fonction du préfixe de clé publique. Les bits de permission varient en fonction du rôle du firmware, mais les 2 bits inférieurs sont : 0 (Invité), 1 (Lecture seule), 2 (Lecture/écriture), 3 (Administrateur).", "repeater_cliHelpGetBridgeType": "Obtenir le type de pont : aucun, rs232, espnow", - "repeater_cliHelpLogStart": "Démarre l'enregistrement des paquets dans le système de fichiers.", - "repeater_cliHelpLogStop": "Arrêter de journaliser les paquets vers le système de fichiers.", - "repeater_cliHelpLogErase": "Supprime les journaux de paquets du système de fichiers.", - "repeater_cliHelpNeighbors": "Affiche une liste d'autres nœuds répéteurs entendus via des annonces sans relais. Chaque ligne est id-préfixe-hexadécimal:timestamp:snr-fois-4", - "repeater_cliHelpNeighborRemove": "Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.", - "repeater_cliHelpRegion": "(série uniquement) Liste toutes les régions définies et les autorisations actuelles d'annonces sur tout le réseau (flood).", - "repeater_cliHelpRegionLoad": "REMARQUE : il s'agit d'une invocation multi-commande spéciale. Chaque commande subséquente est un nom de région (indenté avec des espaces pour indiquer la hiérarchie parent, avec un minimum d'un espace). Terminé par l'envoi d'une ligne vide/commande.", - "repeater_cliHelpRegionGet": "Recherche la région avec le préfixe de nom donné (ou \"\" pour l'étendue globale). Répond avec \"-> nom-de-région (nom-parent) 'F'\"", - "repeater_cliHelpRegionPut": "Ajoute ou met à jour une définition de région avec le nom donné.", - "repeater_cliHelpRegionRemove": "Supprime une définition de région avec le nom donné.", - "repeater_cliHelpRegionAllowf": "Définit les autorisations de \"Flot\" pour la région donnée. ('' pour la portée globale/héritée)", - "repeater_cliHelpRegionDenyf": "Supprime l'autorisation 'F'lood' pour la région donnée. (NOTE : à ce stade, il n'est pas conseillé de l'utiliser sur l'étendue globale/héritée !! )", - "repeater_cliHelpRegionHome": "Répond avec la région 'maison' actuelle. (Note appliquée nulle part pour l'instant, réservée à une utilisation future)", - "repeater_cliHelpRegionHomeSet": "Définit la région 'maison'.", - "repeater_cliHelpRegionSave": "Conserve la liste/la carte des régions dans le stockage.", - "repeater_cliHelpGps": "Affiche l’état du GPS. Lorsque le GPS est éteint, il répond uniquement « éteint », si allumé, il répond avec « allumé », l’état, la correction, le nombre de satellites.", - "repeater_cliHelpGpsOnOff": "Activer/désactiver le GPS.", - "repeater_cliHelpGpsSync": "Synchronise l'heure du nœud avec l'horloge GPS.", - "repeater_cliHelpGpsSetLoc": "Définit la position du nœud aux coordonnées GPS et enregistre les préférences.", - "repeater_cliHelpGpsAdvert": "Donne la configuration de l'annonce de la localisation du nœud :\n- none : ne pas inclure la localisation dans les annonces\n- share : partager la localisation GPS (du SensorManager)\n- prefs : annoncer la localisation stockée dans les préférences", - "repeater_cliHelpGpsAdvertSet": "Définit la configuration de l'annonce de localisation.", + "repeater_cliHelpLogStart": "Démarre l'enregistrement des paquets dans le système de fichiers.", + "repeater_cliHelpLogStop": "Arrêter de journaliser les paquets vers le système de fichiers.", + "repeater_cliHelpLogErase": "Supprime les journaux de paquets du système de fichiers.", + "repeater_cliHelpNeighbors": "Affiche une liste d'autres nÅ“uds répéteurs entendus via des annonces sans relais. Chaque ligne est id-préfixe-hexadécimal:timestamp:snr-fois-4", + "repeater_cliHelpNeighborRemove": "Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.", + "repeater_cliHelpRegion": "(série uniquement) Liste toutes les régions définies et les autorisations actuelles d'annonces sur tout le réseau (flood).", + "repeater_cliHelpRegionLoad": "REMARQUE : il s'agit d'une invocation multi-commande spéciale. Chaque commande subséquente est un nom de région (indenté avec des espaces pour indiquer la hiérarchie parent, avec un minimum d'un espace). Terminé par l'envoi d'une ligne vide/commande.", + "repeater_cliHelpRegionGet": "Recherche la région avec le préfixe de nom donné (ou \"\" pour l'étendue globale). Répond avec \"-> nom-de-région (nom-parent) 'F'\"", + "repeater_cliHelpRegionPut": "Ajoute ou met à jour une définition de région avec le nom donné.", + "repeater_cliHelpRegionRemove": "Supprime une définition de région avec le nom donné.", + "repeater_cliHelpRegionAllowf": "Définit les autorisations de \"Flot\" pour la région donnée. ('' pour la portée globale/héritée)", + "repeater_cliHelpRegionDenyf": "Supprime l'autorisation 'F'lood' pour la région donnée. (NOTE : à ce stade, il n'est pas conseillé de l'utiliser sur l'étendue globale/héritée !! )", + "repeater_cliHelpRegionHome": "Répond avec la région 'maison' actuelle. (Note appliquée nulle part pour l'instant, réservée à une utilisation future)", + "repeater_cliHelpRegionHomeSet": "Définit la région 'maison'.", + "repeater_cliHelpRegionSave": "Conserve la liste/la carte des régions dans le stockage.", + "repeater_cliHelpGps": "Affiche l’état du GPS. Lorsque le GPS est éteint, il répond uniquement « éteint », si allumé, il répond avec « allumé », l’état, la correction, le nombre de satellites.", + "repeater_cliHelpGpsOnOff": "Activer/désactiver le GPS.", + "repeater_cliHelpGpsSync": "Synchronise l'heure du nÅ“ud avec l'horloge GPS.", + "repeater_cliHelpGpsSetLoc": "Définit la position du nÅ“ud aux coordonnées GPS et enregistre les préférences.", + "repeater_cliHelpGpsAdvert": "Donne la configuration de l'annonce de la localisation du nÅ“ud :\n- none : ne pas inclure la localisation dans les annonces\n- share : partager la localisation GPS (du SensorManager)\n- prefs : annoncer la localisation stockée dans les préférences", + "repeater_cliHelpGpsAdvertSet": "Définit la configuration de l'annonce de localisation.", "repeater_commandsListTitle": "Liste des commandes", - "repeater_commandsListNote": "NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...", - "repeater_general": "Général", - "repeater_settingsCategory": "Paramètres", + "repeater_commandsListNote": "NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...", + "repeater_general": "Général", + "repeater_settingsCategory": "Paramètres", "repeater_bridge": "Pont", "repeater_logging": "Journalisation", - "repeater_neighborsRepeaterOnly": "Voisins (Uniquement répéteur)", - "repeater_regionManagementRepeaterOnly": "Gestion des régions (uniquement pour le répéteur)", - "repeater_regionNote": "Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.", + "repeater_neighborsRepeaterOnly": "Voisins (Uniquement répéteur)", + "repeater_regionManagementRepeaterOnly": "Gestion des régions (uniquement pour le répéteur)", + "repeater_regionNote": "Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.", "repeater_gpsManagement": "Gestion GPS", - "repeater_gpsNote": "La commande GPS a été introduite pour gérer les sujets liés à la localisation.", - "telemetry_receivedData": "Données de télémétrie reçues", - "telemetry_requestTimeout": "Demande de télémétrie expirée.", - "telemetry_errorLoading": "Erreur lors du chargement de la télémétrie : {error}", + "repeater_gpsNote": "La commande GPS a été introduite pour gérer les sujets liés à la localisation.", + "telemetry_receivedData": "Données de télémétrie reçues", + "telemetry_requestTimeout": "Demande de télémétrie expirée.", + "telemetry_errorLoading": "Erreur lors du chargement de la télémétrie : {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1191,7 +1191,7 @@ } } }, - "telemetry_noData": "Aucune donnée de télémétrie disponible.", + "telemetry_noData": "Aucune donnée de télémétrie disponible.", "telemetry_channelTitle": "Canal {channel}", "@telemetry_channelTitle": { "placeholders": { @@ -1202,8 +1202,8 @@ }, "telemetry_batteryLabel": "Batterie", "telemetry_voltageLabel": "Tension", - "telemetry_mcuTemperatureLabel": "Température du MCU", - "telemetry_temperatureLabel": "Température", + "telemetry_mcuTemperatureLabel": "Température du MCU", + "telemetry_temperatureLabel": "Température", "telemetry_currentLabel": "Actuellement", "telemetry_batteryValue": "{percent}% / {volts}V", "@telemetry_batteryValue": { @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1245,16 +1245,16 @@ }, "channelPath_title": "Chemin de paquet", "channelPath_viewMap": "Afficher la carte", - "channelPath_otherObservedPaths": "Autres chemins observés", - "channelPath_repeaterHops": "Sauts du répéteur", - "channelPath_noHopDetails": "Les détails de l'envoi ne sont pas fournis pour ce paquet.", - "channelPath_messageDetails": "Détails du message", - "channelPath_senderLabel": "Expéditeur", + "channelPath_otherObservedPaths": "Autres chemins observés", + "channelPath_repeaterHops": "Sauts du répéteur", + "channelPath_noHopDetails": "Les détails de l'envoi ne sont pas fournis pour ce paquet.", + "channelPath_messageDetails": "Détails du message", + "channelPath_senderLabel": "Expéditeur", "channelPath_timeLabel": "Temps", - "channelPath_repeatsLabel": "Répétitions", + "channelPath_repeatsLabel": "Répétitions", "channelPath_pathLabel": "Chemin {index}", - "channelPath_observedLabel": "Observé", - "channelPath_observedPathTitle": "Chemin observé {index} • {hops}", + "channelPath_observedLabel": "Observé", + "channelPath_observedPathTitle": "Chemin observé {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "Aucune donnée de localisation", + "channelPath_noLocationData": "Aucune donnée de localisation", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1289,7 +1289,7 @@ } }, "channelPath_unknownPath": "Inconnu", - "channelPath_floodPath": "Tout le réseau", + "channelPath_floodPath": "Tout le réseau", "channelPath_directPath": "Afficher", "channelPath_observedZeroOf": "0 de {total} sauts", "@channelPath_observedZeroOf": { @@ -1311,7 +1311,7 @@ } }, "channelPath_mapTitle": "Carte du chemin", - "channelPath_noRepeaterLocations": "Aucune position de répéteur disponible pour ce chemin.", + "channelPath_noRepeaterLocations": "Aucune position de répéteur disponible pour ce chemin.", "channelPath_primaryPath": "Chemin {index} (Principal)", "@channelPath_primaryPath": { "placeholders": { @@ -1328,8 +1328,8 @@ } }, "channelPath_pathLabelTitle": "Chemin", - "channelPath_observedPathHeader": "Chemin observé", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_observedPathHeader": "Chemin observé", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,17 +1340,17 @@ } } }, - "channelPath_noHopDetailsAvailable": "Aucun détail de saut disponible pour ce paquet.", - "channelPath_unknownRepeater": "Répéteur Inconnu", + "channelPath_noHopDetailsAvailable": "Aucun détail de saut disponible pour ce paquet.", + "channelPath_unknownRepeater": "Répéteur Inconnu", "listFilter_tooltip": "Filtrer et trier", "listFilter_sortBy": "Trier par", "listFilter_latestMessages": "Derniers messages", - "listFilter_heardRecently": "Écoute récemment", - "listFilter_az": "A à Z", + "listFilter_heardRecently": "Écoute récemment", + "listFilter_az": "A à Z", "listFilter_filters": "Filtres", "listFilter_all": "Tout", "listFilter_users": "Utilisateurs", - "listFilter_repeaters": "Répéteurs", + "listFilter_repeaters": "Répéteurs", "listFilter_roomServers": "Room servers", "listFilter_unreadOnly": "Messages non lus seulement", "listFilter_newGroup": "Nouveau groupe", @@ -1363,21 +1363,21 @@ }, "repeater_neighbors": "Voisins", "repeater_neighborsSubtitle": "Afficher les voisins de saut nuls.", - "neighbors_receivedData": "Données des voisins reçues", - "neighbors_requestTimedOut": "Les voisins demandent un délai.", + "neighbors_receivedData": "Données des voisins reçues", + "neighbors_requestTimedOut": "Les voisins demandent un délai.", "neighbors_errorLoading": "Erreur lors du chargement des voisins : {error}", - "neighbors_repeatersNeighbors": "Répéteurs Voisins", - "neighbors_noData": "Aucune donnée concernant les voisins disponible.", - "channels_createPrivateChannelDesc": "Sécurisé avec une clé secrète.", - "channels_joinPrivateChannel": "Rejoindre un Canal Privé", - "channels_createPrivateChannel": "Créer un Canal Privé", - "channels_joinPrivateChannelDesc": "Entrer manuellement une clé secrète.", + "neighbors_repeatersNeighbors": "Répéteurs Voisins", + "neighbors_noData": "Aucune donnée concernant les voisins disponible.", + "channels_createPrivateChannelDesc": "Sécurisé avec une clé secrète.", + "channels_joinPrivateChannel": "Rejoindre un Canal Privé", + "channels_createPrivateChannel": "Créer un Canal Privé", + "channels_joinPrivateChannelDesc": "Entrer manuellement une clé secrète.", "channels_joinPublicChannel": "Rejoindre le canal public", "channels_joinPublicChannelDesc": "Tout le monde peut rejoindre ce canal.", "channels_joinHashtagChannel": "Rejoindre un Canal Hashtag", "channels_joinHashtagChannelDesc": "N'importe qui peut rejoindre les canaux #hashtag.", "channels_scanQrCode": "Scanner un code QR", - "channels_scanQrCodeComingSoon": "Bientôt disponible", + "channels_scanQrCodeComingSoon": "Bientôt disponible", "channels_enterHashtag": "Entrez le hashtag", "channels_hashtagHint": "ex. #equipe", "@neighbors_unknownContact": { @@ -1394,13 +1394,13 @@ } } }, - "neighbors_unknownContact": "Clé publique inconnue {pubkey}", - "neighbors_heardAgo": "Écouté : {time} auparavant", + "neighbors_unknownContact": "Clé publique inconnue {pubkey}", + "neighbors_heardAgo": "Écouté : {time} auparavant", "settings_locationGPSEnable": "Activer le GPS", - "settings_locationGPSEnableSubtitle": "Activer la mise à jour automatique de la position via GPS", - "settings_locationIntervalSec": "Intervalle de mise-à-jour du GPS (Secondes)", - "settings_locationIntervalInvalid": "L'intervalle doit être compris entre 60 et 86400 secondes.", - "contacts_manageRoom": "Gérer le Room Server", + "settings_locationGPSEnableSubtitle": "Activer la mise à jour automatique de la position via GPS", + "settings_locationIntervalSec": "Intervalle de mise-à-jour du GPS (Secondes)", + "settings_locationIntervalInvalid": "L'intervalle doit être compris entre 60 et 86400 secondes.", + "contacts_manageRoom": "Gérer le Room Server", "room_management": "Administrattion Room Server", "@community_joinConfirmation": { "placeholders": { @@ -1459,35 +1459,35 @@ } }, "common_ok": "OK", - "community_title": "Communauté", - "community_create": "Créer une Communauté", - "community_createDesc": "Créer une nouvelle communauté et la partager via QR code.", + "community_title": "Communauté", + "community_create": "Créer une Communauté", + "community_createDesc": "Créer une nouvelle communauté et la partager via QR code.", "community_join": "Rejoindre", - "community_joinTitle": "Rejoindre la communauté", - "community_joinConfirmation": "Souhaitez-vous rejoindre la communauté \"{name}\" ?", - "community_scanQr": "Scanner la communauté QR", + "community_joinTitle": "Rejoindre la communauté", + "community_joinConfirmation": "Souhaitez-vous rejoindre la communauté \"{name}\" ?", + "community_scanQr": "Scanner la communauté QR", "community_scanInstructions": "Pointez l'appareil photo vers un code QR communautaire.", "community_showQr": "Afficher le QR Code", - "community_publicChannel": "Communauté Publique", - "community_hashtagChannel": "Hashtag Communauté", - "community_name": "Nom de la communauté", - "community_enterName": "Entrez le nom de la communauté", - "community_created": "Communauté \"{name}\" créée", - "community_joined": "Rejoint la communauté \"{name}\"", - "community_qrTitle": "Partager Communauté", + "community_publicChannel": "Communauté Publique", + "community_hashtagChannel": "Hashtag Communauté", + "community_name": "Nom de la communauté", + "community_enterName": "Entrez le nom de la communauté", + "community_created": "Communauté \"{name}\" créée", + "community_joined": "Rejoint la communauté \"{name}\"", + "community_qrTitle": "Partager Communauté", "community_qrInstructions": "Scanner ce QR code pour rejoindre {name}", - "community_hashtagPrivacyHint": "Les canaux hashtag de la communauté ne sont accessibles qu'aux membres de la communauté", - "community_invalidQrCode": "Code QR de communauté non valide", - "community_alreadyMember": "Déjà membre", - "community_alreadyMemberMessage": "Vous êtes déjà membre de \"{name}\".", - "community_addPublicChannel": "Ajouter un Canal Public de la Communauté", - "community_addPublicChannelHint": "Ajouter automatiquement le canal public pour cette communauté", - "community_noCommunities": "Aucun groupe n'a été rejoint pour le moment.", - "community_scanOrCreate": "Scanner un code QR ou créer une communauté pour commencer", - "community_manageCommunities": "Gérer les Communautés", - "community_delete": "Quitter la communauté", + "community_hashtagPrivacyHint": "Les canaux hashtag de la communauté ne sont accessibles qu'aux membres de la communauté", + "community_invalidQrCode": "Code QR de communauté non valide", + "community_alreadyMember": "Déjà membre", + "community_alreadyMemberMessage": "Vous êtes déjà membre de \"{name}\".", + "community_addPublicChannel": "Ajouter un Canal Public de la Communauté", + "community_addPublicChannelHint": "Ajouter automatiquement le canal public pour cette communauté", + "community_noCommunities": "Aucun groupe n'a été rejoint pour le moment.", + "community_scanOrCreate": "Scanner un code QR ou créer une communauté pour commencer", + "community_manageCommunities": "Gérer les Communautés", + "community_delete": "Quitter la communauté", "community_deleteConfirm": "Quitter \"{name}\" ?", - "community_deleteChannelsWarning": "Cela supprimera également {count} canal/canaux et leurs messages.", + "community_deleteChannelsWarning": "Cela supprimera également {count} canal/canaux et leurs messages.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,14 +1495,14 @@ } } }, - "community_deleted": "Communauté \"{name}\" quittée", - "community_addHashtagChannel": "Ajouter un Hashtag Communauté", - "community_addHashtagChannelDesc": "Ajouter un canal hashtag pour cette communauté", - "community_selectCommunity": "Sélectionner Communauté", - "community_regularHashtag": "Hashtag régulier", + "community_deleted": "Communauté \"{name}\" quittée", + "community_addHashtagChannel": "Ajouter un Hashtag Communauté", + "community_addHashtagChannelDesc": "Ajouter un canal hashtag pour cette communauté", + "community_selectCommunity": "Sélectionner Communauté", + "community_regularHashtag": "Hashtag régulier", "community_regularHashtagDesc": "Hashtag public (tout le monde peut rejoindre)", - "community_communityHashtag": "Hashtag de la communauté", - "community_communityHashtagDesc": "Exclusif aux membres de la communauté", + "community_communityHashtag": "Hashtag de la communauté", + "community_communityHashtagDesc": "Exclusif aux membres de la communauté", "community_forCommunity": "Pour {name}", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1532,13 +1532,13 @@ } } }, - "community_regenerateSecret": "Régénérer le secret", - "community_regenerateSecretConfirm": "Régénérer la clé secrète pour \"{name}\" ? Tous les membres devront scanner le nouveau code QR pour continuer à communiquer.", - "community_regenerate": "Régénérer", - "community_secretRegenerated": "Mot de passe secret régénéré pour \"{name}\"", - "community_scanToUpdateSecret": "Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"{name}\"", - "community_updateSecret": "Mettre à jour le secret", - "community_secretUpdated": "Modification secrète mise à jour pour \"{name}\"", + "community_regenerateSecret": "Régénérer le secret", + "community_regenerateSecretConfirm": "Régénérer la clé secrète pour \"{name}\" ? Tous les membres devront scanner le nouveau code QR pour continuer à communiquer.", + "community_regenerate": "Régénérer", + "community_secretRegenerated": "Mot de passe secret régénéré pour \"{name}\"", + "community_scanToUpdateSecret": "Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"{name}\"", + "community_updateSecret": "Mettre à jour le secret", + "community_secretUpdated": "Modification secrète mise à jour pour \"{name}\"", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1548,80 +1548,80 @@ }, "pathTrace_you": "Vous", "pathTrace_refreshTooltip": "Actualiser Path Trace", - "pathTrace_failed": "Traçage du chemin échoué.", - "pathTrace_notAvailable": "Tracé de chemin non disponible.", - "contacts_pathTrace": "Traçage de chemin", - "contacts_repeaterPathTrace": "Tracer le chemin vers le répéteur", - "contacts_repeaterPing": "Pinguer le répéteur", - "contacts_roomPathTrace": "Traçage du chemin vers le serveur de la salle", + "pathTrace_failed": "Traçage du chemin échoué.", + "pathTrace_notAvailable": "Tracé de chemin non disponible.", + "contacts_pathTrace": "Traçage de chemin", + "contacts_repeaterPathTrace": "Tracer le chemin vers le répéteur", + "contacts_repeaterPing": "Pinguer le répéteur", + "contacts_roomPathTrace": "Traçage du chemin vers le serveur de la salle", "contacts_chatTraceRoute": "Tracer le chemin", - "contacts_pathTraceTo": "Tracer l'itinéraire vers {name}", + "contacts_pathTraceTo": "Tracer l'itinéraire vers {name}", "contacts_ping": "Ping", "contacts_roomPing": "Pinguer le serveur de la salle", - "contacts_invalidAdvertFormat": "Données de contact non valides", + "contacts_invalidAdvertFormat": "Données de contact non valides", "appSettings_languageUk": "Ukrainien", "appSettings_languageRu": "Russe", - "appSettings_enableMessageTracing": "Activer le traçage des messages", - "appSettings_enableMessageTracingSubtitle": "Afficher les métadonnées détaillées de routage et de synchronisation des messages", + "appSettings_enableMessageTracing": "Activer le traçage des messages", + "appSettings_enableMessageTracingSubtitle": "Afficher les métadonnées détaillées de routage et de synchronisation des messages", "contacts_clipboardEmpty": "Le presse-papiers est vide.", - "contacts_contactImported": "Le contact a été importé.", - "contacts_floodAdvert": "Annonce à tout le réseau", - "contacts_contactImportFailed": "Échec de l'importation du contact.", + "contacts_contactImported": "Le contact a été importé.", + "contacts_floodAdvert": "Annonce à tout le réseau", + "contacts_contactImportFailed": "Échec de l'importation du contact.", "contacts_zeroHopAdvert": "Annonce Zero saut", "contacts_copyAdvertToClipboard": "Copier l'annonce dans le presse-papiers", "contacts_addContactFromClipboard": "Ajouter un contact depuis le presse-papiers", "contacts_ShareContact": "Copier le contact dans le presse-papiers", "contacts_ShareContactZeroHop": "Partager un contact par annonce", - "contacts_contactAdvertCopied": "Annonce copiée dans le presse-papiers.", - "contacts_contactAdvertCopyFailed": "La copie de l'annonce vers le presse-papiers a échoué.", + "contacts_contactAdvertCopied": "Annonce copiée dans le presse-papiers.", + "contacts_contactAdvertCopyFailed": "La copie de l'annonce vers le presse-papiers a échoué.", "contacts_zeroHopContactAdvertSent": "Envoyer un contact par annonce.", - "contacts_zeroHopContactAdvertFailed": "Échec de l'envoi du contact.", - "notification_activityTitle": "Activité MeshCore", + "contacts_zeroHopContactAdvertFailed": "Échec de l'envoi du contact.", + "notification_activityTitle": "Activité MeshCore", "notification_messagesCount": "{count} {count, plural, =1{message} other{messages}}", "notification_channelMessagesCount": "{count} {count, plural, =1{message de canal} other{messages de canal}}", - "notification_newNodesCount": "{count} {count, plural, =1{nouveau nœud} other{nouveaux nœuds}}", - "notification_newTypeDiscovered": "Nouveau {contactType} découvert", - "notification_receivedNewMessage": "Nouveau message reçu", - "settings_gpxExportRepeaters": "Exporter les répéteurs / serveur de salle au format GPX", - "settings_gpxExportRepeatersSubtitle": "Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.", - "settings_gpxExportNoContacts": "Aucun contact à exporter.", - "settings_gpxExportNotAvailable": "Non pris en charge sur votre appareil/Système d'exploitation", + "notification_newNodesCount": "{count} {count, plural, =1{nouveau nÅ“ud} other{nouveaux nÅ“uds}}", + "notification_newTypeDiscovered": "Nouveau {contactType} découvert", + "notification_receivedNewMessage": "Nouveau message reçu", + "settings_gpxExportRepeaters": "Exporter les répéteurs / serveur de salle au format GPX", + "settings_gpxExportRepeatersSubtitle": "Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.", + "settings_gpxExportNoContacts": "Aucun contact à exporter.", + "settings_gpxExportNotAvailable": "Non pris en charge sur votre appareil/Système d'exploitation", "settings_gpxExportError": "Une erreur s'est produite lors de l'exportation.", - "settings_gpxExportRepeatersRoom": "Emplacements des serveurs de répéteur et de salle", + "settings_gpxExportRepeatersRoom": "Emplacements des serveurs de répéteur et de salle", "settings_gpxExportContacts": "Exporter les compagnons au format GPX", "settings_gpxExportAll": "Exporter tous les contacts au format GPX", "settings_gpxExportAllSubtitle": "Exporte tous les contacts avec une localisation vers un fichier GPX.", "settings_gpxExportContactsSubtitle": "Exporte les compagnons avec un emplacement vers un fichier GPX.", "settings_gpxExportChat": "Emplacements des compagnons", - "settings_gpxExportSuccess": "Fichier GPX exporté avec succès.", + "settings_gpxExportSuccess": "Fichier GPX exporté avec succès.", "settings_gpxExportAllContacts": "Tous les emplacements des contacts", - "settings_gpxExportShareText": "Données de carte exportées à partir de meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open exporter les données de carte GPX", + "settings_gpxExportShareText": "Données de carte exportées à partir de meshcore-open", + "settings_gpxExportShareSubject": "meshcore-open exporter les données de carte GPX", "pathTrace_someHopsNoLocation": "Un ou plusieurs des sauts manquent d'une localisation !", - "map_tapToAdd": "Appuyez sur les nœuds pour les ajouter au chemin.", + "map_tapToAdd": "Appuyez sur les nÅ“uds pour les ajouter au chemin.", "pathTrace_clearTooltip": "Effacer le chemin", - "map_pathTraceCancelled": "Traçage de chemin annulé", + "map_pathTraceCancelled": "Traçage de chemin annulé", "map_removeLast": "Supprimer le dernier", - "map_runTrace": "Exécuter la traçage de chemin", + "map_runTrace": "Exécuter la traçage de chemin", "scanner_bluetoothOffMessage": "Veuillez activer le Bluetooth pour rechercher des appareils.", "scanner_chromeRequired": "Navigateur Chrome requis", - "scanner_chromeRequiredMessage": "Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.", - "scanner_bluetoothOff": "Le Bluetooth est désactivé.", + "scanner_chromeRequiredMessage": "Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.", + "scanner_bluetoothOff": "Le Bluetooth est désactivé.", "scanner_enableBluetooth": "Activer le Bluetooth", - "snrIndicator_lastSeen": "Dernière fois vu", - "snrIndicator_nearByRepeaters": "Répéteurs à proximité", + "snrIndicator_lastSeen": "Dernière fois vu", + "snrIndicator_nearByRepeaters": "Répéteurs à proximité", "chat_ShowAllPaths": "Afficher tous les chemins", - "settings_clientRepeatFreqWarning": "Pour les transmissions hors réseau, il est nécessaire d'utiliser les fréquences de 433, 869 ou 918 MHz.", - "settings_clientRepeatSubtitle": "Permettez à cet appareil de répéter les paquets de données pour les autres.", - "settings_clientRepeat": "Répétition hors réseau", - "settings_aboutOpenMeteoAttribution": "Données d'élévation LOS : Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "Unités", - "appSettings_unitsMetric": "Métrique (m/km)", - "appSettings_unitsImperial": "Impérial (ft / mi)", + "settings_clientRepeatFreqWarning": "Pour les transmissions hors réseau, il est nécessaire d'utiliser les fréquences de 433, 869 ou 918 MHz.", + "settings_clientRepeatSubtitle": "Permettez à cet appareil de répéter les paquets de données pour les autres.", + "settings_clientRepeat": "Répétition hors réseau", + "settings_aboutOpenMeteoAttribution": "Données d'élévation LOS : Open-Meteo (CC BY 4.0)", + "appSettings_unitsTitle": "Unités", + "appSettings_unitsMetric": "Métrique (m/km)", + "appSettings_unitsImperial": "Impérial (ft / mi)", "map_lineOfSight": "Ligne de vue", "map_losScreenTitle": "Ligne de vue", - "losSelectStartEnd": "Sélectionnez les nœuds de début et de fin pour LOS.", - "losRunFailed": "Échec de la vérification de la ligne de vue : {error}", + "losSelectStartEnd": "Sélectionnez les nÅ“uds de début et de fin pour LOS.", + "losRunFailed": "Échec de la vérification de la ligne de vue : {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1630,12 +1630,12 @@ } }, "losClearAllPoints": "Effacer tous les points", - "losRunToViewElevationProfile": "Exécutez LOS pour afficher le profil d'altitude", + "losRunToViewElevationProfile": "Exécutez LOS pour afficher le profil d'altitude", "losMenuTitle": "Menu LOS", - "losMenuSubtitle": "Appuyez sur les nœuds ou appuyez longuement sur la carte pour des points personnalisés", - "losShowDisplayNodes": "Afficher les nœuds d'affichage", - "losCustomPoints": "Points personnalisés", - "losCustomPointLabel": "Personnalisé {index}", + "losMenuSubtitle": "Appuyez sur les nÅ“uds ou appuyez longuement sur la carte pour des points personnalisés", + "losShowDisplayNodes": "Afficher les nÅ“uds d'affichage", + "losCustomPoints": "Points personnalisés", + "losCustomPointLabel": "Personnalisé {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -1645,7 +1645,7 @@ }, "losPointA": "Point A", "losPointB": "Point B", - "losAntennaA": "Antenne A : {value} {unit}", + "losAntennaA": "Antenne A : {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -1656,7 +1656,7 @@ } } }, - "losAntennaB": "Antenne B : {value} {unit}", + "losAntennaB": "Antenne B : {value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -1667,8 +1667,8 @@ } } }, - "losRun": "Exécuter la LOS", - "losNoElevationData": "Aucune donnée d'altitude", + "losRun": "Exécuter la LOS", + "losNoElevationData": "Aucune donnée d'altitude", "losProfileClear": "{distance} {distanceUnit}, LOS clair, clairance minimale {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { @@ -1686,7 +1686,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit}, bloqué par {obstruction} {heightUnit}", + "losProfileBlocked": "{distance} {distanceUnit}, bloqué par {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { @@ -1703,9 +1703,9 @@ } } }, - "losStatusChecking": "LOS : vérification...", - "losStatusNoData": "LOS : aucune donnée", - "losStatusSummary": "LOS : {clear}/{total} clair, {blocked} bloqué, {unknown} inconnu", + "losStatusChecking": "LOS : vérification...", + "losStatusNoData": "LOS : aucune donnée", + "losStatusSummary": "LOS : {clear}/{total} clair, {blocked} bloqué, {unknown} inconnu", "@losStatusSummary": { "placeholders": { "clear": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Données d'altitude indisponibles pour un ou plusieurs échantillons.", - "losErrorInvalidInput": "Données de points/d'altitude non valides pour le calcul de la LOS.", - "losRenameCustomPoint": "Renommer le point personnalisé", + "losErrorElevationUnavailable": "Données d'altitude indisponibles pour un ou plusieurs échantillons.", + "losErrorInvalidInput": "Données de points/d'altitude non valides pour le calcul de la LOS.", + "losRenameCustomPoint": "Renommer le point personnalisé", "losPointName": "Nom du point", "losShowPanelTooltip": "Afficher le panneau LOS", "losHidePanelTooltip": "Masquer le panneau LOS", - "losElevationAttribution": "Données d’altitude : Open-Meteo (CC BY 4.0)", + "losElevationAttribution": "Données d’altitude : Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Horizon radio", - "losLegendLosBeam": "Ligne de visée", + "losLegendLosBeam": "Ligne de visée", "losLegendTerrain": "Terrain", - "losFrequencyLabel": "Fréquence", - "losFrequencyInfoTooltip": "Voir les détails du calcul", - "losFrequencyDialogTitle": "Calcul de l’horizon radio", - "losFrequencyDialogDescription": "À partir de k={baselineK} à {baselineFreq} MHz, le calcul ajuste le facteur k pour la bande actuelle de {frequencyMHz} MHz, ce qui définit la limite incurvée de l'horizon radio.", + "losFrequencyLabel": "Fréquence", + "losFrequencyInfoTooltip": "Voir les détails du calcul", + "losFrequencyDialogTitle": "Calcul de l’horizon radio", + "losFrequencyDialogDescription": "À partir de k={baselineK} à {baselineFreq} MHz, le calcul ajuste le facteur k pour la bande actuelle de {frequencyMHz} MHz, ce qui définit la limite incurvée de l'horizon radio.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,9 +1753,9 @@ } } }, - "listFilter_addToFavorites": "Ajouter à mes favoris", + "listFilter_addToFavorites": "Ajouter à mes favoris", "listFilter_removeFromFavorites": "Supprimer des favoris", - "listFilter_favorites": "Préférences", + "listFilter_favorites": "Préférences", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1800,15 +1800,13 @@ "contacts_searchFavorites": "Rechercher {number}{str} Favoris...", "contacts_searchUsers": "Rechercher {number}{str} utilisateurs...", "contacts_searchRoomServers": "Rechercher {number}{str} serveurs de salle...", - "contacts_searchRepeaters": "Rechercher {number}{str} Répéteurs...", + "contacts_searchRepeaters": "Rechercher {number}{str} Répéteurs...", "contacts_searchContactsNoNumber": "Rechercher des contacts...", - "connectionChoiceTitle": "Choisissez votre méthode de connexion.", "connectionChoiceBluetoothLabel": "Bluetooth", "connectionChoiceUsbLabel": "USB", - "connectionChoiceSubtitle": "Choisissez la méthode de connexion que vous préférez pour votre appareil MeshCore.", - "usbScreenStatus": "Sélectionnez un périphérique USB", - "usbScreenSubtitle": "Sélectionnez un périphérique série détecté et connectez-vous directement à votre nœud MeshCore.", - "usbScreenNote": "La communication série USB est active sur les appareils Android et les plateformes de bureau pris en charge.", + "usbScreenStatus": "Sélectionnez un périphérique USB", + "usbScreenSubtitle": "Sélectionnez un périphérique série détecté et connectez-vous directement à votre nÅ“ud MeshCore.", + "usbScreenNote": "La communication série USB est active sur les appareils Android et les plateformes de bureau pris en charge.", "usbScreenTitle": "Connectez via USB", - "usbScreenEmptyState": "Aucun périphérique USB n'a été trouvé. Veuillez connecter un périphérique et rafraîchir la page." + "usbScreenEmptyState": "Aucun périphérique USB n'a été trouvé. Veuillez connecter un périphérique et rafraîchir la page." } diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 14c37fa..c77f1b9 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1,4 +1,4 @@ -{ +{ "channels_channelDeleteFailed": "Impossibile eliminare il canale \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { @@ -35,7 +35,7 @@ "common_disable": "Disattivare", "common_reboot": "Riavvia", "common_loading": "Caricamento...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -98,11 +98,11 @@ "settings_locationInvalid": "Latitudine o longitudine non valida.", "settings_latitude": "Latitudine", "settings_longitude": "Longitudine", - "settings_privacyMode": "Modalità Privacy", + "settings_privacyMode": "Modalità Privacy", "settings_privacyModeSubtitle": "Nascondere nome/luogo negli annunci", - "settings_privacyModeToggle": "Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.", - "settings_privacyModeEnabled": "Modalità privacy abilitata", - "settings_privacyModeDisabled": "Modalità privacy disabilitata", + "settings_privacyModeToggle": "Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.", + "settings_privacyModeEnabled": "Modalità privacy abilitata", + "settings_privacyModeDisabled": "Modalità privacy disabilitata", "settings_actions": "Azioni", "settings_sendAdvertisement": "Invia Annuncio", "settings_sendAdvertisementSubtitle": "Presenza trasmessa ora", @@ -165,18 +165,18 @@ "appSettings_language": "Lingua", "appSettings_languageSystem": "Predefinito di sistema", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Notifiche", "appSettings_enableNotifications": "Abilita Notifiche", "appSettings_enableNotificationsSubtitle": "Ricevi notifiche per messaggi e annunci", @@ -195,7 +195,7 @@ "appSettings_pathsWillBeCleared": "I percorsi verranno puliti dopo 5 tentativi falliti.", "appSettings_pathsWillNotBeCleared": "I percorsi non verranno eliminati automaticamente.", "appSettings_autoRouteRotation": "Rotazione Percorso Automatico", - "appSettings_autoRouteRotationSubtitle": "Alterna tra i percorsi migliori e la modalità alluvione", + "appSettings_autoRouteRotationSubtitle": "Alterna tra i percorsi migliori e la modalità alluvione", "appSettings_autoRouteRotationEnabled": "Rotazione percorso automatico abilitata", "appSettings_autoRouteRotationDisabled": "Rotazione del percorso automatico disabilitata", "appSettings_battery": "Batteria", @@ -284,8 +284,8 @@ }, "contacts_newGroup": "Nuovo Gruppo", "contacts_groupName": "Nome gruppo", - "contacts_groupNameRequired": "Il nome del gruppo è obbligatorio.", - "contacts_groupAlreadyExists": "Il gruppo \"{name}\" esiste già.", + "contacts_groupNameRequired": "Il nome del gruppo è obbligatorio.", + "contacts_groupAlreadyExists": "Il gruppo \"{name}\" esiste già.", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -345,7 +345,7 @@ "channels_muteChannel": "Silenzia canale", "channels_unmuteChannel": "Attiva notifiche canale", "channels_deleteChannel": "Elimina canale", - "channels_deleteChannelConfirm": "Eliminare \"{name}\"? Non può essere annullato.", + "channels_deleteChannelConfirm": "Eliminare \"{name}\"? Non può essere annullato.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -477,7 +477,7 @@ "debugLog_enableInSettings": "Abilita il logging di debug dell'app nelle impostazioni", "debugLog_frames": "Frame", "debugLog_rawLogRx": "Log Raw-RX", - "debugLog_noBleActivity": "Nessuna attività BLE rilevata ancora.", + "debugLog_noBleActivity": "Nessuna attività BLE rilevata ancora.", "debugFrame_length": "Lunghezza del Frame: {count} byte", "@debugFrame_length": { "placeholders": { @@ -542,11 +542,11 @@ }, "debugFrame_hexDump": "Dumpa Esadecimale:", "chat_pathManagement": "Gestione Percorsi", - "chat_routingMode": "Modalità di routing", + "chat_routingMode": "Modalità di routing", "chat_autoUseSavedPath": "Utilizza il percorso salvato", - "chat_forceFloodMode": "Modalità Inondamento Forzato", + "chat_forceFloodMode": "Modalità Inondamento Forzato", "chat_recentAckPaths": "Percorsi ACK Recenti (tocca per usare):", - "chat_pathHistoryFull": "La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.", + "chat_pathHistoryFull": "La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.", "chat_hopSingular": "salta", "chat_hopPlural": "salta", "chat_hopsCount": "{count} {count, plural, =1{salto} other{salti}}", @@ -559,15 +559,15 @@ }, "chat_successes": "successi", "chat_removePath": "Rimuovi percorso", - "chat_noPathHistoryYet": "Non c'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.", + "chat_noPathHistoryYet": "Non c'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.", "chat_pathActions": "Azioni Percorso:", "chat_setCustomPath": "Imposta Percorso Personalizzato", "chat_setCustomPathSubtitle": "Specifica manualmente il percorso di routing", "chat_clearPath": "Cancella Percorso", "chat_clearPathSubtitle": "Riprova la scoperta alla prossima invio", - "chat_pathCleared": "Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.", + "chat_pathCleared": "Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.", "chat_floodModeSubtitle": "Utilizza l'interruttore di routing nella barra delle applicazioni", - "chat_floodModeEnabled": "Modalità alluvione abilitata. Disattivala tramite l'icona di routing nella barra in alto.", + "chat_floodModeEnabled": "Modalità alluvione abilitata. Disattivala tramite l'icona di routing nella barra in alto.", "chat_fullPath": "Percorso Completo", "chat_pathDetailsNotAvailable": "I dettagli del percorso non sono ancora disponibili. Prova a inviare un messaggio per ricaricare.", "chat_pathSetHops": "Percorso impostato: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", @@ -660,7 +660,7 @@ "map_sendToChannel": "Invia al canale", "map_noChannelsAvailable": "Nessun canale disponibile", "map_publicLocationShare": "Condividi in una posizione pubblica", - "map_publicLocationShareConfirm": "Stai per condividere una posizione in {channelLabel}. Questo canale è pubblico e chiunque abbia la PSK può vederlo.", + "map_publicLocationShareConfirm": "Stai per condividere una posizione in {channelLabel}. Questo canale è pubblico e chiunque abbia la PSK può vederlo.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -810,13 +810,13 @@ "login_password": "Password", "login_enterPassword": "Inserisci password", "login_savePassword": "Salva password", - "login_savePasswordSubtitle": "La password verrà memorizzata in modo sicuro su questo dispositivo.", + "login_savePasswordSubtitle": "La password verrà memorizzata in modo sicuro su questo dispositivo.", "login_repeaterDescription": "Inserisci la password del ripetitore per accedere alle impostazioni e allo stato.", "login_roomDescription": "Inserisci la password della stanza per accedere alle impostazioni e allo stato.", "login_routing": "Instradamento", - "login_routingMode": "Modalità di routing", + "login_routingMode": "Modalità di routing", "login_autoUseSavedPath": "Utilizza il percorso salvato", - "login_forceFloodMode": "Modalità Inondamento Forzato", + "login_forceFloodMode": "Modalità Inondamento Forzato", "login_managePaths": "Gestisci Percorsi", "login_login": "Accedi", "login_attempt": "Prova {current}/{max}", @@ -838,7 +838,7 @@ } } }, - "login_failedMessage": "Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.", + "login_failedMessage": "Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.", "common_reload": "Ricaricare", "common_clear": "Cancella", "path_currentPath": "Percorso corrente: {path}", @@ -862,7 +862,7 @@ "path_hexPrefixInstructions": "Inserire i prefissi esadecimali a 2 caratteri per ogni salto, separati da virgole.", "path_hexPrefixExample": "Esempio: A1,F2,3C (ogni nodo utilizza il primo byte della sua chiave pubblica)", "path_labelHexPrefixes": "Prefisso esadecimale (percorso)", - "path_helperMaxHops": "Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)", + "path_helperMaxHops": "Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)", "path_selectFromContacts": "Seleziona da contatti:", "path_noRepeatersFound": "Non sono stati trovati ripetitori o server di stanza.", "path_customPathsRequire": "I percorsi personalizzati richiedono salti intermedi che possono inoltrare messaggi.", @@ -874,7 +874,7 @@ } } }, - "path_tooLong": "Il percorso è troppo lungo. Massimo 64 salti consentiti.", + "path_tooLong": "Il percorso è troppo lungo. Massimo 64 salti consentiti.", "path_setPath": "Imposta Percorso", "repeater_management": "Gestione Ripetitori", "repeater_managementTools": "Strumenti di Gestione", @@ -887,9 +887,9 @@ "repeater_settings": "Impostazioni", "repeater_settingsSubtitle": "Configura i parametri del ripetitore", "repeater_statusTitle": "Stato del Ripetitore", - "repeater_routingMode": "Modalità di routing", + "repeater_routingMode": "Modalità di routing", "repeater_autoUseSavedPath": "Percorso salvato automatico", - "repeater_forceFloodMode": "Modalità Inondamento Forzato", + "repeater_forceFloodMode": "Modalità Inondamento Forzato", "repeater_pathManagement": "Gestione dei percorsi", "repeater_refresh": "Aggiorna", "repeater_statusRequestTimeout": "Richiesta stato scaduta.", @@ -904,7 +904,7 @@ "repeater_systemInformation": "Informazioni di sistema", "repeater_battery": "Batteria", "repeater_clockAtLogin": "Orologio (all'accesso)", - "repeater_uptime": "Disponibilità", + "repeater_uptime": "Disponibilità", "repeater_queueLength": "Lunghezza della coda", "repeater_debugFlags": "Impostazioni Debug", "repeater_radioStatistics": "Statistiche Radio", @@ -1007,10 +1007,10 @@ "repeater_packetForwardingSubtitle": "Abilita il ripetitore per inoltrare i pacchetti", "repeater_guestAccess": "Accesso Ospite", "repeater_guestAccessSubtitle": "Consenti l'accesso ospite in sola lettura", - "repeater_privacyMode": "Modalità Privacy", + "repeater_privacyMode": "Modalità Privacy", "repeater_privacyModeSubtitle": "Nascondere nome/luogo negli annunci", "repeater_advertisementSettings": "Impostazioni Annuncio", - "repeater_localAdvertInterval": "Intervallo Pubblicità Locale", + "repeater_localAdvertInterval": "Intervallo Pubblicità Locale", "repeater_localAdvertIntervalMinutes": "{minutes} minuti", "@repeater_localAdvertIntervalMinutes": { "placeholders": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Intervallo Pubblicità Inondazione", + "repeater_floodAdvertInterval": "Intervallo Pubblicità Inondazione", "repeater_floodAdvertIntervalHours": "{hours} ore", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1033,13 +1033,13 @@ "repeater_rebootRepeater": "Riavvia Ripetitore", "repeater_rebootRepeaterSubtitle": "Riavvia il dispositivo ripetitore", "repeater_rebootRepeaterConfirm": "Sei sicuro di voler riavviare questo ripetitore?", - "repeater_regenerateIdentityKey": "Rigenera Chiave Identità", + "repeater_regenerateIdentityKey": "Rigenera Chiave Identità", "repeater_regenerateIdentityKeySubtitle": "Genera una nuova coppia di chiavi pubblica/privata", - "repeater_regenerateIdentityKeyConfirm": "Questo genererà una nuova identità per il ripetitore. Procedere?", + "repeater_regenerateIdentityKeyConfirm": "Questo genererà una nuova identità per il ripetitore. Procedere?", "repeater_eraseFileSystem": "Elimina File System", "repeater_eraseFileSystemSubtitle": "Formatta il file system del ripetitore", - "repeater_eraseFileSystemConfirm": "ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!", - "repeater_eraseSerialOnly": "Elimina è disponibile solo tramite console seriale.", + "repeater_eraseFileSystemConfirm": "ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!", + "repeater_eraseSerialOnly": "Elimina è disponibile solo tramite console seriale.", "repeater_commandSent": "Comando inviato: {command}", "@repeater_commandSent": { "placeholders": { @@ -1072,7 +1072,7 @@ "repeater_refreshLocationSettings": "Aggiorna le Impostazioni della Posizione", "repeater_refreshPacketForwarding": "Aggiorna il inoltro pacchetti", "repeater_refreshGuestAccess": "Aggiorna Accesso Ospite", - "repeater_refreshPrivacyMode": "Aggiorna Modalità Privacy", + "repeater_refreshPrivacyMode": "Aggiorna Modalità Privacy", "repeater_refreshAdvertisementSettings": "Aggiorna le Impostazioni dell'Annuncio", "repeater_refreshed": "{label} aggiornato", "@repeater_refreshed": { @@ -1117,7 +1117,7 @@ "repeater_cliQuickAdvertise": "Pubblicare", "repeater_cliQuickClock": "Orologio", "repeater_cliHelpAdvert": "Invia un pacchetto pubblicitario", - "repeater_cliHelpReboot": "Riavvia il dispositivo. (nota, potresti ottenere 'Timeout' che è normale)", + "repeater_cliHelpReboot": "Riavvia il dispositivo. (nota, potresti ottenere 'Timeout' che è normale)", "repeater_cliHelpClock": "Mostra l'ora corrente per l'orologio di ciascun dispositivo.", "repeater_cliHelpPassword": "Imposta una nuova password di amministratore per il dispositivo.", "repeater_cliHelpVersion": "Mostra la versione del dispositivo e la data di costruzione del firmware.", @@ -1125,12 +1125,12 @@ "repeater_cliHelpSetAf": "Imposta il fattore di tempo di trasmissione.", "repeater_cliHelpSetTx": "Imposta la potenza di trasmissione LoRa in dBm (riavvia per applicare).", "repeater_cliHelpSetRepeat": "Abilita o disabilita il ruolo del ripetitore per questo nodo.", - "repeater_cliHelpSetAllowReadOnly": "(Server della stanza) Se 'on', allora l'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).", + "repeater_cliHelpSetAllowReadOnly": "(Server della stanza) Se 'on', allora l'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).", "repeater_cliHelpSetFloodMax": "Imposta il numero massimo di salti per i pacchetti di inondazione in entrata (se >= max, il pacchetto non viene inoltrato)", - "repeater_cliHelpSetIntThresh": "Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.", + "repeater_cliHelpSetIntThresh": "Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.", "repeater_cliHelpSetAgcResetInterval": "Imposta l'intervallo per resettare il controllore Automatico del Guadagno. Imposta su 0 per disabilitare.", "repeater_cliHelpSetMultiAcks": "Abilita o disabilita la funzione 'double ACKs'.", - "repeater_cliHelpSetAdvertInterval": "Imposta l'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.", + "repeater_cliHelpSetAdvertInterval": "Imposta l'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.", "repeater_cliHelpSetFloodAdvertInterval": "Imposta l'intervallo del timer in ore per inviare un pacchetto pubblicitario di massa. Imposta su 0 per disabilitare.", "repeater_cliHelpSetGuestPassword": "Imposta/aggiorna la password dell'ospite. (per ripetitori, gli accessi degli ospiti possono inviare la richiesta \"Get Stats\")", "repeater_cliHelpSetName": "Imposta il nome dell'annuncio.", @@ -1138,33 +1138,33 @@ "repeater_cliHelpSetLon": "Imposta la longitudine della mappa pubblicitaria. (gradi decimali)", "repeater_cliHelpSetRadio": "Imposta completamente nuovi parametri radio e li salva nelle preferenze. Richiede un comando \"reboot\" per l'applicazione.", "repeater_cliHelpSetRxDelay": "Impostazioni (experimental) base (deve essere > 1 per l'effetto) per applicare un leggero ritardo ai pacchetti ricevuti, in base alla forza del segnale/punteggio. Imposta a 0 per disabilitare.", - "repeater_cliHelpSetTxDelay": "Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).", - "repeater_cliHelpSetDirectTxDelay": "Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.", + "repeater_cliHelpSetTxDelay": "Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).", + "repeater_cliHelpSetDirectTxDelay": "Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.", "repeater_cliHelpSetBridgeEnabled": "Abilita/Disabilita ponte.", "repeater_cliHelpSetBridgeDelay": "Imposta il ritardo prima di ritrasmettere i pacchetti.", - "repeater_cliHelpSetBridgeSource": "Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.", - "repeater_cliHelpSetBridgeBaud": "Imposta la velocità di trasmissione per i ponti rs232.", + "repeater_cliHelpSetBridgeSource": "Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.", + "repeater_cliHelpSetBridgeBaud": "Imposta la velocità di trasmissione per i ponti rs232.", "repeater_cliHelpSetBridgeSecret": "Imposta il segreto per i ponti espnow.", "repeater_cliHelpSetAdcMultiplier": "Imposta un fattore personalizzato per regolare la tensione della batteria riportata (supportato solo su schede selezionate).", "repeater_cliHelpTempRadio": "Imposta parametri radio temporanei per il numero specificato di minuti, per poi tornare ai parametri radio originali. (non salva nelle preferenze).", - "repeater_cliHelpSetPerm": "Modifica l'ACL. Rimuove l'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell'ACL. Aggiorna l'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)", + "repeater_cliHelpSetPerm": "Modifica l'ACL. Rimuove l'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell'ACL. Aggiorna l'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)", "repeater_cliHelpGetBridgeType": "Ottiene tipo ponte nessuno, rs232, espnow", "repeater_cliHelpLogStart": "Avvia registrazione pacchetti nel file system.", "repeater_cliHelpLogStop": "Interrompi la registrazione dei pacchetti al file system.", "repeater_cliHelpLogErase": "Elimina i log del pacchetto dal file system.", - "repeater_cliHelpNeighbors": "Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4", + "repeater_cliHelpNeighbors": "Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4", "repeater_cliHelpNeighborRemove": "Rimuove la prima corrispondenza in base al prefisso (esadecimale) della pubkey, dalla lista dei vicini.", "repeater_cliHelpRegion": "(solo serie) Elenca tutte le regioni definite e le autorizzazioni di allagamento correnti.", - "repeater_cliHelpRegionLoad": "NOTA: questo è un'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.", + "repeater_cliHelpRegionLoad": "NOTA: questo è un'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.", "repeater_cliHelpRegionGet": "Cerca la regione con il prefisso del nome dato (o \"\" per l'ambito globale). Risponde con \"-> nome-regione (nome-genitore) 'F'\"", "repeater_cliHelpRegionPut": "Aggiunge o aggiorna una definizione di regione con il nome specificato.", "repeater_cliHelpRegionRemove": "Rimuove una definizione di regione con il dato nome. (deve corrispondere esattamente e non avere regioni figlio)", "repeater_cliHelpRegionAllowf": "Imposta il permesso di 'F'lood per la regione specificata. ('' per lo scope globale/legacy)", - "repeater_cliHelpRegionDenyf": "Rimuove il permesso 'F'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).", + "repeater_cliHelpRegionDenyf": "Rimuove il permesso 'F'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).", "repeater_cliHelpRegionHome": "Risposte con la regione 'home' corrente. (Nota applicata finora, riservata per il futuro)", "repeater_cliHelpRegionHomeSet": "Imposta la regione 'home'.", "repeater_cliHelpRegionSave": "Persiste l'elenco/mappa delle regioni all'archiviazione.", - "repeater_cliHelpGps": "Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.", + "repeater_cliHelpGps": "Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.", "repeater_cliHelpGpsOnOff": "Attiva/disattiva l'alimentazione del GPS.", "repeater_cliHelpGpsSync": "Sincronizza l'orario del nodo con l'orologio GPS.", "repeater_cliHelpGpsSetLoc": "Imposta la posizione del nodo alle coordinate GPS e salva le preferenze.", @@ -1180,7 +1180,7 @@ "repeater_regionManagementRepeaterOnly": "Gestione Regione (solo Ripetitore)", "repeater_regionNote": "Sono state introdotte le comandi di regione per gestire le definizioni e le autorizzazioni delle regioni.", "repeater_gpsManagement": "Gestione GPS", - "repeater_gpsNote": "è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.", + "repeater_gpsNote": "è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.", "telemetry_receivedData": "Dati Telemetria Ricevuti", "telemetry_requestTimeout": "Richiesta di telemetria scaduta.", "telemetry_errorLoading": "Errore nel caricamento della telemetria: {error}", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1254,7 +1254,7 @@ "channelPath_repeatsLabel": "Ripeti", "channelPath_pathLabel": "Percorso {index}", "channelPath_observedLabel": "Osservato", - "channelPath_observedPathTitle": "Percorso osservato {index} • {hops}", + "channelPath_observedPathTitle": "Percorso osservato {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Percorso", "channelPath_observedPathHeader": "Percorso Osservato", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1373,11 +1373,11 @@ "channels_joinPrivateChannel": "Unisciti a un Canale Privato", "channels_joinPrivateChannelDesc": "Inserire manualmente una chiave segreta.", "channels_joinPublicChannel": "Unisciti al Canale Pubblico", - "channels_joinPublicChannelDesc": "Chiunque può unirsi a questo canale.", + "channels_joinPublicChannelDesc": "Chiunque può unirsi a questo canale.", "channels_joinHashtagChannel": "Unisciti a un Canale con Hashtag", - "channels_joinHashtagChannelDesc": "Chiunque può unirsi ai canali hashtag.", + "channels_joinHashtagChannelDesc": "Chiunque può unirsi ai canali hashtag.", "channels_scanQrCode": "Scansiona un codice QR", - "channels_scanQrCodeComingSoon": "Arriverà presto", + "channels_scanQrCodeComingSoon": "Arriverà presto", "channels_enterHashtag": "Inserisci hashtag", "channels_hashtagHint": "es. #team", "@neighbors_unknownContact": { @@ -1459,35 +1459,35 @@ } }, "common_ok": "OK", - "community_title": "Comunità", - "community_create": "Crea Comunità", - "community_createDesc": "Crea una nuova comunità e condividila tramite codice QR.", + "community_title": "Comunità", + "community_create": "Crea Comunità", + "community_createDesc": "Crea una nuova comunità e condividila tramite codice QR.", "community_join": "Unisciti", "community_joinTitle": "Unisciti alla Community", "community_joinConfirmation": "Vuoi unirti alla community \"{name}\"?", "community_scanQr": "Scansiona il QR Code della Community", - "community_scanInstructions": "Punta la fotocamera su un codice QR della comunità", + "community_scanInstructions": "Punta la fotocamera su un codice QR della comunità", "community_showQr": "Mostra il codice QR", - "community_publicChannel": "Comunità Pubblica", - "community_hashtagChannel": "Hashtag della Comunità", - "community_name": "Nome della Comunità", - "community_enterName": "Inserisci il nome della comunità", - "community_created": "Comunità \"{name}\" creata", - "community_joined": "Unito alla comunità \"{name}\"", - "community_qrTitle": "Condividi Comunità", + "community_publicChannel": "Comunità Pubblica", + "community_hashtagChannel": "Hashtag della Comunità", + "community_name": "Nome della Comunità", + "community_enterName": "Inserisci il nome della comunità", + "community_created": "Comunità \"{name}\" creata", + "community_joined": "Unito alla comunità \"{name}\"", + "community_qrTitle": "Condividi Comunità", "community_qrInstructions": "Scansiona questo codice QR per unirti a {name}", "community_hashtagPrivacyHint": "I canali hashtag della community sono accessibili solo ai membri della community", "community_invalidQrCode": "Codice QR della community non valido", - "community_alreadyMember": "Già membro", - "community_alreadyMemberMessage": "Sei già un membro di \"{name}\".", - "community_addPublicChannel": "Aggiungi Canale Pubblico della Comunità", + "community_alreadyMember": "Già membro", + "community_alreadyMemberMessage": "Sei già un membro di \"{name}\".", + "community_addPublicChannel": "Aggiungi Canale Pubblico della Comunità", "community_addPublicChannelHint": "Aggiungi automaticamente il canale pubblico per questa community", "community_noCommunities": "Nessun gruppo aggiunto finora", "community_scanOrCreate": "Scansiona un codice QR o crea una community per iniziare.", - "community_manageCommunities": "Gestisci Comunità", - "community_delete": "Lascia la Comunità", + "community_manageCommunities": "Gestisci Comunità", + "community_delete": "Lascia la Comunità", "community_deleteConfirm": "Uscire da \"{name}\"?", - "community_deleteChannelsWarning": "Questo eliminerà anche {count} canale/i e i loro messaggi.", + "community_deleteChannelsWarning": "Questo eliminerà anche {count} canale/i e i loro messaggi.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,14 +1495,14 @@ } } }, - "community_deleted": "Hai lasciato la comunità \"{name}\"", + "community_deleted": "Hai lasciato la comunità \"{name}\"", "community_addHashtagChannel": "Aggiungi Hashtag della Community", "community_addHashtagChannelDesc": "Aggiungi un canale con hashtag per questa community", - "community_selectCommunity": "Seleziona Comunità", + "community_selectCommunity": "Seleziona Comunità", "community_regularHashtag": "Hashtag regolare", - "community_regularHashtagDesc": "Hashtag pubblico (chiunque può unirsi)", - "community_communityHashtag": "Hashtag della Comunità", - "community_communityHashtagDesc": "Visibile solo ai membri della comunità", + "community_regularHashtagDesc": "Hashtag pubblico (chiunque può unirsi)", + "community_communityHashtag": "Hashtag della Comunità", + "community_communityHashtagDesc": "Visibile solo ai membri della comunità", "community_forCommunity": "Per {name}", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1567,16 +1567,16 @@ "contacts_floodAdvert": "Annuncio alluvionale", "contacts_copyAdvertToClipboard": "Copia Annuncio negli Appunti", "contacts_addContactFromClipboard": "Aggiungere contatto dalla clipboard", - "contacts_clipboardEmpty": "La clipboard è vuota.", + "contacts_clipboardEmpty": "La clipboard è vuota.", "contacts_ShareContact": "Copia contatto negli Appunti", - "contacts_contactImported": "Il contatto è stato importato.", + "contacts_contactImported": "Il contatto è stato importato.", "contacts_contactImportFailed": "Contatto non importato con successo.", "contacts_zeroHopContactAdvertSent": "Inviato contatto tramite annuncio.", "contacts_contactAdvertCopyFailed": "Copia dell'annuncio nella Clipboard non riuscita.", "contacts_ShareContactZeroHop": "Condividi contatto tramite annuncio", "contacts_zeroHopContactAdvertFailed": "Invio del contatto non riuscito.", "contacts_contactAdvertCopied": "Annuncio copiato negli Appunti.", - "notification_activityTitle": "Attività MeshCore", + "notification_activityTitle": "Attività MeshCore", "notification_messagesCount": "{count} {count, plural, =1{messaggio} other{messaggi}}", "notification_channelMessagesCount": "{count} {count, plural, =1{messaggio del canale} other{messaggi del canale}}", "notification_newNodesCount": "{count} {count, plural, =1{nuovo nodo} other{nuovi nodi}}", @@ -1587,7 +1587,7 @@ "settings_gpxExportSuccess": "Esportazione del file GPX completata con successo.", "settings_gpxExportNoContacts": "Nessun contatto da esportare.", "settings_gpxExportNotAvailable": "Non supportato sul tuo dispositivo/Sistema Operativo", - "settings_gpxExportError": "Si è verificato un errore durante l'esportazione.", + "settings_gpxExportError": "Si è verificato un errore durante l'esportazione.", "settings_gpxExportRepeatersSubtitle": "Esporta ripetitori / roomserver con una posizione in un file GPX.", "settings_gpxExportContactsSubtitle": "Esporta i compagni con una posizione in un file GPX.", "settings_gpxExportAll": "Esporta tutti i contatti in GPX", @@ -1597,13 +1597,13 @@ "settings_gpxExportAllContacts": "Tutte le posizioni dei contatti", "settings_gpxExportShareText": "Dati mappa esportati da meshcore-open", "settings_gpxExportShareSubject": "meshcore-open esportazione dati mappa GPX", - "pathTrace_someHopsNoLocation": "Uno o più dei luppoli mancano di una posizione!", + "pathTrace_someHopsNoLocation": "Uno o più dei luppoli mancano di una posizione!", "map_removeLast": "Rimuovi ultimo", "map_pathTraceCancelled": "Tracciamento del percorso annullato.", "pathTrace_clearTooltip": "Pulisci percorso", "map_runTrace": "Esegui Path Trace", "map_tapToAdd": "Tocca i nodi per aggiungerli al percorso.", - "scanner_bluetoothOff": "Il Bluetooth è disattivato.", + "scanner_bluetoothOff": "Il Bluetooth è disattivato.", "scanner_bluetoothOffMessage": "Si prega di attivare il Bluetooth per effettuare la scansione dei dispositivi.", "scanner_chromeRequired": "Browser Chrome richiesto", "scanner_chromeRequiredMessage": "Questa applicazione web richiede Google Chrome o un browser basato su Chromium per il supporto Bluetooth.", @@ -1612,10 +1612,10 @@ "snrIndicator_lastSeen": "Ultimo accesso", "chat_ShowAllPaths": "Mostra tutti i percorsi", "settings_clientRepeat": "Ripetizione \"fuori dalla rete\"", - "settings_clientRepeatFreqWarning": "Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.", + "settings_clientRepeatFreqWarning": "Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.", "settings_clientRepeatSubtitle": "Permetti a questo dispositivo di ripetere i pacchetti di rete per gli altri.", "settings_aboutOpenMeteoAttribution": "Dati di elevazione LOS: Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "Unità", + "appSettings_unitsTitle": "Unità", "appSettings_unitsMetric": "Metrico (m/km)", "appSettings_unitsImperial": "Imperiale (ft / mi)", "map_lineOfSight": "Linea di vista", @@ -1631,7 +1631,7 @@ }, "losClearAllPoints": "Cancella tutti i punti", "losRunToViewElevationProfile": "Eseguire LOS per visualizzare il profilo altimetrico", - "losMenuTitle": "Menù LOS", + "losMenuTitle": "Menù LOS", "losMenuSubtitle": "Tocca i nodi o premi a lungo la mappa per punti personalizzati", "losShowDisplayNodes": "Mostra i nodi di visualizzazione", "losCustomPoints": "Punti personalizzati", @@ -1722,7 +1722,7 @@ } } }, - "losErrorElevationUnavailable": "Dati di elevazione non disponibili per uno o più campioni.", + "losErrorElevationUnavailable": "Dati di elevazione non disponibili per uno o più campioni.", "losErrorInvalidInput": "Dati punti/elevazione non validi per il calcolo della LOS.", "losRenameCustomPoint": "Rinomina punto personalizzato", "losPointName": "Nome del punto", @@ -1734,7 +1734,7 @@ "losLegendTerrain": "Terreno", "losFrequencyLabel": "Frequenza", "losFrequencyInfoTooltip": "Visualizza i dettagli del calcolo", - "losFrequencyDialogTitle": "Calcolo dell’orizzonte radio", + "losFrequencyDialogTitle": "Calcolo dell’orizzonte radio", "losFrequencyDialogDescription": "Partendo da k={baselineK} a {baselineFreq} MHz, il calcolo regola il fattore k per l'attuale banda {frequencyMHz} MHz, che definisce il limite curvo dell'orizzonte radio.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", @@ -1802,11 +1802,9 @@ "contacts_unread": "Non letti", "contacts_searchRepeaters": "Cerca {number}{str} Ripetitori...", "contacts_searchRoomServers": "Cerca {number}{str} server Room...", - "connectionChoiceTitle": "Scegli il metodo di connessione che preferisci.", - "connectionChoiceSubtitle": "Seleziona il metodo che preferisci per accedere al tuo dispositivo MeshCore.", "connectionChoiceBluetoothLabel": "Bluetooth", "connectionChoiceUsbLabel": "USB", - "usbScreenNote": "La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.", + "usbScreenNote": "La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.", "usbScreenStatus": "Seleziona un dispositivo USB", "usbScreenSubtitle": "Seleziona il dispositivo seriale rilevato e connettilo direttamente al tuo nodo MeshCore.", "usbScreenTitle": "Connessione tramite USB", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 162b760..2540c33 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -295,7 +295,7 @@ abstract class AppLocalizations { /// No description provided for @common_notAvailable. /// /// In en, this message translates to: - /// **'—'** + /// **'—'** String get common_notAvailable; /// No description provided for @common_voltageValue. @@ -316,18 +316,6 @@ abstract class AppLocalizations { /// **'MeshCore Open'** String get scanner_title; - /// No description provided for @connectionChoiceTitle. - /// - /// In en, this message translates to: - /// **'Choose your connection method'** - String get connectionChoiceTitle; - - /// No description provided for @connectionChoiceSubtitle. - /// - /// In en, this message translates to: - /// **'Select how you would like to reach your MeshCore device.'** - String get connectionChoiceSubtitle; - /// No description provided for @connectionChoiceUsbLabel. /// /// In en, this message translates to: @@ -955,13 +943,13 @@ abstract class AppLocalizations { /// No description provided for @appSettings_languageFr. /// /// In en, this message translates to: - /// **'Français'** + /// **'Français'** String get appSettings_languageFr; /// No description provided for @appSettings_languageEs. /// /// In en, this message translates to: - /// **'Español'** + /// **'Español'** String get appSettings_languageEs; /// No description provided for @appSettings_languageDe. @@ -979,13 +967,13 @@ abstract class AppLocalizations { /// No description provided for @appSettings_languageSl. /// /// In en, this message translates to: - /// **'Slovenščina'** + /// **'Slovenščina'** String get appSettings_languageSl; /// No description provided for @appSettings_languagePt. /// /// In en, this message translates to: - /// **'Português'** + /// **'Português'** String get appSettings_languagePt; /// No description provided for @appSettings_languageIt. @@ -997,7 +985,7 @@ abstract class AppLocalizations { /// No description provided for @appSettings_languageZh. /// /// In en, this message translates to: - /// **'中文'** + /// **'中文'** String get appSettings_languageZh; /// No description provided for @appSettings_languageSv. @@ -1015,25 +1003,25 @@ abstract class AppLocalizations { /// No description provided for @appSettings_languageSk. /// /// In en, this message translates to: - /// **'Slovenčina'** + /// **'Slovenčina'** String get appSettings_languageSk; /// No description provided for @appSettings_languageBg. /// /// In en, this message translates to: - /// **'Български'** + /// **'Български'** String get appSettings_languageBg; /// No description provided for @appSettings_languageRu. /// /// In en, this message translates to: - /// **'Русский'** + /// **'Русский'** String get appSettings_languageRu; /// No description provided for @appSettings_languageUk. /// /// In en, this message translates to: - /// **'Українська'** + /// **'Українська'** String get appSettings_languageUk; /// No description provided for @appSettings_enableMessageTracing. @@ -4349,7 +4337,7 @@ abstract class AppLocalizations { /// No description provided for @telemetry_temperatureValue. /// /// In en, this message translates to: - /// **'{celsius}°C / {fahrenheit}°F'** + /// **'{celsius}°C / {fahrenheit}°F'** String telemetry_temperatureValue(String celsius, String fahrenheit); /// No description provided for @neighbors_receivedData. @@ -4463,7 +4451,7 @@ abstract class AppLocalizations { /// No description provided for @channelPath_observedPathTitle. /// /// In en, this message translates to: - /// **'Observed path {index} • {hops}'** + /// **'Observed path {index} • {hops}'** String channelPath_observedPathTitle(int index, String hops); /// No description provided for @channelPath_noLocationData. @@ -4547,7 +4535,7 @@ abstract class AppLocalizations { /// No description provided for @channelPath_selectedPathLabel. /// /// In en, this message translates to: - /// **'{label} • {prefixes}'** + /// **'{label} • {prefixes}'** String channelPath_selectedPathLabel(String label, String prefixes); /// No description provided for @channelPath_noHopDetailsAvailable. diff --git a/lib/l10n/app_localizations_bg.dart b/lib/l10n/app_localizations_bg.dart index 4eeedae..042ae8b 100644 --- a/lib/l10n/app_localizations_bg.dart +++ b/lib/l10n/app_localizations_bg.dart @@ -12,88 +12,89 @@ class AppLocalizationsBg extends AppLocalizations { String get appTitle => 'MeshCore Open'; @override - String get nav_contacts => 'Контакти'; + String get nav_contacts => 'Контакти'; @override - String get nav_channels => 'Канали'; + String get nav_channels => 'Канали'; @override - String get nav_map => 'Карта'; + String get nav_map => 'Карта'; @override - String get common_cancel => 'Отказ'; + String get common_cancel => 'Отказ'; @override - String get common_ok => 'Добре'; + String get common_ok => 'Добре'; @override - String get common_connect => 'Свържи се'; + String get common_connect => 'Свържи се'; @override - String get common_unknownDevice => 'Неизвестно устройство'; + String get common_unknownDevice => + 'Неизвестно устройство'; @override - String get common_save => 'Запази'; + String get common_save => 'Запази'; @override - String get common_delete => 'Изтрий'; + String get common_delete => 'Изтрий'; @override - String get common_close => 'Затвори'; + String get common_close => 'Затвори'; @override - String get common_edit => 'Редактирай'; + String get common_edit => 'Редактирай'; @override - String get common_add => 'Добави'; + String get common_add => 'Добави'; @override - String get common_settings => 'Настройки'; + String get common_settings => 'Настройки'; @override - String get common_disconnect => 'Прекъсни'; + String get common_disconnect => 'Прекъсни'; @override - String get common_connected => 'Свързано'; + String get common_connected => 'Свързано'; @override - String get common_disconnected => 'Откъснато'; + String get common_disconnected => 'Откъснато'; @override - String get common_create => 'Създай'; + String get common_create => 'Създай'; @override - String get common_continue => 'Продължи'; + String get common_continue => 'Продължи'; @override - String get common_share => 'Сподели'; + String get common_share => 'Сподели'; @override - String get common_copy => 'Копирай'; + String get common_copy => 'Копирай'; @override - String get common_retry => 'Опитай отново'; + String get common_retry => 'Опитай отново'; @override - String get common_hide => 'Скриване'; + String get common_hide => 'Скриване'; @override - String get common_remove => 'Изтрий'; + String get common_remove => 'Изтрий'; @override - String get common_enable => 'Активирай'; + String get common_enable => 'Активирай'; @override - String get common_disable => 'Деактивирай'; + String get common_disable => 'Деактивирай'; @override - String get common_reboot => 'Рестартирай'; + String get common_reboot => 'Рестартирай'; @override - String get common_loading => 'Зареждане...'; + String get common_loading => 'Зареждане...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +109,6 @@ class AppLocalizationsBg extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Изберете метода на връзка.'; - - @override - String get connectionChoiceSubtitle => - 'Изберете как искате да получите вашия устройство MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -122,235 +116,250 @@ class AppLocalizationsBg extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Свързване чрез USB'; + String get usbScreenTitle => 'Свързване чрез USB'; @override String get usbScreenSubtitle => - 'Изберете открития сериен уред и свържете директно към вашия MeshCore възел.'; + 'Изберете открития сериен уред и свържете директно към вашия MeshCore възел.'; @override - String get usbScreenStatus => 'Изберете USB устройство'; + String get usbScreenStatus => 'Изберете USB устройство'; @override String get usbScreenNote => - 'USB серийната връзка е активна на поддържаните Android устройства и настолни платформи.'; + 'USB серийната връзка е активна на поддържаните Android устройства и настолни платформи.'; @override String get usbScreenEmptyState => - 'Няма открити USB устройства. Включете едно и опитайте отново.'; + 'Няма открити USB устройства. Включете едно и опитайте отново.'; @override - String get scanner_scanning => 'Сканиране за устройства...'; + String get scanner_scanning => + 'Сканиране за устройства...'; @override - String get scanner_connecting => 'Свързвам се...'; + String get scanner_connecting => 'Свързвам се...'; @override - String get scanner_disconnecting => 'Изключване...'; + String get scanner_disconnecting => 'Изключване...'; @override - String get scanner_notConnected => 'Не е свързан'; + String get scanner_notConnected => 'Не е свързан'; @override String scanner_connectedTo(String deviceName) { - return 'Свързано с $deviceName'; + return 'Свързано с $deviceName'; } @override - String get scanner_searchingDevices => 'Търсене на устройства MeshCore...'; + String get scanner_searchingDevices => + 'Търсене на устройства MeshCore...'; @override String get scanner_tapToScan => - 'Натиснете Сканиране, за да намерите устройства MeshCore.'; + 'Натиснете Сканиране, за да намерите устройства MeshCore.'; @override String scanner_connectionFailed(String error) { - return 'Връзката не успя: $error'; + return 'Връзката не успя: $error'; } @override - String get scanner_stop => 'Спрете'; + String get scanner_stop => 'Спрете'; @override - String get scanner_scan => 'Сканирай'; + String get scanner_scan => 'Сканирай'; @override - String get scanner_bluetoothOff => 'Bluetooth е изключен.'; + String get scanner_bluetoothOff => 'Bluetooth е изключен.'; @override String get scanner_bluetoothOffMessage => - 'Моля, активирайте Bluetooth, за да сканирате за устройства.'; + 'Моля, активирайте Bluetooth, за да сканирате за устройства.'; @override - String get scanner_chromeRequired => 'Изисква се браузър Chrome'; + String get scanner_chromeRequired => + 'Изисква се браузър Chrome'; @override String get scanner_chromeRequiredMessage => - 'Това уеб приложение изисква Google Chrome или браузър, базиран на Chromium, за поддръжка на Bluetooth.'; + 'Това уеб приложение изисква Google Chrome или браузър, базиран на Chromium, за поддръжка на Bluetooth.'; @override - String get scanner_enableBluetooth => 'Активирайте Bluetooth'; + String get scanner_enableBluetooth => 'Активирайте Bluetooth'; @override - String get device_quickSwitch => 'Бързо превключване'; + String get device_quickSwitch => 'Бързо превключване'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Настройки'; + String get settings_title => 'Настройки'; @override - String get settings_deviceInfo => 'Информация за устройството'; + String get settings_deviceInfo => + 'Информация за устройството'; @override - String get settings_appSettings => 'Настройки на приложението'; + String get settings_appSettings => + 'Настройки на приложението'; @override String get settings_appSettingsSubtitle => - 'Уведомления, съобщения и предпочитания за карта'; + 'Уведомления, съобщения и предпочитания за карта'; @override - String get settings_nodeSettings => 'Настройки на възела'; + String get settings_nodeSettings => 'Настройки на възела'; @override - String get settings_nodeName => 'Име на възела'; + String get settings_nodeName => 'Име на възела'; @override - String get settings_nodeNameNotSet => 'Не е зададено'; + String get settings_nodeNameNotSet => 'Не е зададено'; @override - String get settings_nodeNameHint => 'Въведете име на възел'; + String get settings_nodeNameHint => 'Въведете име на възел'; @override - String get settings_nodeNameUpdated => 'Името е актуализирано'; + String get settings_nodeNameUpdated => + 'Името е актуализирано'; @override - String get settings_radioSettings => 'Настройки на радиопредавателя'; + String get settings_radioSettings => + 'Настройки на радиопредавателя'; @override String get settings_radioSettingsSubtitle => - 'Честота, мощност, разпространяващ фактор'; + 'Честота, мощност, разпространяващ фактор'; @override String get settings_radioSettingsUpdated => - 'Радио настройките са актуализирани'; + 'Радио настройките са актуализирани'; @override - String get settings_location => 'Местоположение'; + String get settings_location => 'Местоположение'; @override - String get settings_locationSubtitle => 'Координати на GPS'; + String get settings_locationSubtitle => 'Координати на GPS'; @override - String get settings_locationUpdated => 'Местоположението е актуализирано'; + String get settings_locationUpdated => + 'Местоположението е актуализирано'; @override String get settings_locationBothRequired => - 'Въведете както географска ширина, така и географска дължина.'; + 'Въведете както географска ширина, така и географска дължина.'; @override - String get settings_locationInvalid => 'Невалидна ширина или дължина.'; + String get settings_locationInvalid => + 'Невалидна ширина или дължина.'; @override - String get settings_locationGPSEnable => 'Активиране на GPS'; + String get settings_locationGPSEnable => 'Активиране на GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Активирайте автоматичното актуализиране на местоположението чрез GPS.'; + 'Активирайте автоматичното актуализиране на местоположението чрез GPS.'; @override - String get settings_locationIntervalSec => 'Интервал за GPS (Секунди)'; + String get settings_locationIntervalSec => + 'Интервал за GPS (Секунди)'; @override String get settings_locationIntervalInvalid => - 'Интервалът трябва да бъде поне 60 секунди и по-малко от 86400 секунди.'; + 'Интервалът трябва да бъде поне 60 секунди и по-малко от 86400 секунди.'; @override - String get settings_latitude => 'Широчина'; + String get settings_latitude => 'Широчина'; @override - String get settings_longitude => 'Дължина'; + String get settings_longitude => 'Дължина'; @override - String get settings_privacyMode => 'Режим на поверителност'; + String get settings_privacyMode => + 'Режим на поверителност'; @override String get settings_privacyModeSubtitle => - 'Скриване на име/местоположение в рекламите'; + 'Скриване на име/местоположение в рекламите'; @override String get settings_privacyModeToggle => - 'Активирайте режим на поверителност, за да скриете името и местоположението си в рекламите.'; + 'Активирайте режим на поверителност, за да скриете името и местоположението си в рекламите.'; @override String get settings_privacyModeEnabled => - 'Режим на поверителност е активиран'; + 'Режим на поверителност е активиран'; @override String get settings_privacyModeDisabled => - 'Режим на поверителност е деактивиран'; + 'Режим на поверителност е деактивиран'; @override - String get settings_actions => 'Действия'; + String get settings_actions => 'Действия'; @override - String get settings_sendAdvertisement => 'Изпрати Реклама'; + String get settings_sendAdvertisement => 'Изпрати Реклама'; @override - String get settings_sendAdvertisementSubtitle => 'Сега присъствие в ефир'; + String get settings_sendAdvertisementSubtitle => + 'Сега присъствие в ефир'; @override - String get settings_advertisementSent => 'Реклама изпратена'; + String get settings_advertisementSent => 'Реклама изпратена'; @override - String get settings_syncTime => 'Време за синхронизация'; + String get settings_syncTime => 'Време за синхронизация'; @override String get settings_syncTimeSubtitle => - 'Задайте часовника на устройството да отговаря на времето на телефона.'; + 'Задайте часовника на устройството да отговаря на времето на телефона.'; @override - String get settings_timeSynchronized => 'Синхронизирано във времето'; + String get settings_timeSynchronized => + 'Синхронизирано във времето'; @override - String get settings_refreshContacts => 'Презареди контакти'; + String get settings_refreshContacts => 'Презареди контакти'; @override String get settings_refreshContactsSubtitle => - 'Презареди списъка с контакти от устройството'; + 'Презареди списъка с контакти от устройството'; @override - String get settings_rebootDevice => 'Рестартирайте устройството'; + String get settings_rebootDevice => + 'Рестартирайте устройството'; @override String get settings_rebootDeviceSubtitle => - 'Рестартирайте устройството MeshCore'; + 'Рестартирайте устройството MeshCore'; @override String get settings_rebootDeviceConfirm => - 'Сигурни ли сте, че искате да рестартирате устройството? Ще бъдете откъснати.'; + 'Сигурни ли сте, че искате да рестартирате устройството? Ще бъдете откъснати.'; @override - String get settings_debug => 'Отстрани'; + String get settings_debug => 'Отстрани'; @override - String get settings_bleDebugLog => 'Лог за отстраняване на грешки на BLE'; + String get settings_bleDebugLog => + 'Лог за отстраняване на грешки на BLE'; @override String get settings_bleDebugLogSubtitle => - 'Команди, отговори и сурови данни BLE'; + 'Команди, отговори и сурови данни BLE'; @override String get settings_appDebugLog => - 'Лог на отстраняване на грешки на приложението'; + 'Лог на отстраняване на грешки на приложението'; @override String get settings_appDebugLogSubtitle => - 'Съобщения за отстраняване на грешки на приложението'; + 'Съобщения за отстраняване на грешки на приложението'; @override - String get settings_about => 'За нас'; + String get settings_about => 'За нас'; @override String settings_aboutVersion(String version) { @@ -358,115 +367,125 @@ class AppLocalizationsBg extends AppLocalizations { } @override - String get settings_aboutLegalese => 'Проект MeshCore с отворен код 2024 г.'; + String get settings_aboutLegalese => + 'Проект MeshCore с отворен код 2024 г.'; @override String get settings_aboutDescription => - 'Отворен софтуер за Flutter клиент за MeshCore LoRa мрежови устройства.'; + 'Отворен софтуер за Flutter клиент за MeshCore LoRa мрежови устройства.'; @override String get settings_aboutOpenMeteoAttribution => - 'Данни за надморска височина на LOS: Open-Meteo (CC BY 4.0)'; + 'Данни за надморска височина на LOS: Open-Meteo (CC BY 4.0)'; @override - String get settings_infoName => 'Име'; + String get settings_infoName => 'Име'; @override - String get settings_infoId => 'ИД'; + String get settings_infoId => 'ИД'; @override - String get settings_infoStatus => 'Статус'; + String get settings_infoStatus => 'Статус'; @override - String get settings_infoBattery => 'Батерия'; + String get settings_infoBattery => 'Батерия'; @override - String get settings_infoPublicKey => 'Общ публичен ключ'; + String get settings_infoPublicKey => 'Общ публичен ключ'; @override - String get settings_infoContactsCount => 'Брой контакти'; + String get settings_infoContactsCount => 'Брой контакти'; @override - String get settings_infoChannelCount => 'Брой канали'; + String get settings_infoChannelCount => 'Брой канали'; @override - String get settings_presets => 'Предварителни настройки'; + String get settings_presets => + 'Предварителни настройки'; @override - String get settings_frequency => 'Честота (MHz)'; + String get settings_frequency => 'Честота (MHz)'; @override String get settings_frequencyHelper => '300.0 - 2500.0'; @override - String get settings_frequencyInvalid => 'Невалидна честота (300-2500 MHz)'; + String get settings_frequencyInvalid => + 'Невалидна честота (300-2500 MHz)'; @override - String get settings_bandwidth => 'Ширина на честотния спектър'; + String get settings_bandwidth => + 'Ширина на честотния спектър'; @override - String get settings_spreadingFactor => 'Фактор на разпространение'; + String get settings_spreadingFactor => + 'Фактор на разпространение'; @override - String get settings_codingRate => 'Такса за кодиране'; + String get settings_codingRate => 'Такса за кодиране'; @override - String get settings_txPower => 'TX Мощност (dBm)'; + String get settings_txPower => 'TX Мощност (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Невалидна мощност на TX (0-22 dBm)'; + String get settings_txPowerInvalid => + 'Невалидна мощност на TX (0-22 dBm)'; @override - String get settings_clientRepeat => 'Без електричество – повторение'; + String get settings_clientRepeat => + 'Без електричество – повторение'; @override String get settings_clientRepeatSubtitle => - 'Позволете на това устройство да предава пакети към мрежата за други устройства.'; + 'Позволете на това устройство да предава пакети към мрежата за други устройства.'; @override String get settings_clientRepeatFreqWarning => - 'За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.'; + 'За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.'; @override String settings_error(String message) { - return 'Грешка: $message'; + return 'Грешка: $message'; } @override - String get appSettings_title => 'Настройки на приложението'; + String get appSettings_title => + 'Настройки на приложението'; @override - String get appSettings_appearance => 'Външен вид'; + String get appSettings_appearance => 'Външен вид'; @override - String get appSettings_theme => 'Тема'; + String get appSettings_theme => 'Тема'; @override - String get appSettings_themeSystem => 'Система по подразбиране'; + String get appSettings_themeSystem => + 'Система по подразбиране'; @override - String get appSettings_themeLight => 'Ярка'; + String get appSettings_themeLight => 'Ярка'; @override - String get appSettings_themeDark => 'Тъмно'; + String get appSettings_themeDark => 'Тъмно'; @override - String get appSettings_language => 'Език'; + String get appSettings_language => 'Език'; @override - String get appSettings_languageSystem => 'Система по подразбиране'; + String get appSettings_languageSystem => + 'Система по подразбиране'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -475,16 +494,16 @@ class AppLocalizationsBg extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -493,716 +512,765 @@ class AppLocalizationsBg extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override - String get appSettings_languageRu => 'Руски'; + String get appSettings_languageRu => 'Руски'; @override - String get appSettings_languageUk => 'Украински'; + String get appSettings_languageUk => 'Украински'; @override String get appSettings_enableMessageTracing => - 'Разрешаване на проследяване на съобщения'; + 'Разрешаване на проследяване на съобщения'; @override String get appSettings_enableMessageTracingSubtitle => - 'Показване на подробни метаданни за маршрутизация и синхронизация за съобщения'; + 'Показване на подробни метаданни за маршрутизация и синхронизация за съобщения'; @override - String get appSettings_notifications => 'Уведомления'; + String get appSettings_notifications => 'Уведомления'; @override - String get appSettings_enableNotifications => 'Активирай Известия'; + String get appSettings_enableNotifications => + 'Активирай Известия'; @override String get appSettings_enableNotificationsSubtitle => - 'Получете известия за съобщения и реклами'; + 'Получете известия за съобщения и реклами'; @override String get appSettings_notificationPermissionDenied => - 'Отказвано е разрешение за известия'; + 'Отказвано е разрешение за известия'; @override - String get appSettings_notificationsEnabled => 'Уведомителни са активирани'; + String get appSettings_notificationsEnabled => + 'Уведомителни са активирани'; @override - String get appSettings_notificationsDisabled => 'Известия са изключени'; + String get appSettings_notificationsDisabled => + 'Известия са изключени'; @override - String get appSettings_messageNotifications => 'Уведомления'; + String get appSettings_messageNotifications => 'Уведомления'; @override String get appSettings_messageNotificationsSubtitle => - 'Покажи известие при получаване на нови съобщения'; + 'Покажи известие при получаване на нови съобщения'; @override String get appSettings_channelMessageNotifications => - 'Уведомления за съобщения от канал'; + 'Уведомления за съобщения от канал'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Покажи известие при получаване на съобщения от канали'; + 'Покажи известие при получаване на съобщения от канали'; @override - String get appSettings_advertisementNotifications => 'Уведомления за реклами'; + String get appSettings_advertisementNotifications => + 'Уведомления за реклами'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Покажи известие, когато бъдат открити нови възли.'; + 'Покажи известие, когато бъдат открити нови възли.'; @override - String get appSettings_messaging => 'Съобщения'; + String get appSettings_messaging => 'Съобщения'; @override - String get appSettings_clearPathOnMaxRetry => 'Изчисти Път на Макс Опит'; + String get appSettings_clearPathOnMaxRetry => + 'Изчисти Път на Макс Опит'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Възстанови контактния път след 5 неуспешни опита за изпращане'; + 'Възстанови контактния път след 5 неуспешни опита за изпращане'; @override String get appSettings_pathsWillBeCleared => - 'Пътищата ще бъдат почистени след 5 неуспешни опита.'; + 'Пътищата ще бъдат почистени след 5 неуспешни опита.'; @override String get appSettings_pathsWillNotBeCleared => - 'Пътищата няма да бъдат автоматично изчистени.'; + 'Пътищата няма да бъдат автоматично изчистени.'; @override String get appSettings_autoRouteRotation => - 'Автоматично маршрутизиране на завъртания'; + 'Автоматично маршрутизиране на завъртания'; @override String get appSettings_autoRouteRotationSubtitle => - 'Превключете между най-добрите пътища и режим на наводняване'; + 'Превключете между най-добрите пътища и режим на наводняване'; @override String get appSettings_autoRouteRotationEnabled => - 'Автоматично маршрутизиране вкл.'; + 'Автоматично маршрутизиране вкл.'; @override String get appSettings_autoRouteRotationDisabled => - 'Автоматично маршрутизирането е деактивирано'; + 'Автоматично маршрутизирането е деактивирано'; @override - String get appSettings_battery => 'Батерия'; + String get appSettings_battery => 'Батерия'; @override - String get appSettings_batteryChemistry => 'Химия на батерията'; + String get appSettings_batteryChemistry => + 'Химия на батерията'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Зададено за устройство ($deviceName)'; + return 'Зададено за устройство ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Свържете се с устройство, за да изберете.'; + 'Свържете се с устройство, за да изберете.'; @override String get appSettings_batteryNmc => '18650 NMC (3.0-4.2V)'; @override - String get appSettings_batteryLifepo4 => 'Литиево желязо фосфат (2.6-3.65V)'; + String get appSettings_batteryLifepo4 => + 'Литиево желязо фосфат (2.6-3.65V)'; @override - String get appSettings_batteryLipo => 'Литиев полимер (3.0-4.2V)'; + String get appSettings_batteryLipo => + 'Литиев полимер (3.0-4.2V)'; @override - String get appSettings_mapDisplay => 'Карта за показване'; + String get appSettings_mapDisplay => 'Карта за показване'; @override - String get appSettings_showRepeaters => 'Показване на повторители'; + String get appSettings_showRepeaters => + 'Показване на повторители'; @override String get appSettings_showRepeatersSubtitle => - 'Показване на възпроизвеждащи се възли на картата'; + 'Показване на възпроизвеждащи се възли на картата'; @override - String get appSettings_showChatNodes => 'Покажи Възли на Чат'; + String get appSettings_showChatNodes => 'Покажи Възли на Чат'; @override String get appSettings_showChatNodesSubtitle => - 'Показване на чат възли на картата'; + 'Показване на чат възли на картата'; @override - String get appSettings_showOtherNodes => 'Покажи други възли'; + String get appSettings_showOtherNodes => 'Покажи други възли'; @override String get appSettings_showOtherNodesSubtitle => - 'Покажи други типове възли на картата'; + 'Покажи други типове възли на картата'; @override - String get appSettings_timeFilter => 'Филтриране по време'; + String get appSettings_timeFilter => 'Филтриране по време'; @override - String get appSettings_timeFilterShowAll => 'Покажи всички възли'; + String get appSettings_timeFilterShowAll => + 'Покажи всички възли'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Покажи възли от последните $hours часа'; + return 'Покажи възли от последните $hours часа'; } @override - String get appSettings_mapTimeFilter => 'Филтри за време на картата'; + String get appSettings_mapTimeFilter => + 'Филтри за време на картата'; @override String get appSettings_showNodesDiscoveredWithin => - 'Покажи възлите, открити в:'; + 'Покажи възлите, открити в:'; @override - String get appSettings_allTime => 'Всичко време'; + String get appSettings_allTime => 'Всичко време'; @override - String get appSettings_lastHour => 'Последната минута'; + String get appSettings_lastHour => 'Последната минута'; @override - String get appSettings_last6Hours => 'Последни 6 часа'; + String get appSettings_last6Hours => 'Последни 6 часа'; @override - String get appSettings_last24Hours => 'Последно 24 часа'; + String get appSettings_last24Hours => 'Последно 24 часа'; @override - String get appSettings_lastWeek => 'Миналата седмица'; + String get appSettings_lastWeek => 'Миналата седмица'; @override - String get appSettings_offlineMapCache => 'Кеш на офлайн карти'; + String get appSettings_offlineMapCache => + 'Кеш на офлайн карти'; @override - String get appSettings_unitsTitle => 'единици'; + String get appSettings_unitsTitle => 'единици'; @override - String get appSettings_unitsMetric => 'Метрика (m / km)'; + String get appSettings_unitsMetric => 'Метрика (m / km)'; @override - String get appSettings_unitsImperial => 'Имперска (ft / mi)'; + String get appSettings_unitsImperial => 'Имперска (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Няма избрана област'; + String get appSettings_noAreaSelected => + 'Няма избрана област'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Избрана е област (мащаб $minZoom-$maxZoom)'; + return 'Избрана е област (мащаб $minZoom-$maxZoom)'; } @override - String get appSettings_debugCard => 'Отстрани'; + String get appSettings_debugCard => 'Отстрани'; @override String get appSettings_appDebugLogging => - 'Логване за отстраняване на грешки на приложението'; + 'Логване за отстраняване на грешки на приложението'; @override String get appSettings_appDebugLoggingSubtitle => - 'Записване на съобщения за отстраняване на грешки от приложението за отстраняване на грешки.'; + 'Записване на съобщения за отстраняване на грешки от приложението за отстраняване на грешки.'; @override String get appSettings_appDebugLoggingEnabled => - 'Режимът за отстраняване на грешки в приложението е активиран.'; + 'Режимът за отстраняване на грешки в приложението е активиран.'; @override String get appSettings_appDebugLoggingDisabled => - 'Логването за отстраняване на грешки в приложението е изключено.'; + 'Логването за отстраняване на грешки в приложението е изключено.'; @override - String get contacts_title => 'Контакти'; + String get contacts_title => 'Контакти'; @override - String get contacts_noContacts => 'Няма контакти към момента.'; + String get contacts_noContacts => + 'Няма контакти към момента.'; @override String get contacts_contactsWillAppear => - 'Контактите ще се появят, когато устройствата рекламират.'; + 'Контактите ще се появят, когато устройствата рекламират.'; @override - String get contacts_unread => 'Непрочетено'; + String get contacts_unread => 'Непрочетено'; @override - String get contacts_searchContactsNoNumber => 'Търси контакти...'; + String get contacts_searchContactsNoNumber => + 'Търси контакти...'; @override String contacts_searchContacts(int number, String str) { - return 'Търсене на контакти...'; + return 'Търсене на контакти...'; } @override String contacts_searchFavorites(int number, String str) { - return 'Търсене на $number$str любими...'; + return 'Търсене на $number$str любими...'; } @override String contacts_searchUsers(int number, String str) { - return 'Търсене на $number$str потребители...'; + return 'Търсене на $number$str потребители...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Търсене на $number$str повтарящи се...'; + return 'Търсене на $number$str повтарящи се...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Търсене на $number$str сървъри в стаята...'; + return 'Търсене на $number$str сървъри в стаята...'; } @override - String get contacts_noUnreadContacts => 'Няма непрочетени контакти'; + String get contacts_noUnreadContacts => + 'Няма непрочетени контакти'; @override - String get contacts_noContactsFound => 'Няма намерени контакти или групи.'; + String get contacts_noContactsFound => + 'Няма намерени контакти или групи.'; @override - String get contacts_deleteContact => 'Изтрий Контакт'; + String get contacts_deleteContact => 'Изтрий Контакт'; @override String contacts_removeConfirm(String contactName) { - return 'Изтрий $contactName от контактите?'; + return 'Изтрий $contactName от контактите?'; } @override - String get contacts_manageRepeater => 'Управление на Повтарящ се Елемент'; + String get contacts_manageRepeater => + 'Управление на Повтарящ се Елемент'; @override - String get contacts_manageRoom => 'Управление на сървър за стая'; + String get contacts_manageRoom => + 'Управление на сървър за стая'; @override - String get contacts_roomLogin => 'Вход в стаята'; + String get contacts_roomLogin => 'Вход в стаята'; @override - String get contacts_openChat => 'Отвори чат'; + String get contacts_openChat => 'Отвори чат'; @override - String get contacts_editGroup => 'Редактирай Група'; + String get contacts_editGroup => 'Редактирай Група'; @override - String get contacts_deleteGroup => 'Изтрий група'; + String get contacts_deleteGroup => 'Изтрий група'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Премахнете \"$groupName\"?'; + return 'Премахнете \"$groupName\"?'; } @override - String get contacts_newGroup => 'Нова група'; + String get contacts_newGroup => 'Нова група'; @override - String get contacts_groupName => 'Група'; + String get contacts_groupName => 'Група'; @override - String get contacts_groupNameRequired => 'Името на групата е задължително.'; + String get contacts_groupNameRequired => + 'Името на групата е задължително.'; @override String contacts_groupAlreadyExists(String name) { - return 'Групата \"$name\" вече съществува.'; + return 'Групата \"$name\" вече съществува.'; } @override - String get contacts_filterContacts => 'Филтрирайте контактите...'; + String get contacts_filterContacts => + 'Филтрирайте контактите...'; @override String get contacts_noContactsMatchFilter => - 'Няма съвпадения с вашия филтър.'; + 'Няма съвпадения с вашия филтър.'; @override - String get contacts_noMembers => 'Няма членове'; + String get contacts_noMembers => 'Няма членове'; @override - String get contacts_lastSeenNow => 'Последно видяно сега'; + String get contacts_lastSeenNow => 'Последно видяно сега'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Последна активност $minutes минути преди'; + return 'Последна активност $minutes минути преди'; } @override - String get contacts_lastSeenHourAgo => 'Последно видяно преди час'; + String get contacts_lastSeenHourAgo => + 'Последно видяно преди час'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Последно видян $hours часа преди.'; + return 'Последно видян $hours часа преди.'; } @override - String get contacts_lastSeenDayAgo => 'Последно видяно преди 1 ден'; + String get contacts_lastSeenDayAgo => + 'Последно видяно преди 1 ден'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Последно видян $days дни преди.'; + return 'Последно видян $days дни преди.'; } @override - String get channels_title => 'Канали'; + String get channels_title => 'Канали'; @override - String get channels_noChannelsConfigured => 'Няма конфигурирани канали'; + String get channels_noChannelsConfigured => + 'Няма конфигурирани канали'; @override - String get channels_addPublicChannel => 'Добави публичен канал'; + String get channels_addPublicChannel => + 'Добави публичен канал'; @override - String get channels_searchChannels => 'Търсене на канали...'; + String get channels_searchChannels => 'Търсене на канали...'; @override - String get channels_noChannelsFound => 'Няма намерени канали'; + String get channels_noChannelsFound => + 'Няма намерени канали'; @override String channels_channelIndex(int index) { - return 'Канал $index'; + return 'Канал $index'; } @override - String get channels_hashtagChannel => 'Канал с хаштаг'; + String get channels_hashtagChannel => 'Канал с хаштаг'; @override - String get channels_public => 'Публично'; + String get channels_public => 'Публично'; @override - String get channels_private => 'Личен'; + String get channels_private => 'Личен'; @override - String get channels_publicChannel => 'Публичен канал'; + String get channels_publicChannel => 'Публичен канал'; @override - String get channels_privateChannel => 'Частен канал'; + String get channels_privateChannel => 'Частен канал'; @override - String get channels_editChannel => 'Редактирай канал'; + String get channels_editChannel => 'Редактирай канал'; @override - String get channels_muteChannel => 'Заглуши канала'; + String get channels_muteChannel => 'Заглуши канала'; @override - String get channels_unmuteChannel => 'Включи известията на канала'; + String get channels_unmuteChannel => + 'Включи известията на канала'; @override - String get channels_deleteChannel => 'Изтрий канала'; + String get channels_deleteChannel => 'Изтрий канала'; @override String channels_deleteChannelConfirm(String name) { - return 'Изтрий \"$name\"? Това не може да бъде отменено.'; + return 'Изтрий \"$name\"? Това не може да бъде отменено.'; } @override String channels_channelDeleteFailed(String name) { - return 'Неуспешно изтриване на канала \"$name\"'; + return 'Неуспешно изтриване на канала \"$name\"'; } @override String channels_channelDeleted(String name) { - return 'Каналът \"$name\" е изтрит'; + return 'Каналът \"$name\" е изтрит'; } @override - String get channels_addChannel => 'Добави Канал'; + String get channels_addChannel => 'Добави Канал'; @override - String get channels_channelIndexLabel => 'Индекс на канал'; + String get channels_channelIndexLabel => 'Индекс на канал'; @override - String get channels_channelName => 'Име на канала'; + String get channels_channelName => 'Име на канала'; @override - String get channels_usePublicChannel => 'Използвайте публичен канал'; + String get channels_usePublicChannel => + 'Използвайте публичен канал'; @override - String get channels_standardPublicPsk => 'Стандартен публичен PSK'; + String get channels_standardPublicPsk => + 'Стандартен публичен PSK'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Генерирай случайна PSK'; + String get channels_generateRandomPsk => + 'Генерирай случайна PSK'; @override - String get channels_enterChannelName => 'Моля, въведете име на канал.'; + String get channels_enterChannelName => + 'Моля, въведете име на канал.'; @override String get channels_pskMustBe32Hex => - 'PSK трябва да бъде 32 шестнаредни знака.'; + 'PSK трябва да бъде 32 шестнаредни знака.'; @override String channels_channelAdded(String name) { - return 'Каналът \"$name\" е добавен'; + return 'Каналът \"$name\" е добавен'; } @override String channels_editChannelTitle(int index) { - return 'Редактирай Канал $index'; + return 'Редактирай Канал $index'; } @override - String get channels_smazCompression => 'Компресия SMAZ'; + String get channels_smazCompression => 'Компресия SMAZ'; @override String channels_channelUpdated(String name) { - return 'Каналът \"$name\" е актуализиран'; + return 'Каналът \"$name\" е актуализиран'; } @override - String get channels_publicChannelAdded => 'Публичен канал добавен'; + String get channels_publicChannelAdded => + 'Публичен канал добавен'; @override - String get channels_sortBy => 'Сортирай по'; + String get channels_sortBy => 'Сортирай по'; @override - String get channels_sortManual => 'Ръчно'; + String get channels_sortManual => 'Ръчно'; @override String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Последни съобщения'; + String get channels_sortLatestMessages => + 'Последни съобщения'; @override - String get channels_sortUnread => 'Непрочетено'; + String get channels_sortUnread => 'Непрочетено'; @override - String get channels_createPrivateChannel => 'Създай Частен Канал'; + String get channels_createPrivateChannel => + 'Създай Частен Канал'; @override - String get channels_createPrivateChannelDesc => 'Защитено с таен ключ.'; + String get channels_createPrivateChannelDesc => + 'Защитено с таен ключ.'; @override - String get channels_joinPrivateChannel => 'Присъедини се към Частен Канал'; + String get channels_joinPrivateChannel => + 'Присъедини се към Частен Канал'; @override - String get channels_joinPrivateChannelDesc => 'Ръчно въведете таен ключ.'; + String get channels_joinPrivateChannelDesc => + 'Ръчно въведете таен ключ.'; @override String get channels_joinPublicChannel => - 'Присъединете се към Публичния канал'; + 'Присъединете се към Публичния канал'; @override String get channels_joinPublicChannelDesc => - 'Всеки може да се присъедини към този канал.'; + 'Всеки може да се присъедини към този канал.'; @override - String get channels_joinHashtagChannel => 'Присъедини се към Хаштаг Канал'; + String get channels_joinHashtagChannel => + 'Присъедини се към Хаштаг Канал'; @override String get channels_joinHashtagChannelDesc => - 'Всеки може да се присъедини към хаштаговите канали.'; + 'Всеки може да се присъедини към хаштаговите канали.'; @override - String get channels_scanQrCode => 'Сканирайте QR код'; + String get channels_scanQrCode => 'Сканирайте QR код'; @override - String get channels_scanQrCodeComingSoon => 'Ще излезе скоро'; + String get channels_scanQrCodeComingSoon => 'Ще излезе скоро'; @override - String get channels_enterHashtag => 'Въведете хаштаг'; + String get channels_enterHashtag => 'Въведете хаштаг'; @override - String get channels_hashtagHint => 'напр. #отбор'; + String get channels_hashtagHint => 'напр. #отбор'; @override - String get chat_noMessages => 'Няма съобщения.'; + String get chat_noMessages => 'Няма съобщения.'; @override - String get chat_sendMessageToStart => 'Изпрати съобщение, за да започнеш.'; + String get chat_sendMessageToStart => + 'Изпрати съобщение, за да започнеш.'; @override - String get chat_originalMessageNotFound => 'Съобщението не е намерено'; + String get chat_originalMessageNotFound => + 'Съобщението не е намерено'; @override String chat_replyingTo(String name) { - return 'Отговарям на $name'; + return 'Отговарям на $name'; } @override String chat_replyTo(String name) { - return 'Отговори на $name'; + return 'Отговори на $name'; } @override - String get chat_location => 'Местоположение'; + String get chat_location => 'Местоположение'; @override String chat_sendMessageTo(String contactName) { - return 'Изпрати съобщение на $contactName'; + return 'Изпрати съобщение на $contactName'; } @override - String get chat_typeMessage => 'Въведете съобщение...'; + String get chat_typeMessage => 'Въведете съобщение...'; @override String chat_messageTooLong(int maxBytes) { - return 'Съобщението е твърде дълго (макс $maxBytes байта).'; + return 'Съобщението е твърде дълго (макс $maxBytes байта).'; } @override - String get chat_messageCopied => 'Съобщението е копирано'; + String get chat_messageCopied => 'Съобщението е копирано'; @override - String get chat_messageDeleted => 'Съобщението е изтрито'; + String get chat_messageDeleted => 'Съобщението е изтрито'; @override - String get chat_retryingMessage => 'Опитваме се отново.'; + String get chat_retryingMessage => 'Опитваме се отново.'; @override String chat_retryCount(int current, int max) { - return 'Опитай отново $current/$max'; + return 'Опитай отново $current/$max'; } @override - String get chat_sendGif => 'Изпрати GIF'; + String get chat_sendGif => 'Изпрати GIF'; @override - String get chat_reply => 'Отговори'; + String get chat_reply => 'Отговори'; @override - String get chat_addReaction => 'Добави Реакция'; + String get chat_addReaction => 'Добави Реакция'; @override - String get chat_me => 'Аз'; + String get chat_me => 'Аз'; @override - String get emojiCategorySmileys => 'Емотикони'; + String get emojiCategorySmileys => 'Емотикони'; @override - String get emojiCategoryGestures => 'Жестове'; + String get emojiCategoryGestures => 'Жестове'; @override - String get emojiCategoryHearts => 'Сърца'; + String get emojiCategoryHearts => 'Сърца'; @override - String get emojiCategoryObjects => 'Обекти'; + String get emojiCategoryObjects => 'Обекти'; @override - String get gifPicker_title => 'Изберете GIF'; + String get gifPicker_title => 'Изберете GIF'; @override - String get gifPicker_searchHint => 'Търсене на GIF-ове...'; + String get gifPicker_searchHint => 'Търсене на GIF-ове...'; @override - String get gifPicker_poweredBy => 'Задвижвано от GIPHY'; + String get gifPicker_poweredBy => 'Задвижвано от GIPHY'; @override - String get gifPicker_noGifsFound => 'Няма намерени GIF файлове.'; + String get gifPicker_noGifsFound => + 'Няма намерени GIF файлове.'; @override - String get gifPicker_failedLoad => 'Не можа да се заредят GIF файловете'; + String get gifPicker_failedLoad => + 'Не можа да се заредят GIF файловете'; @override - String get gifPicker_failedSearch => 'Неуспешно търсене на GIF-ове'; + String get gifPicker_failedSearch => + 'Неуспешно търсене на GIF-ове'; @override - String get gifPicker_noInternet => 'Няма интернет връзка'; + String get gifPicker_noInternet => 'Няма интернет връзка'; @override String get debugLog_appTitle => - 'Лог на отстраняване на грешки на приложението'; + 'Лог на отстраняване на грешки на приложението'; @override - String get debugLog_bleTitle => 'Лог за отстраняване на грешки на BLE'; + String get debugLog_bleTitle => + 'Лог за отстраняване на грешки на BLE'; @override - String get debugLog_copyLog => 'Копирай лог'; + String get debugLog_copyLog => 'Копирай лог'; @override - String get debugLog_clearLog => 'Изчисти логовете'; + String get debugLog_clearLog => 'Изчисти логовете'; @override - String get debugLog_copied => 'Копирано лого за отстраняване на грешки'; + String get debugLog_copied => + 'Копирано лого за отстраняване на грешки'; @override - String get debugLog_bleCopied => 'Копиран лог от BLE'; + String get debugLog_bleCopied => 'Копиран лог от BLE'; @override - String get debugLog_noEntries => 'Все още няма дебъг логове.'; + String get debugLog_noEntries => + 'Все още няма дебъг логове.'; @override String get debugLog_enableInSettings => - 'Активирайте отстраняване на грешки в настройките на приложението'; + 'Активирайте отстраняване на грешки в настройките на приложението'; @override - String get debugLog_frames => 'Рамки'; + String get debugLog_frames => 'Рамки'; @override String get debugLog_rawLogRx => 'Raw Log-RX'; @override - String get debugLog_noBleActivity => 'Няма BLE активност към момента.'; + String get debugLog_noBleActivity => + 'Няма BLE активност към момента.'; @override String debugFrame_length(int count) { - return 'Дължина на кадъра: $count байта'; + return 'Дължина на кадъра: $count байта'; } @override String debugFrame_command(String value) { - return 'Команда: 0x$value'; + return 'Команда: 0x$value'; } @override - String get debugFrame_textMessageHeader => 'Съобщение:'; + String get debugFrame_textMessageHeader => 'Съобщение:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '- Дестинация Публичен Ключ: $pubKey'; + return '- Дестинация Публичен Ключ: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Време: $timestamp'; + return '- Време: $timestamp'; } @override String debugFrame_flags(String value) { - return '- Флагове: 0x$value'; + return '- Флагове: 0x$value'; } @override String debugFrame_textType(int type, String label) { - return '- Тип текст: $type ($label)'; + return '- Тип текст: $type ($label)'; } @override String get debugFrame_textTypeCli => 'CLI'; @override - String get debugFrame_textTypePlain => 'Просто'; + String get debugFrame_textTypePlain => 'Просто'; @override String debugFrame_text(String text) { - return '- Текст: \"$text\"'; + return '- Текст: \"$text\"'; } @override - String get debugFrame_hexDump => 'Хексадесетичен Dump:'; + String get debugFrame_hexDump => 'Хексадесетичен Dump:'; @override - String get chat_pathManagement => 'Управление на пътища'; + String get chat_pathManagement => 'Управление на пътища'; @override - String get chat_ShowAllPaths => 'Покажи всички пътища'; + String get chat_ShowAllPaths => 'Покажи всички пътища'; @override - String get chat_routingMode => 'Режим на маршрутизиране'; + String get chat_routingMode => 'Режим на маршрутизиране'; @override - String get chat_autoUseSavedPath => 'Автоматично (използвай запазения път)'; + String get chat_autoUseSavedPath => + 'Автоматично (използвай запазения път)'; @override - String get chat_forceFloodMode => 'Принуди режим на наводняване'; + String get chat_forceFloodMode => + 'Принуди режим на наводняване'; @override String get chat_recentAckPaths => - 'Неотдавни ACK пътища (докоснете, за да използвате):'; + 'Неотдавни ACK пътища (докоснете, за да използвате):'; @override String get chat_pathHistoryFull => - 'Историята на пътя е пълна. Премахнете записи, за да добавите нови.'; + 'Историята на пътя е пълна. Премахнете записи, за да добавите нови.'; @override - String get chat_hopSingular => 'скочи'; + String get chat_hopSingular => 'скочи'; @override - String get chat_hopPlural => 'скоци'; + String get chat_hopPlural => 'скоци'; @override String chat_hopsCount(int count) { @@ -1216,49 +1284,51 @@ class AppLocalizationsBg extends AppLocalizations { } @override - String get chat_successes => 'Успехи'; + String get chat_successes => 'Успехи'; @override - String get chat_removePath => 'Премахни пътя'; + String get chat_removePath => 'Премахни пътя'; @override String get chat_noPathHistoryYet => - 'Няма история на пътищата още.\nИзпратете съобщение, за да откриете пътища.'; + 'Няма история на пътищата още.\nИзпратете съобщение, за да откриете пътища.'; @override - String get chat_pathActions => 'Действия по пътя:'; + String get chat_pathActions => 'Действия по пътя:'; @override - String get chat_setCustomPath => 'Задайте персонализиран път'; + String get chat_setCustomPath => + 'Задайте персонализиран път'; @override - String get chat_setCustomPathSubtitle => 'Ръчно укажете маршрутен път'; + String get chat_setCustomPathSubtitle => + 'Ръчно укажете маршрутен път'; @override - String get chat_clearPath => 'Почисти Път'; + String get chat_clearPath => 'Почисти Път'; @override String get chat_clearPathSubtitle => - 'Принуди преоткриване при следващо изпращане'; + 'Принуди преоткриване при следващо изпращане'; @override String get chat_pathCleared => - 'Пътят е почистен. Следващото съобщение ще открие маршрута отново.'; + 'Пътят е почистен. Следващото съобщение ще открие маршрута отново.'; @override String get chat_floodModeSubtitle => - 'Използвайте превключвателя за маршрутизиране в лентата на приложението.'; + 'Използвайте превключвателя за маршрутизиране в лентата на приложението.'; @override String get chat_floodModeEnabled => - 'Режим на наводнение е активиран. Включете го отново чрез иконката за маршрутизиране в лентата на приложението.'; + 'Режим на наводнение е активиран. Включете го отново чрез иконката за маршрутизиране в лентата на приложението.'; @override - String get chat_fullPath => 'Пълен път'; + String get chat_fullPath => 'Пълен път'; @override String get chat_pathDetailsNotAvailable => - 'Детайлите за пътя все още не са налични. Опитайте да изпратите съобщение, за да освежите.'; + 'Детайлите за пътя все още не са налични. Опитайте да изпратите съобщение, за да освежите.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1268,300 +1338,313 @@ class AppLocalizationsBg extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Пътят е зададен: $hopCount $_temp0 - $status'; + return 'Пътят е зададен: $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Запазено локално. Свържете се за синхронизиране.'; + 'Запазено локално. Свържете се за синхронизиране.'; @override - String get chat_pathDeviceConfirmed => 'Устройство потвърдено.'; + String get chat_pathDeviceConfirmed => + 'Устройство потвърдено.'; @override String get chat_pathDeviceNotConfirmed => - 'Устройството все още не е потвърдено.'; + 'Устройството все още не е потвърдено.'; @override - String get chat_type => 'Въведете'; + String get chat_type => 'Въведете'; @override - String get chat_path => 'Пътекино'; + String get chat_path => 'Пътекино'; @override - String get chat_publicKey => 'Публичен ключ'; + String get chat_publicKey => 'Публичен ключ'; @override String get chat_compressOutgoingMessages => - 'Компресиране на изходящи съобщения'; + 'Компресиране на изходящи съобщения'; @override - String get chat_floodForced => 'Потоп (принуден)'; + String get chat_floodForced => 'Потоп (принуден)'; @override - String get chat_directForced => 'Директно (принудително)'; + String get chat_directForced => 'Директно (принудително)'; @override String chat_hopsForced(int count) { - return '$count скока (принудително)'; + return '$count скока (принудително)'; } @override - String get chat_floodAuto => 'Потоп (автоматично)'; + String get chat_floodAuto => 'Потоп (автоматично)'; @override - String get chat_direct => 'Директно'; + String get chat_direct => 'Директно'; @override - String get chat_poiShared => 'Споделено място от интерес'; + String get chat_poiShared => + 'Споделено място от интерес'; @override String chat_unread(int count) { - return 'Непрочетени: $count'; + return 'Непрочетени: $count'; } @override - String get chat_openLink => 'Отваряне на връзката?'; + String get chat_openLink => 'Отваряне на връзката?'; @override String get chat_openLinkConfirmation => - 'Искате ли да отворите тази връзка в браузъра си?'; + 'Искате ли да отворите тази връзка в браузъра си?'; @override - String get chat_open => 'Отвори'; + String get chat_open => 'Отвори'; @override String chat_couldNotOpenLink(String url) { - return 'Не можа да се отвори връзката: $url'; + return 'Не можа да се отвори връзката: $url'; } @override - String get chat_invalidLink => 'Невалиден формат на връзката'; + String get chat_invalidLink => + 'Невалиден формат на връзката'; @override - String get map_title => 'Карта на възлите'; + String get map_title => 'Карта на възлите'; @override - String get map_lineOfSight => 'Линия на видимост'; + String get map_lineOfSight => 'Линия на видимост'; @override - String get map_losScreenTitle => 'Линия на видимост'; + String get map_losScreenTitle => 'Линия на видимост'; @override - String get map_noNodesWithLocation => 'Няма възли с данни за местоположение.'; + String get map_noNodesWithLocation => + 'Няма възли с данни за местоположение.'; @override String get map_nodesNeedGps => - 'Възлагат се възлозите да споделят техните GPS координати,\nза да се появят на картата.'; + 'Възлагат се възлозите да споделят техните GPS координати,\nза да се появят на картата.'; @override String map_nodesCount(int count) { - return 'Нодове: $count'; + return 'Нодове: $count'; } @override String map_pinsCount(int count) { - return 'Ключове: $count'; + return 'Ключове: $count'; } @override - String get map_chat => 'Чат'; + String get map_chat => 'Чат'; @override - String get map_repeater => 'Повтарящ се'; + String get map_repeater => 'Повтарящ се'; @override - String get map_room => 'Стая'; + String get map_room => 'Стая'; @override - String get map_sensor => 'Датчик'; + String get map_sensor => 'Датчик'; @override - String get map_pinDm => 'Задържане (DM)'; + String get map_pinDm => 'Задържане (DM)'; @override - String get map_pinPrivate => 'Задържане (Приватно)'; + String get map_pinPrivate => 'Задържане (Приватно)'; @override - String get map_pinPublic => 'Публичен ключ'; + String get map_pinPublic => 'Публичен ключ'; @override - String get map_lastSeen => 'Последна видяна'; + String get map_lastSeen => 'Последна видяна'; @override String get map_disconnectConfirm => - 'Сигурни ли сте, че искате да се откъснете от това устройство?'; + 'Сигурни ли сте, че искате да се откъснете от това устройство?'; @override - String get map_from => 'От'; + String get map_from => 'От'; @override - String get map_source => 'Източник'; + String get map_source => 'Източник'; @override - String get map_flags => 'Флаг'; + String get map_flags => 'Флаг'; @override - String get map_shareMarkerHere => 'Споделете маркер тук'; + String get map_shareMarkerHere => 'Споделете маркер тук'; @override - String get map_pinLabel => 'Етикетиране на пин'; + String get map_pinLabel => 'Етикетиране на пин'; @override - String get map_label => 'Етикет'; + String get map_label => 'Етикет'; @override - String get map_pointOfInterest => 'Точка на интерес'; + String get map_pointOfInterest => 'Точка на интерес'; @override - String get map_sendToContact => 'Изпрати на контакт'; + String get map_sendToContact => 'Изпрати на контакт'; @override - String get map_sendToChannel => 'Изпрати в канала'; + String get map_sendToChannel => 'Изпрати в канала'; @override - String get map_noChannelsAvailable => 'Няма налични канали'; + String get map_noChannelsAvailable => 'Няма налични канали'; @override - String get map_publicLocationShare => 'Споделяне на публично място'; + String get map_publicLocationShare => + 'Споделяне на публично място'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Ще споделите местоположение в $channelLabel. Този канал е публичен и всеки с PSK може да го види.'; + return 'Ще споделите местоположение в $channelLabel. Този канал е публичен и всеки с PSK може да го види.'; } @override String get map_connectToShareMarkers => - 'Свържете се с устройство, за да споделите маркери.'; + 'Свържете се с устройство, за да споделите маркери.'; @override - String get map_filterNodes => 'Филтрирайте възли'; + String get map_filterNodes => 'Филтрирайте възли'; @override - String get map_nodeTypes => 'Типове възли'; + String get map_nodeTypes => 'Типове възли'; @override - String get map_chatNodes => 'Възли на чата'; + String get map_chatNodes => 'Възли на чата'; @override - String get map_repeaters => 'Повторители'; + String get map_repeaters => 'Повторители'; @override - String get map_otherNodes => 'Други възли'; + String get map_otherNodes => 'Други възли'; @override - String get map_keyPrefix => 'Префикс на ключа'; + String get map_keyPrefix => 'Префикс на ключа'; @override - String get map_filterByKeyPrefix => 'Филтрирайте по префикс на ключ'; + String get map_filterByKeyPrefix => + 'Филтрирайте по префикс на ключ'; @override - String get map_publicKeyPrefix => 'Префикс на публичен ключ'; + String get map_publicKeyPrefix => + 'Префикс на публичен ключ'; @override - String get map_markers => 'Маркери'; + String get map_markers => 'Маркери'; @override - String get map_showSharedMarkers => 'Покажи споделени маркери'; + String get map_showSharedMarkers => + 'Покажи споделени маркери'; @override - String get map_lastSeenTime => 'Последна видяна дата'; + String get map_lastSeenTime => 'Последна видяна дата'; @override - String get map_sharedPin => 'Споделено копие'; + String get map_sharedPin => 'Споделено копие'; @override - String get map_joinRoom => 'Присъедини се към стаята'; + String get map_joinRoom => 'Присъедини се към стаята'; @override - String get map_manageRepeater => 'Управление на Повтарящ се Елемент'; + String get map_manageRepeater => + 'Управление на Повтарящ се Елемент'; @override String get map_tapToAdd => - 'Натиснете върху възлите, за да ги добавите към пътя.'; + 'Натиснете върху възлите, за да ги добавите към пътя.'; @override - String get map_runTrace => 'Изпълни Път на Следване'; + String get map_runTrace => 'Изпълни Път на Следване'; @override - String get map_removeLast => 'Премахни Последно'; + String get map_removeLast => 'Премахни Последно'; @override - String get map_pathTraceCancelled => 'Отменен е следването на пътя.'; + String get map_pathTraceCancelled => + 'Отменен е следването на пътя.'; @override - String get mapCache_title => 'Кеш на офлайн карти'; + String get mapCache_title => 'Кеш на офлайн карти'; @override - String get mapCache_selectAreaFirst => 'Изберете област за кеширане първа'; + String get mapCache_selectAreaFirst => + 'Изберете област за кеширане първа'; @override String get mapCache_noTilesToDownload => - 'Няма плочки за изтегляне за тази област.'; + 'Няма плочки за изтегляне за тази област.'; @override - String get mapCache_downloadTilesTitle => 'Изтегли плочки'; + String get mapCache_downloadTilesTitle => 'Изтегли плочки'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Изтегли $count плочки за офлайн употреба?'; + return 'Изтегли $count плочки за офлайн употреба?'; } @override - String get mapCache_downloadAction => 'Изтегли'; + String get mapCache_downloadAction => 'Изтегли'; @override String mapCache_cachedTiles(int count) { - return 'Кеширани $count плочки'; + return 'Кеширани $count плочки'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Запазени $downloaded плочки ($failed неуспешни)'; + return 'Запазени $downloaded плочки ($failed неуспешни)'; } @override - String get mapCache_clearOfflineCacheTitle => 'Изчисти офлайн кеша'; + String get mapCache_clearOfflineCacheTitle => + 'Изчисти офлайн кеша'; @override String get mapCache_clearOfflineCachePrompt => - 'Премахнете всички кеширани плочки на картата?'; + 'Премахнете всички кеширани плочки на картата?'; @override String get mapCache_offlineCacheCleared => - 'Кешът на устройството е изчистен.'; + 'Кешът на устройството е изчистен.'; @override - String get mapCache_noAreaSelected => 'Няма избрана област'; + String get mapCache_noAreaSelected => 'Няма избрана област'; @override - String get mapCache_cacheArea => 'Област с кеш'; + String get mapCache_cacheArea => 'Област с кеш'; @override - String get mapCache_useCurrentView => 'Използвайте текущия изглед'; + String get mapCache_useCurrentView => + 'Използвайте текущия изглед'; @override - String get mapCache_zoomRange => 'Обхват на увеличението'; + String get mapCache_zoomRange => 'Обхват на увеличението'; @override String mapCache_estimatedTiles(int count) { - return 'Очаквани плочки: $count'; + return 'Очаквани плочки: $count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return 'Изтеглено $completed / $total'; + return 'Изтеглено $completed / $total'; } @override - String get mapCache_downloadTilesButton => 'Изтегли Плочки'; + String get mapCache_downloadTilesButton => 'Изтегли Плочки'; @override - String get mapCache_clearCacheButton => 'Изчисти кеша'; + String get mapCache_clearCacheButton => 'Изчисти кеша'; @override String mapCache_failedDownloads(int count) { - return 'Неуспешни изтегляния: $count'; + return 'Неуспешни изтегляния: $count'; } @override @@ -1571,132 +1654,135 @@ class AppLocalizationsBg extends AppLocalizations { String east, String west, ) { - return 'Север $north, Юг $south, Изток $east, Запад $west'; + return 'Север $north, Юг $south, Изток $east, Запад $west'; } @override - String get time_justNow => 'Сега'; + String get time_justNow => 'Сега'; @override String time_minutesAgo(int minutes) { - return '$minutes минути преди'; + return '$minutes минути преди'; } @override String time_hoursAgo(int hours) { - return '$hours часа преди'; + return '$hours часа преди'; } @override String time_daysAgo(int days) { - return '$days дни преди'; + return '$days дни преди'; } @override - String get time_hour => 'час'; + String get time_hour => 'час'; @override - String get time_hours => 'часове'; + String get time_hours => 'часове'; @override - String get time_day => 'ден'; + String get time_day => 'ден'; @override - String get time_days => 'дни'; + String get time_days => 'дни'; @override - String get time_week => 'седмица'; + String get time_week => 'седмица'; @override - String get time_weeks => 'секти'; + String get time_weeks => 'секти'; @override - String get time_month => 'месец'; + String get time_month => 'месец'; @override - String get time_months => 'месеци'; + String get time_months => 'месеци'; @override - String get time_minutes => 'минути'; + String get time_minutes => 'минути'; @override - String get time_allTime => 'Всичко време'; + String get time_allTime => 'Всичко време'; @override - String get dialog_disconnect => 'Прекъсни'; + String get dialog_disconnect => 'Прекъсни'; @override String get dialog_disconnectConfirm => - 'Сигурни ли сте, че искате да се откъснете от това устройство?'; + 'Сигурни ли сте, че искате да се откъснете от това устройство?'; @override - String get login_repeaterLogin => 'Повторител Вход'; + String get login_repeaterLogin => 'Повторител Вход'; @override - String get login_roomLogin => 'Вход в стаята'; + String get login_roomLogin => 'Вход в стаята'; @override - String get login_password => 'Парола'; + String get login_password => 'Парола'; @override - String get login_enterPassword => 'Въведете парола'; + String get login_enterPassword => 'Въведете парола'; @override - String get login_savePassword => 'Запази парола'; + String get login_savePassword => 'Запази парола'; @override String get login_savePasswordSubtitle => - 'Паролата ще бъде съхранена сигурно на това устройство.'; + 'Паролата ще бъде съхранена сигурно на това устройство.'; @override String get login_repeaterDescription => - 'Въведете паролата на репитера, за да получите достъп до настройките и статуса.'; + 'Въведете паролата на репитера, за да получите достъп до настройките и статуса.'; @override String get login_roomDescription => - 'Въведете паролата на стаята, за да получите достъп до настройките и статуса.'; + 'Въведете паролата на стаята, за да получите достъп до настройките и статуса.'; @override - String get login_routing => 'Маршрутизиране'; + String get login_routing => 'Маршрутизиране'; @override - String get login_routingMode => 'Режим на маршрутизиране'; + String get login_routingMode => + 'Режим на маршрутизиране'; @override - String get login_autoUseSavedPath => 'Автоматично (използвай запазения път)'; + String get login_autoUseSavedPath => + 'Автоматично (използвай запазения път)'; @override - String get login_forceFloodMode => 'Принуди режим на наводняване'; + String get login_forceFloodMode => + 'Принуди режим на наводняване'; @override - String get login_managePaths => 'Управление на пътища'; + String get login_managePaths => 'Управление на пътища'; @override - String get login_login => 'Вход'; + String get login_login => 'Вход'; @override String login_attempt(int current, int max) { - return 'Опитвате $current/$max'; + return 'Опитвате $current/$max'; } @override String login_failed(String error) { - return 'Входът не беше успешен: $error'; + return 'Входът не беше успешен: $error'; } @override String get login_failedMessage => - 'Входът не беше успешен. Или паролата е грешна, или повторителят е недостъпен.'; + 'Входът не беше успешен. Или паролата е грешна, или повторителят е недостъпен.'; @override - String get common_reload => 'Презареди'; + String get common_reload => 'Презареди'; @override - String get common_clear => 'Изчисти'; + String get common_clear => 'Изчисти'; @override String path_currentPath(String path) { - return 'Текущ път: $path'; + return 'Текущ път: $path'; } @override @@ -1707,153 +1793,167 @@ class AppLocalizationsBg extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Използване на $count $_temp0 път'; + return 'Използване на $count $_temp0 път'; } @override - String get path_enterCustomPath => 'Въведете персонализиран път'; + String get path_enterCustomPath => + 'Въведете персонализиран път'; @override - String get path_currentPathLabel => 'Текущ път'; + String get path_currentPathLabel => 'Текущ път'; @override String get path_hexPrefixInstructions => - 'Въведете 2-символни шестнадесетични префикси за всеки хоп, разделени с кама.'; + 'Въведете 2-символни шестнадесетични префикси за всеки хоп, разделени с кама.'; @override String get path_hexPrefixExample => - 'A1,F2,3C (всяка нода използва първия байт от публичния си ключ)'; + 'A1,F2,3C (всяка нода използва първия байт от публичния си ключ)'; @override - String get path_labelHexPrefixes => 'Пътеки (шестнадесетични префикси)'; + String get path_labelHexPrefixes => + 'Пътеки (шестнадесетични префикси)'; @override String get path_helperMaxHops => - 'Максимум 64 скока. Всеки префикс е 2 шестнадесетични знака (1 байт).'; + 'Максимум 64 скока. Всеки префикс е 2 шестнадесетични знака (1 байт).'; @override - String get path_selectFromContacts => 'Изберете от контакти:'; + String get path_selectFromContacts => + 'Изберете от контакти:'; @override String get path_noRepeatersFound => - 'Няма намерени репетитори или сървъри на стаи.'; + 'Няма намерени репетитори или сървъри на стаи.'; @override String get path_customPathsRequire => - 'Персонализираните пътища изискват междинни скокове, които могат да препращат съобщения.'; + 'Персонализираните пътища изискват междинни скокове, които могат да препращат съобщения.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Невалидни шестнадесетични префикси: $prefixes'; + return 'Невалидни шестнадесетични префикси: $prefixes'; } @override String get path_tooLong => - 'Пътят е твърде дълъг. Максимум 64 скока са разрешени.'; + 'Пътят е твърде дълъг. Максимум 64 скока са разрешени.'; @override - String get path_setPath => 'Задайте път'; + String get path_setPath => 'Задайте път'; @override - String get repeater_management => 'Управление на повторители'; + String get repeater_management => + 'Управление на повторители'; @override - String get room_management => 'Управление на сървъра за стая'; + String get room_management => + 'Управление на сървъра за стая'; @override - String get repeater_managementTools => 'Инструменти за управление'; + String get repeater_managementTools => + 'Инструменти за управление'; @override - String get repeater_status => 'Статус'; + String get repeater_status => 'Статус'; @override String get repeater_statusSubtitle => - 'Прегледайте статуса, статистиката и съседните устройства.'; + 'Прегледайте статуса, статистиката и съседните устройства.'; @override - String get repeater_telemetry => 'Телеметрия'; + String get repeater_telemetry => 'Телеметрия'; @override String get repeater_telemetrySubtitle => - 'Прегледайте телеметрията на сензорите и системните статистики'; + 'Прегледайте телеметрията на сензорите и системните статистики'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Изпрати команди към ретранслатора'; + String get repeater_cliSubtitle => + 'Изпрати команди към ретранслатора'; @override - String get repeater_neighbors => 'Съседи'; + String get repeater_neighbors => 'Съседи'; @override String get repeater_neighborsSubtitle => - 'Преглед на съседни възли с нулев скок.'; + 'Преглед на съседни възли с нулев скок.'; @override - String get repeater_settings => 'Настройки'; + String get repeater_settings => 'Настройки'; @override String get repeater_settingsSubtitle => - 'Конфигурирайте параметрите на репитера'; + 'Конфигурирайте параметрите на репитера'; @override - String get repeater_statusTitle => 'Статус на повтарянето'; + String get repeater_statusTitle => 'Статус на повтарянето'; @override - String get repeater_routingMode => 'Режим на маршрутизиране'; + String get repeater_routingMode => + 'Режим на маршрутизиране'; @override String get repeater_autoUseSavedPath => - 'Автоматично (използвай запазения път)'; + 'Автоматично (използвай запазения път)'; @override - String get repeater_forceFloodMode => 'Принуди режим на наводняване'; + String get repeater_forceFloodMode => + 'Принуди режим на наводняване'; @override - String get repeater_pathManagement => 'Управление на пътища'; + String get repeater_pathManagement => + 'Управление на пътища'; @override - String get repeater_refresh => 'Презареди'; + String get repeater_refresh => 'Презареди'; @override String get repeater_statusRequestTimeout => - 'Заявката за статус премина прекалено дълго.'; + 'Заявката за статус премина прекалено дълго.'; @override String repeater_errorLoadingStatus(String error) { - return 'Грешка при зареждане на статуса: $error'; + return 'Грешка при зареждане на статуса: $error'; } @override - String get repeater_systemInformation => 'Информация за системата'; + String get repeater_systemInformation => + 'Информация за системата'; @override - String get repeater_battery => 'Батерия'; + String get repeater_battery => 'Батерия'; @override - String get repeater_clockAtLogin => 'Часовник (при влизане)'; + String get repeater_clockAtLogin => + 'Часовник (при влизане)'; @override - String get repeater_uptime => 'Наличност'; + String get repeater_uptime => 'Наличност'; @override - String get repeater_queueLength => 'Дължина на опашката'; + String get repeater_queueLength => 'Дължина на опашката'; @override - String get repeater_debugFlags => 'Контролни точки за отстраняване на грешки'; + String get repeater_debugFlags => + 'Контролни точки за отстраняване на грешки'; @override - String get repeater_radioStatistics => 'Статистика на радиостанциите'; + String get repeater_radioStatistics => + 'Статистика на радиостанциите'; @override - String get repeater_lastRssi => 'Последна RSSI'; + String get repeater_lastRssi => 'Последна RSSI'; @override - String get repeater_lastSnr => 'Последна SNR'; + String get repeater_lastSnr => 'Последна SNR'; @override - String get repeater_noiseFloor => 'Ниво на шум'; + String get repeater_noiseFloor => 'Ниво на шум'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1862,16 +1962,17 @@ class AppLocalizationsBg extends AppLocalizations { String get repeater_rxAirtime => 'RX Airtime'; @override - String get repeater_packetStatistics => 'Статистика на пакетите'; + String get repeater_packetStatistics => + 'Статистика на пакетите'; @override - String get repeater_sent => 'Изпратено'; + String get repeater_sent => 'Изпратено'; @override - String get repeater_received => 'Получено'; + String get repeater_received => 'Получено'; @override - String get repeater_duplicates => 'Дубликати'; + String get repeater_duplicates => 'Дубликати'; @override String repeater_daysHoursMinsSecs( @@ -1880,59 +1981,65 @@ class AppLocalizationsBg extends AppLocalizations { int minutes, int seconds, ) { - return '$days дни $hoursч $minutesм $secondsс'; + return '$days дни $hoursч $minutesм $secondsс'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Общо: $total, Наводнение: $flood, Директно: $direct'; + return 'Общо: $total, Наводнение: $flood, Директно: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Общо: $total, Наводнение: $flood, Директно: $direct'; + return 'Общо: $total, Наводнение: $flood, Директно: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Поливане: $flood, Директен: $direct'; + return 'Поливане: $flood, Директен: $direct'; } @override String repeater_duplicatesTotal(int total) { - return 'Общо: $total'; + return 'Общо: $total'; } @override - String get repeater_settingsTitle => 'Настройки на повтарящия се елемент'; + String get repeater_settingsTitle => + 'Настройки на повтарящия се елемент'; @override - String get repeater_basicSettings => 'Основни настройки'; + String get repeater_basicSettings => 'Основни настройки'; @override - String get repeater_repeaterName => 'Име на повтарящ се елемент'; + String get repeater_repeaterName => + 'Име на повтарящ се елемент'; @override String get repeater_repeaterNameHelper => - 'Показване на името на този репитер'; + 'Показване на името на този репитер'; @override - String get repeater_adminPassword => 'Парола на администратора'; + String get repeater_adminPassword => + 'Парола на администратора'; @override - String get repeater_adminPasswordHelper => 'Пълен достъпен парола'; + String get repeater_adminPasswordHelper => + 'Пълен достъпен парола'; @override - String get repeater_guestPassword => 'Парола на гост'; + String get repeater_guestPassword => 'Парола на гост'; @override - String get repeater_guestPasswordHelper => 'Достъп с ограничен достъп'; + String get repeater_guestPasswordHelper => + 'Достъп с ограничен достъп'; @override - String get repeater_radioSettings => 'Настройки на радиостанцията'; + String get repeater_radioSettings => + 'Настройки на радиостанцията'; @override - String get repeater_frequencyMhz => 'Честота (MHz)'; + String get repeater_frequencyMhz => 'Честота (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @@ -1944,516 +2051,547 @@ class AppLocalizationsBg extends AppLocalizations { String get repeater_txPowerHelper => '1-30 dBm'; @override - String get repeater_bandwidth => 'Ширина на честотния спектър'; + String get repeater_bandwidth => + 'Ширина на честотния спектър'; @override - String get repeater_spreadingFactor => 'Фактор на разпространение'; + String get repeater_spreadingFactor => + 'Фактор на разпространение'; @override - String get repeater_codingRate => 'Такса за кодиране'; + String get repeater_codingRate => 'Такса за кодиране'; @override - String get repeater_locationSettings => 'Настройки на местоположението'; + String get repeater_locationSettings => + 'Настройки на местоположението'; @override - String get repeater_latitude => 'Широчина'; + String get repeater_latitude => 'Широчина'; @override - String get repeater_latitudeHelper => 'Десетични градуси (напр. 37.7749)'; + String get repeater_latitudeHelper => + 'Десетични градуси (напр. 37.7749)'; @override - String get repeater_longitude => 'Дължина'; + String get repeater_longitude => 'Дължина'; @override String get repeater_longitudeHelper => - 'Градуси с десетични знаци (напр. -122.4194)'; + 'Градуси с десетични знаци (напр. -122.4194)'; @override - String get repeater_features => 'Характеристики'; + String get repeater_features => 'Характеристики'; @override - String get repeater_packetForwarding => 'Пренасочване на пакети'; + String get repeater_packetForwarding => + 'Пренасочване на пакети'; @override String get repeater_packetForwardingSubtitle => - 'Активирайте репитера, за да препращате пакети.'; + 'Активирайте репитера, за да препращате пакети.'; @override - String get repeater_guestAccess => 'Достъп за Гост'; + String get repeater_guestAccess => 'Достъп за Гост'; @override - String get repeater_guestAccessSubtitle => 'Разрешете самочетене за гости'; + String get repeater_guestAccessSubtitle => + 'Разрешете самочетене за гости'; @override - String get repeater_privacyMode => 'Режим на поверителност'; + String get repeater_privacyMode => + 'Режим на поверителност'; @override String get repeater_privacyModeSubtitle => - 'Скриване на име/местоположение в рекламите'; + 'Скриване на име/местоположение в рекламите'; @override - String get repeater_advertisementSettings => 'Настройки на рекламите'; + String get repeater_advertisementSettings => + 'Настройки на рекламите'; @override - String get repeater_localAdvertInterval => 'Местен Рекламен Интервал'; + String get repeater_localAdvertInterval => + 'Местен Рекламен Интервал'; @override String repeater_localAdvertIntervalMinutes(int minutes) { - return '$minutes минути'; + return '$minutes минути'; } @override String get repeater_floodAdvertInterval => - 'Интервал на рекламата за наводнения'; + 'Интервал на рекламата за наводнения'; @override String repeater_floodAdvertIntervalHours(int hours) { - return '$hours часа'; + return '$hours часа'; } @override - String get repeater_encryptedAdvertInterval => 'Криптиран Рекламен Интервал'; + String get repeater_encryptedAdvertInterval => + 'Криптиран Рекламен Интервал'; @override String get repeater_dangerZone => - 'Опасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно'; + 'Опасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно Безопасно'; @override - String get repeater_rebootRepeater => 'БеРестартирай Репитер'; + String get repeater_rebootRepeater => + 'БеРестартирай Репитер'; @override - String get repeater_rebootRepeaterSubtitle => 'Рестартирайте ретранслатора.'; + String get repeater_rebootRepeaterSubtitle => + 'Рестартирайте ретранслатора.'; @override String get repeater_rebootRepeaterConfirm => - 'Сигурни ли сте, че искате да рестартирате този репитер?'; + 'Сигурни ли сте, че искате да рестартирате този репитер?'; @override String get repeater_regenerateIdentityKey => - 'Генериране на Ключ за Идентичност'; + 'Генериране на Ключ за Идентичност'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Генериране на нова двойка публичен/частен ключ'; + 'Генериране на нова двойка публичен/частен ключ'; @override String get repeater_regenerateIdentityKeyConfirm => - 'БеТова ще генерира нова идентичност за репитера. Продължете?'; + 'БеТова ще генерира нова идентичност за репитера. Продължете?'; @override - String get repeater_eraseFileSystem => 'Изтрий Файлова Система'; + String get repeater_eraseFileSystem => + 'Изтрий Файлова Система'; @override String get repeater_eraseFileSystemSubtitle => - 'Форматирайте файла на репитера'; + 'Форматирайте файла на репитера'; @override String get repeater_eraseFileSystemConfirm => - 'ВНИМАНИЕ: Това ще изтрие всички данни от репетитора. Това не може да бъде отменено!'; + 'ВНИМАНИЕ: Това ще изтрие всички данни от репетитора. Това не може да бъде отменено!'; @override String get repeater_eraseSerialOnly => - 'Изтриването е достъпно само през серийния терминал.'; + 'Изтриването е достъпно само през серийния терминал.'; @override String repeater_commandSent(String command) { - return 'Командата е изпратена: $command'; + return 'Командата е изпратена: $command'; } @override String repeater_errorSendingCommand(String error) { - return 'Грешка при изпращане на командата: $error'; + return 'Грешка при изпращане на командата: $error'; } @override - String get repeater_confirm => 'БеПотвърди'; + String get repeater_confirm => 'БеПотвърди'; @override - String get repeater_settingsSaved => 'Настройките са запазени успешно.'; + String get repeater_settingsSaved => + 'Настройките са запазени успешно.'; @override String repeater_errorSavingSettings(String error) { - return 'Грешка при запазване на настройките: $error'; + return 'Грешка при запазване на настройките: $error'; } @override - String get repeater_refreshBasicSettings => 'Обнови Основни Настройки'; + String get repeater_refreshBasicSettings => + 'Обнови Основни Настройки'; @override String get repeater_refreshRadioSettings => - 'Обнови настройките на радиопредавателите'; + 'Обнови настройките на радиопредавателите'; @override - String get repeater_refreshTxPower => 'Обнови TX захранване'; + String get repeater_refreshTxPower => 'Обнови TX захранване'; @override String get repeater_refreshLocationSettings => - 'Обнови настройките на местоположението'; + 'Обнови настройките на местоположението'; @override - String get repeater_refreshPacketForwarding => 'Обнови пакетно пренасочване'; + String get repeater_refreshPacketForwarding => + 'Обнови пакетно пренасочване'; @override - String get repeater_refreshGuestAccess => 'Обнови достъп за гости'; + String get repeater_refreshGuestAccess => + 'Обнови достъп за гости'; @override - String get repeater_refreshPrivacyMode => 'Обнови Режим на поверителност'; + String get repeater_refreshPrivacyMode => + 'Обнови Режим на поверителност'; @override String get repeater_refreshAdvertisementSettings => - 'Обнови Настройки на Рекламата'; + 'Обнови Настройки на Рекламата'; @override String repeater_refreshed(String label) { - return '$label е обновено'; + return '$label е обновено'; } @override String repeater_errorRefreshing(String label) { - return 'Грешка при обновяване на $label'; + return 'Грешка при обновяване на $label'; } @override - String get repeater_cliTitle => 'Повторител CLI'; + String get repeater_cliTitle => 'Повторител CLI'; @override - String get repeater_debugNextCommand => 'Поправи Следваща Команда'; + String get repeater_debugNextCommand => + 'Поправи Следваща Команда'; @override - String get repeater_commandHelp => 'Помощ'; + String get repeater_commandHelp => 'Помощ'; @override - String get repeater_clearHistory => 'Изчисти История'; + String get repeater_clearHistory => 'Изчисти История'; @override - String get repeater_noCommandsSent => 'Няма изпратени команди засега.'; + String get repeater_noCommandsSent => + 'Няма изпратени команди засега.'; @override String get repeater_typeCommandOrUseQuick => - 'Въведете команда по-долу или използвайте бързи команди'; + 'Въведете команда по-долу или използвайте бързи команди'; @override - String get repeater_enterCommandHint => 'Въведете команда...'; + String get repeater_enterCommandHint => 'Въведете команда...'; @override - String get repeater_previousCommand => 'Предходна команда'; + String get repeater_previousCommand => 'Предходна команда'; @override - String get repeater_nextCommand => 'Следваща команда'; + String get repeater_nextCommand => 'Следваща команда'; @override - String get repeater_enterCommandFirst => 'Въведете първо команда.'; + String get repeater_enterCommandFirst => + 'Въведете първо команда.'; @override - String get repeater_cliCommandFrameTitle => 'Рамка за команда CLI'; + String get repeater_cliCommandFrameTitle => + 'Рамка за команда CLI'; @override String repeater_cliCommandError(String error) { - return 'Грешка: $error'; + return 'Грешка: $error'; } @override - String get repeater_cliQuickGetName => 'Получи име'; + String get repeater_cliQuickGetName => 'Получи име'; @override - String get repeater_cliQuickGetRadio => 'Получи радио'; + String get repeater_cliQuickGetRadio => 'Получи радио'; @override - String get repeater_cliQuickGetTx => 'Получи TX'; + String get repeater_cliQuickGetTx => 'Получи TX'; @override - String get repeater_cliQuickNeighbors => 'Съседи'; + String get repeater_cliQuickNeighbors => 'Съседи'; @override - String get repeater_cliQuickVersion => 'Версия'; + String get repeater_cliQuickVersion => 'Версия'; @override - String get repeater_cliQuickAdvertise => 'Рекламирай'; + String get repeater_cliQuickAdvertise => 'Рекламирай'; @override - String get repeater_cliQuickClock => 'Часовник'; + String get repeater_cliQuickClock => 'Часовник'; @override - String get repeater_cliHelpAdvert => 'Изпраща рекламен пакет'; + String get repeater_cliHelpAdvert => + 'Изпраща рекламен пакет'; @override String get repeater_cliHelpReboot => - 'Рестартира устройството. (Забележка, може да получите \'Timeout\', което е нормално)'; + 'Рестартира устройството. (Забележка, може да получите \'Timeout\', което е нормално)'; @override String get repeater_cliHelpClock => - 'Показва текущото време според часовника на всяко устройство.'; + 'Показва текущото време според часовника на всяко устройство.'; @override String get repeater_cliHelpPassword => - 'Задава се нова администраторска парола за устройството.'; + 'Задава се нова администраторска парола за устройството.'; @override String get repeater_cliHelpVersion => - 'Показва версията на устройството и датата на компилация на фърмуера.'; + 'Показва версията на устройството и датата на компилация на фърмуера.'; @override String get repeater_cliHelpClearStats => - 'Рестартира различни статистики броячи до нула.'; + 'Рестартира различни статистики броячи до нула.'; @override - String get repeater_cliHelpSetAf => 'Задава времето на фактора.'; + String get repeater_cliHelpSetAf => + 'Задава времето на фактора.'; @override String get repeater_cliHelpSetTx => - 'Задава се мощността на предаване на LoRa в dBm (отчитане спрямо референтно ниво).'; + 'Задава се мощността на предаване на LoRa в dBm (отчитане спрямо референтно ниво).'; @override String get repeater_cliHelpSetRepeat => - 'Активира или деактивира ролята на репитера за този възел.'; + 'Активира или деактивира ролята на репитера за този възел.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Сървър на стаята) Ако е \"включено\", тогава влизането с празен парола ще бъде разрешено, но не може да публикува в стаята (само четене).'; + '(Сървър на стаята) Ако е \"включено\", тогава влизането с празен парола ще бъде разрешено, но не може да публикува в стаята (само четене).'; @override String get repeater_cliHelpSetFloodMax => - 'Задава максималния брой хопове на входящ пакет за заливване (ако >= max, пакетът не се предава).'; + 'Задава максималния брой хопове на входящ пакет за заливване (ако >= max, пакетът не се предава).'; @override String get repeater_cliHelpSetIntThresh => - 'Задава праг на интерференцията (в dB). По подразбиране е 14. Задайте на 0, за да деактивирате откриването на интерференция на каналите.'; + 'Задава праг на интерференцията (в dB). По подразбиране е 14. Задайте на 0, за да деактивирате откриването на интерференция на каналите.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Задава интервала за рестартиране на Автоматичния контролер за усилване. Задайте на 0, за да го деактивирате.'; + 'Задава интервала за рестартиране на Автоматичния контролер за усилване. Задайте на 0, за да го деактивирате.'; @override String get repeater_cliHelpSetMultiAcks => - 'Активира или деактивира функцията \'двойни ACKs\'.'; + 'Активира или деактивира функцията \'двойни ACKs\'.'; @override String get repeater_cliHelpSetAdvertInterval => - 'Задава интервала на таймера в минути за изпращане на локален (безпроблемен) рекламен пакет. Задайте на 0, за да го деактивирате.'; + 'Задава интервала на таймера в минути за изпращане на локален (безпроблемен) рекламен пакет. Задайте на 0, за да го деактивирате.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Задава интервала на таймера в часове за изпращане на пакет с реклама за наводнение. Задайте на 0, за да го деактивирате.'; + 'Задава интервала на таймера в часове за изпращане на пакет с реклама за наводнение. Задайте на 0, за да го деактивирате.'; @override String get repeater_cliHelpSetGuestPassword => - 'Задава/обновява паролата на гост. (за повторители, гостите могат да изпращат заявката \"Get Stats\")'; + 'Задава/обновява паролата на гост. (за повторители, гостите могат да изпращат заявката \"Get Stats\")'; @override - String get repeater_cliHelpSetName => 'Задава име на обявата.'; + String get repeater_cliHelpSetName => + 'Задава име на обявата.'; @override String get repeater_cliHelpSetLat => - 'Задава географска ширина на картата с реклами (в десетими градуси).'; + 'Задава географска ширина на картата с реклами (в десетими градуси).'; @override String get repeater_cliHelpSetLon => - 'Задава обхвата на дължина на картата на рекламата. (десетими градуса)'; + 'Задава обхвата на дължина на картата на рекламата. (десетими градуса)'; @override String get repeater_cliHelpSetRadio => - 'Задава напълно нови радио параметри и ги запазва в предпочитанията. Изисква команда \"рестарт\", за да бъдат приложени.'; + 'Задава напълно нови радио параметри и ги запазва в предпочитанията. Изисква команда \"рестарт\", за да бъдат приложени.'; @override String get repeater_cliHelpSetRxDelay => - 'Зададени (експериментални) основи (трябва да е > 1 за ефект) за прилагане на леко забавяне на получените пакети, базирано на силата на сигнала/резултата. Задайте на 0, за да го деактивирате.'; + 'Зададени (експериментални) основи (трябва да е > 1 за ефект) за прилагане на леко забавяне на получените пакети, базирано на силата на сигнала/резултата. Задайте на 0, за да го деактивирате.'; @override String get repeater_cliHelpSetTxDelay => - 'Задава фактор, умножен по времето на въздух за пакет в режим на наводнение и с рандомизирана система за слотове, за да забави предаването му (за да намали вероятността от сблъсъци).'; + 'Задава фактор, умножен по времето на въздух за пакет в режим на наводнение и с рандомизирана система за слотове, за да забави предаването му (за да намали вероятността от сблъсъци).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Същото като txdelay, но за прилагане на случайна забавяне при препращането на пакети в директен режим.'; + 'Същото като txdelay, но за прилагане на случайна забавяне при препращането на пакети в директен режим.'; @override String get repeater_cliHelpSetBridgeEnabled => - 'Активиране/Деактивиране на мост.'; + 'Активиране/Деактивиране на мост.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Задайте забавяне преди преизпращане на пакети.'; + 'Задайте забавяне преди преизпращане на пакети.'; @override String get repeater_cliHelpSetBridgeSource => - 'Изберете дали мостът ще предава препратени пакети или получени пакети.'; + 'Изберете дали мостът ще предава препратени пакети или получени пакети.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Задайте скоростта на предаване за RS232 мостовете.'; + 'Задайте скоростта на предаване за RS232 мостовете.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Задайте тайна за мостовете на EspNow.'; + 'Задайте тайна за мостовете на EspNow.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Задава персонализиран коефициент за коригиране на отчетеното напрежение на батерията (поддържа се само на избрани дъски).'; + 'Задава персонализиран коефициент за коригиране на отчетеното напрежение на батерията (поддържа се само на избрани дъски).'; @override String get repeater_cliHelpTempRadio => - 'Задава временни радио параметри за посочения брой минути, връщайки се към оригиналните радио параметри след това. (не се запазва в предпочитанията).'; + 'Задава временни радио параметри за посочения брой минути, връщайки се към оригиналните радио параметри след това. (не се запазва в предпочитанията).'; @override String get repeater_cliHelpSetPerm => - 'Променя ACL. Премахва съответстващия запис (по префикс на pubkey), ако \"permissions\" е нула. Добавя нов запис, ако pubkey-hex е с пълна дължина и не е в ACL. Актуализира запис, съответстващ на префикса на pubkey. Битовете за разрешения варират според ролята на firmware, но долните 2 бита са: 0 (Гост), 1 (Само четене), 2 (Четене и писане), 3 (Администратор).'; + 'Променя ACL. Премахва съответстващия запис (по префикс на pubkey), ако \"permissions\" е нула. Добавя нов запис, ако pubkey-hex е с пълна дължина и не е в ACL. Актуализира запис, съответстващ на префикса на pubkey. Битовете за разрешения варират според ролята на firmware, но долните 2 бита са: 0 (Гост), 1 (Само четене), 2 (Четене и писане), 3 (Администратор).'; @override String get repeater_cliHelpGetBridgeType => - 'Получава тип мост none, rs232, espnow'; + 'Получава тип мост none, rs232, espnow'; @override String get repeater_cliHelpLogStart => - 'Започва записване на пакети във файловата система.'; + 'Започва записване на пакети във файловата система.'; @override String get repeater_cliHelpLogStop => - 'Спира записването на пакети във файловата система.'; + 'Спира записването на пакети във файловата система.'; @override String get repeater_cliHelpLogErase => - 'Изтрива логовете от пакета от файловата система.'; + 'Изтрива логовете от пакета от файловата система.'; @override String get repeater_cliHelpNeighbors => - 'Показва списък с други възли на репитер, чути чрез нулев хоп реклами. Всяка линия е id-prefix-hex:timestamp:snr-times-4'; + 'Показва списък с други възли на репитер, чути чрез нулев хоп реклами. Всяка линия е id-prefix-hex:timestamp:snr-times-4'; @override String get repeater_cliHelpNeighborRemove => - 'Премахва първия съвпадащ запис (по префикси на pubkey (hex)) от списъка с съседи.'; + 'Премахва първия съвпадащ запис (по префикси на pubkey (hex)) от списъка с съседи.'; @override String get repeater_cliHelpRegion => - '(сериен режим) Изброява всички дефинирани региони и текущите разрешения за наводнения.'; + '(сериен режим) Изброява всички дефинирани региони и текущите разрешения за наводнения.'; @override String get repeater_cliHelpRegionLoad => - 'Забележка: това е специално многокомандно извикване. Всяка следваща команда е име на регион (отстъпен с интервали, за да се покаже йерархията, с минимум един интервал). Завършва се чрез изпращане на празен ред/команда.'; + 'Забележка: това е специално многокомандно извикване. Всяка следваща команда е име на регион (отстъпен с интервали, за да се покаже йерархията, с минимум един интервал). Завършва се чрез изпращане на празен ред/команда.'; @override String get repeater_cliHelpRegionGet => - 'Търси регион с даден префикс на име (или \"\" за глобалния обхват). Отговаря с \"-> region-name (parent-name) \'F\'\"'; + 'Търси регион с даден префикс на име (или \"\" за глобалния обхват). Отговаря с \"-> region-name (parent-name) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Добавя или актуализира дефиниция на регион с дадено име.'; + 'Добавя или актуализира дефиниция на регион с дадено име.'; @override String get repeater_cliHelpRegionRemove => - 'Премахва дефиниция на регион с дадено име. (трябва да съвпада точно и да няма подрегиони)'; + 'Премахва дефиниция на регион с дадено име. (трябва да съвпада точно и да няма подрегиони)'; @override String get repeater_cliHelpRegionAllowf => - 'Задава \'Потоп\' разрешение за посочената област. (\'\' за глобалния/стария обхват)'; + 'Задава \'Потоп\' разрешение за посочената област. (\'\' за глобалния/стария обхват)'; @override String get repeater_cliHelpRegionDenyf => - 'Премахва разрешението \"F\"лоуд за посочената област. (ЗАБЕЛЕЖКА: в момента не се препоръчва да се използва на глобалното/старото ниво!! )'; + 'Премахва разрешението \"F\"лоуд за посочената област. (ЗАБЕЛЕЖКА: в момента не се препоръчва да се използва на глобалното/старото ниво!! )'; @override String get repeater_cliHelpRegionHome => - 'Отговаря с текущия \'home\' регион. (Забележка: не е приложена никъде, запазена за бъдещи нужди).'; + 'Отговаря с текущия \'home\' регион. (Забележка: не е приложена никъде, запазена за бъдещи нужди).'; @override - String get repeater_cliHelpRegionHomeSet => 'Задава \'домашно\' региона.'; + String get repeater_cliHelpRegionHomeSet => + 'Задава \'домашно\' региона.'; @override String get repeater_cliHelpRegionSave => - 'Запазва списъка/картата с региони в съхранение.'; + 'Запазва списъка/картата с региони в съхранение.'; @override String get repeater_cliHelpGps => - 'Показва статуса на GPS. Когато GPS е изключен, отговаря само с \"off\", ако е включен отговаря с \"on\", статус, fix, брой на сателити.'; + 'Показва статуса на GPS. Когато GPS е изключен, отговаря само с \"off\", ако е включен отговаря с \"on\", статус, fix, брой на сателити.'; @override - String get repeater_cliHelpGpsOnOff => 'Включва/Изключва GPS захранването.'; + String get repeater_cliHelpGpsOnOff => + 'Включва/Изключва GPS захранването.'; @override String get repeater_cliHelpGpsSync => - 'Синхронизира времето на възела с GPS часовника.'; + 'Синхронизира времето на възела с GPS часовника.'; @override String get repeater_cliHelpGpsSetLoc => - 'Задава координатите на нодата по GPS и запазва предпочитанията.'; + 'Задава координатите на нодата по GPS и запазва предпочитанията.'; @override String get repeater_cliHelpGpsAdvert => - 'Предоставя конфигурацията на рекламата за местоположението на възела:\n- none: не включвайте местоположението в рекламите\n- share: споделяйте gps местоположението (от SensorManager)\n- prefs: рекламирайте местоположението, съхранено в предпочитанията'; + 'Предоставя конфигурацията на рекламата за местоположението на възела:\n- none: не включвайте местоположението в рекламите\n- share: споделяйте gps местоположението (от SensorManager)\n- prefs: рекламирайте местоположението, съхранено в предпочитанията'; @override String get repeater_cliHelpGpsAdvertSet => - 'Задава конфигурация на обявите за местоположение.'; + 'Задава конфигурация на обявите за местоположение.'; @override - String get repeater_commandsListTitle => 'Списък с команди'; + String get repeater_commandsListTitle => 'Списък с команди'; @override String get repeater_commandsListNote => - 'ЗАБЕЛЕЖКА: за различните команди \"set ...\", също така съществува команда \"get ...\".'; + 'ЗАБЕЛЕЖКА: за различните команди \"set ...\", също така съществува команда \"get ...\".'; @override - String get repeater_general => 'Общо'; + String get repeater_general => 'Общо'; @override - String get repeater_settingsCategory => 'Настройки'; + String get repeater_settingsCategory => 'Настройки'; @override - String get repeater_bridge => 'Мост'; + String get repeater_bridge => 'Мост'; @override - String get repeater_logging => 'Логване'; + String get repeater_logging => 'Логване'; @override - String get repeater_neighborsRepeaterOnly => 'Съседи (Само за повтаряне)'; + String get repeater_neighborsRepeaterOnly => + 'Съседи (Само за повтаряне)'; @override String get repeater_regionManagementRepeaterOnly => - 'Управление на региони (Само за повтарящ се канал)'; + 'Управление на региони (Само за повтарящ се канал)'; @override String get repeater_regionNote => - 'Регионните команди са въведени, за да управляват дефинициите и разрешенията на регионите.'; + 'Регионните команди са въведени, за да управляват дефинициите и разрешенията на регионите.'; @override - String get repeater_gpsManagement => 'Управление на GPS'; + String get repeater_gpsManagement => 'Управление на GPS'; @override String get repeater_gpsNote => - 'GPS командата е въведена, за да управлява теми, свързани с местоположението.'; + 'GPS командата е въведена, за да управлява теми, свързани с местоположението.'; @override - String get telemetry_receivedData => 'Получени телеметрични данни'; + String get telemetry_receivedData => + 'Получени телеметрични данни'; @override - String get telemetry_requestTimeout => 'Заявката за телеметрия е прекъсната.'; + String get telemetry_requestTimeout => + 'Заявката за телеметрия е прекъсната.'; @override String telemetry_errorLoading(String error) { - return 'Грешка при зареждане на телеметрията: $error'; + return 'Грешка при зареждане на телеметрията: $error'; } @override - String get telemetry_noData => 'Няма налични данни за телеметрията.'; + String get telemetry_noData => + 'Няма налични данни за телеметрията.'; @override String telemetry_channelTitle(int channel) { - return 'Канал $channel'; + return 'Канал $channel'; } @override - String get telemetry_batteryLabel => 'Батерия'; + String get telemetry_batteryLabel => 'Батерия'; @override - String get telemetry_voltageLabel => 'Напрежение'; + String get telemetry_voltageLabel => 'Напрежение'; @override - String get telemetry_mcuTemperatureLabel => 'Температура на MCU'; + String get telemetry_mcuTemperatureLabel => 'Температура на MCU'; @override - String get telemetry_temperatureLabel => 'Температура'; + String get telemetry_temperatureLabel => 'Температура'; @override - String get telemetry_currentLabel => 'Текущо'; + String get telemetry_currentLabel => 'Текущо'; @override String telemetry_batteryValue(int percent, String volts) { @@ -2472,79 +2610,87 @@ class AppLocalizationsBg extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Получени данни за съседи'; + String get neighbors_receivedData => + 'Получени данни за съседи'; @override - String get neighbors_requestTimedOut => 'Съседите поискат изтичане на време.'; + String get neighbors_requestTimedOut => + 'Съседите поискат изтичане на време.'; @override String neighbors_errorLoading(String error) { - return 'Грешка при зареждане на съседи: $error'; + return 'Грешка при зареждане на съседи: $error'; } @override - String get neighbors_repeatersNeighbors => 'Повторители Съседи'; + String get neighbors_repeatersNeighbors => + 'Повторители Съседи'; @override - String get neighbors_noData => 'Няма налични данни за съседи.'; + String get neighbors_noData => + 'Няма налични данни за съседи.'; @override String neighbors_unknownContact(String pubkey) { - return 'Неизвестна $pubkey'; + return 'Неизвестна $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Слушано преди $time.'; + return 'Слушано преди $time.'; } @override - String get channelPath_title => 'Пътеки пъзел'; + String get channelPath_title => 'Пътеки пъзел'; @override - String get channelPath_viewMap => 'Преглед на картата'; + String get channelPath_viewMap => 'Преглед на картата'; @override - String get channelPath_otherObservedPaths => 'Други Наблюдавани Пътища'; + String get channelPath_otherObservedPaths => + 'Други Наблюдавани Пътища'; @override - String get channelPath_repeaterHops => 'Повтарящи се скокове'; + String get channelPath_repeaterHops => + 'Повтарящи се скокове'; @override String get channelPath_noHopDetails => - 'Детайлите за пакета не са предоставени.'; + 'Детайлите за пакета не са предоставени.'; @override - String get channelPath_messageDetails => 'Подробности на съобщението'; + String get channelPath_messageDetails => + 'Подробности на съобщението'; @override - String get channelPath_senderLabel => 'Изпращач'; + String get channelPath_senderLabel => 'Изпращач'; @override - String get channelPath_timeLabel => 'Време'; + String get channelPath_timeLabel => 'Време'; @override - String get channelPath_repeatsLabel => 'Повтаря'; + String get channelPath_repeatsLabel => 'Повтаря'; @override String channelPath_pathLabel(int index) { - return 'Път $index'; + return 'Път $index'; } @override - String get channelPath_observedLabel => 'Наблюдавано'; + String get channelPath_observedLabel => 'Наблюдавано'; @override String channelPath_observedPathTitle(int index, String hops) { - return 'Наблюдаван път $index • $hops'; + return 'Наблюдаван път $index • $hops'; } @override - String get channelPath_noLocationData => 'Няма данни за местоположение.'; + String get channelPath_noLocationData => + 'Няма данни за местоположение.'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2557,340 +2703,358 @@ class AppLocalizationsBg extends AppLocalizations { } @override - String get channelPath_unknownPath => 'Неизвестно'; + String get channelPath_unknownPath => 'Неизвестно'; @override - String get channelPath_floodPath => 'Поливане'; + String get channelPath_floodPath => 'Поливане'; @override - String get channelPath_directPath => 'Директно'; + String get channelPath_directPath => 'Директно'; @override String channelPath_observedZeroOf(int total) { - return '0 от $total скокове'; + return '0 от $total скокове'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed от $total скокове'; + return '$observed от $total скокове'; } @override - String get channelPath_mapTitle => 'Карта на пътя'; + String get channelPath_mapTitle => 'Карта на пътя'; @override String get channelPath_noRepeaterLocations => - 'Няма налични местоположения на повторителите за този път.'; + 'Няма налични местоположения на повторителите за този път.'; @override String channelPath_primaryPath(int index) { - return 'Път $index (Основен)'; + return 'Път $index (Основен)'; } @override - String get channelPath_pathLabelTitle => 'Пътекино'; + String get channelPath_pathLabelTitle => 'Пътекино'; @override - String get channelPath_observedPathHeader => 'Наблюдаван път'; + String get channelPath_observedPathHeader => 'Наблюдаван път'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Няма налични детайли за този пакет.'; + 'Няма налични детайли за този пакет.'; @override - String get channelPath_unknownRepeater => 'Неизвестен повторител'; + String get channelPath_unknownRepeater => + 'Неизвестен повторител'; @override - String get community_title => 'Общност'; + String get community_title => 'Общност'; @override - String get community_create => 'Създай общност'; + String get community_create => 'Създай общност'; @override String get community_createDesc => - 'Създайте нова общност и я споделете чрез QR код.'; + 'Създайте нова общност и я споделете чрез QR код.'; @override - String get community_join => 'Присъедини се'; + String get community_join => 'Присъедини се'; @override - String get community_joinTitle => 'Присъедини се към общността'; + String get community_joinTitle => + 'Присъедини се към общността'; @override String community_joinConfirmation(String name) { - return 'Искате ли да се присъедините към общността \"$name\"?'; + return 'Искате ли да се присъедините към общността \"$name\"?'; } @override - String get community_scanQr => 'Сканирайте QR кода на общността'; + String get community_scanQr => + 'Сканирайте QR кода на общността'; @override String get community_scanInstructions => - 'Насочете камерата към QR код на общността'; + 'Насочете камерата към QR код на общността'; @override - String get community_showQr => 'Покажи QR код'; + String get community_showQr => 'Покажи QR код'; @override - String get community_publicChannel => 'Обществено общност'; + String get community_publicChannel => 'Обществено общност'; @override - String get community_hashtagChannel => 'Хаштаг на общността'; + String get community_hashtagChannel => 'Хаштаг на общността'; @override - String get community_name => 'Име на общността'; + String get community_name => 'Име на общността'; @override - String get community_enterName => 'Въведете име на общността'; + String get community_enterName => + 'Въведете име на общността'; @override String community_created(String name) { - return 'Общността \"$name\" е създадена'; + return 'Общността \"$name\" е създадена'; } @override String community_joined(String name) { - return 'Присъединено общност \"$name\"'; + return 'Присъединено общност \"$name\"'; } @override - String get community_qrTitle => 'Споделяне в общността'; + String get community_qrTitle => 'Споделяне в общността'; @override String community_qrInstructions(String name) { - return 'Сканирайте този QR код, за да се присъедините към $name.'; + return 'Сканирайте този QR код, за да се присъедините към $name.'; } @override String get community_hashtagPrivacyHint => - 'Хаштаг каналите на общността са достъпни само за членове на общността'; + 'Хаштаг каналите на общността са достъпни само за членове на общността'; @override - String get community_invalidQrCode => 'Невалиден QR код на общността'; + String get community_invalidQrCode => + 'Невалиден QR код на общността'; @override - String get community_alreadyMember => 'Вече съм член'; + String get community_alreadyMember => 'Вече съм член'; @override String community_alreadyMemberMessage(String name) { - return 'Вие вече сте член на \"$name\".'; + return 'Вие вече сте член на \"$name\".'; } @override - String get community_addPublicChannel => 'Добави публичен общностен канал'; + String get community_addPublicChannel => + 'Добави публичен общностен канал'; @override String get community_addPublicChannelHint => - 'Автоматично добавете публичния канал за тази общност.'; + 'Автоматично добавете публичния канал за тази общност.'; @override - String get community_noCommunities => 'Няма присъединени общности още.'; + String get community_noCommunities => + 'Няма присъединени общности още.'; @override String get community_scanOrCreate => - 'Сканирайте QR код или създайте общност, за да започнете.'; + 'Сканирайте QR код или създайте общност, за да започнете.'; @override - String get community_manageCommunities => 'Управление на общности'; + String get community_manageCommunities => + 'Управление на общности'; @override - String get community_delete => 'Напусни общността'; + String get community_delete => 'Напусни общността'; @override String community_deleteConfirm(String name) { - return 'Напускате \"$name\"?'; + return 'Напускате \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Това ще изтрие също $count канал(а) и техните съобщения.'; + return 'Това ще изтрие също $count канал(а) и техните съобщения.'; } @override String community_deleted(String name) { - return 'Остави общността \"$name\"'; + return 'Остави общността \"$name\"'; } @override - String get community_regenerateSecret => 'Регенерейрай секрет'; + String get community_regenerateSecret => + 'Регенерейрай секрет'; @override String community_regenerateSecretConfirm(String name) { - return 'Регенерация на секретния ключ за \"$name\"? Всички членове ще трябва да сканират новия QR код, за да продължат комуникацията.'; + return 'Регенерация на секретния ключ за \"$name\"? Всички членове ще трябва да сканират новия QR код, за да продължат комуникацията.'; } @override - String get community_regenerate => 'Регенерация'; + String get community_regenerate => 'Регенерация'; @override String community_secretRegenerated(String name) { - return 'Секретно презареждане за \"$name\"'; + return 'Секретно презареждане за \"$name\"'; } @override - String get community_updateSecret => 'Актуализирай тайна'; + String get community_updateSecret => 'Актуализирай тайна'; @override String community_secretUpdated(String name) { - return 'Секретно обновено за \"$name\"'; + return 'Секретно обновено за \"$name\"'; } @override String community_scanToUpdateSecret(String name) { - return 'Сканьорвайте новия QR код, за да актуализирате секрета за \"$name\"'; + return 'Сканьорвайте новия QR код, за да актуализирате секрета за \"$name\"'; } @override - String get community_addHashtagChannel => 'Добави общностен хаштаг'; + String get community_addHashtagChannel => + 'Добави общностен хаштаг'; @override String get community_addHashtagChannelDesc => - 'Добавете хаштаг канал за тази общност'; + 'Добавете хаштаг канал за тази общност'; @override - String get community_selectCommunity => 'Изберете общност'; + String get community_selectCommunity => 'Изберете общност'; @override - String get community_regularHashtag => 'Обикновен хаштаг'; + String get community_regularHashtag => 'Обикновен хаштаг'; @override String get community_regularHashtagDesc => - 'Общ хаштаг (всеки може да се присъедини)'; + 'Общ хаштаг (всеки може да се присъедини)'; @override - String get community_communityHashtag => 'Общностен хаштаг'; + String get community_communityHashtag => 'Общностен хаштаг'; @override - String get community_communityHashtagDesc => 'Само за членове на общността'; + String get community_communityHashtagDesc => + 'Само за членове на общността'; @override String community_forCommunity(String name) { - return 'За $name'; + return 'За $name'; } @override - String get listFilter_tooltip => 'Филтрирайте и сортирайте'; + String get listFilter_tooltip => + 'Филтрирайте и сортирайте'; @override - String get listFilter_sortBy => 'Сортирай по'; + String get listFilter_sortBy => 'Сортирай по'; @override - String get listFilter_latestMessages => 'Последни съобщения'; + String get listFilter_latestMessages => 'Последни съобщения'; @override - String get listFilter_heardRecently => 'Слушано е наскоро'; + String get listFilter_heardRecently => 'Слушано е наскоро'; @override String get listFilter_az => 'A-Z'; @override - String get listFilter_filters => 'Филтри'; + String get listFilter_filters => 'Филтри'; @override - String get listFilter_all => 'Всички'; + String get listFilter_all => 'Всички'; @override - String get listFilter_favorites => 'Любими'; + String get listFilter_favorites => 'Любими'; @override - String get listFilter_addToFavorites => 'Добави към любими'; + String get listFilter_addToFavorites => 'Добави към любими'; @override - String get listFilter_removeFromFavorites => 'Премахване от списъка с любими'; + String get listFilter_removeFromFavorites => + 'Премахване от списъка с любими'; @override - String get listFilter_users => 'Потребители'; + String get listFilter_users => 'Потребители'; @override - String get listFilter_repeaters => 'Повторители'; + String get listFilter_repeaters => 'Повторители'; @override - String get listFilter_roomServers => 'Сървъри на стая'; + String get listFilter_roomServers => 'Сървъри на стая'; @override - String get listFilter_unreadOnly => 'Само непрочетените'; + String get listFilter_unreadOnly => 'Само непрочетените'; @override - String get listFilter_newGroup => 'Нова група'; + String get listFilter_newGroup => 'Нова група'; @override - String get pathTrace_you => 'Вие'; + String get pathTrace_you => 'Вие'; @override - String get pathTrace_failed => 'Пътят за проследяване не успя.'; + String get pathTrace_failed => + 'Пътят за проследяване не успя.'; @override - String get pathTrace_notAvailable => 'Пътека за проследяване не е достъпна.'; + String get pathTrace_notAvailable => + 'Пътека за проследяване не е достъпна.'; @override - String get pathTrace_refreshTooltip => 'Обнови Path Trace.'; + String get pathTrace_refreshTooltip => 'Обнови Path Trace.'; @override String get pathTrace_someHopsNoLocation => - 'Един или повече от хмелите липсва местоположение!'; + 'Един или повече от хмелите липсва местоположение!'; @override - String get pathTrace_clearTooltip => 'Изчисти пътя'; + String get pathTrace_clearTooltip => 'Изчисти пътя'; @override - String get losSelectStartEnd => 'Изберете начални и крайни възли за LOS.'; + String get losSelectStartEnd => + 'Изберете начални и крайни възли за LOS.'; @override String losRunFailed(String error) { - return 'Проверката на пряката видимост е неуспешна: $error'; + return 'Проверката на пряката видимост е неуспешна: $error'; } @override - String get losClearAllPoints => 'Изчистете всички точки'; + String get losClearAllPoints => 'Изчистете всички точки'; @override String get losRunToViewElevationProfile => - 'Стартирайте LOS, за да видите профила на надморската височина'; + 'Стартирайте LOS, за да видите профила на надморската височина'; @override - String get losMenuTitle => 'LOS меню'; + String get losMenuTitle => 'LOS меню'; @override String get losMenuSubtitle => - 'Докоснете възли или натиснете продължително карта за персонализирани точки'; + 'Докоснете възли или натиснете продължително карта за персонализирани точки'; @override - String get losShowDisplayNodes => 'Показване на възли на дисплея'; + String get losShowDisplayNodes => + 'Показване на възли на дисплея'; @override - String get losCustomPoints => 'Персонализирани точки'; + String get losCustomPoints => 'Персонализирани точки'; @override String losCustomPointLabel(int index) { - return 'Персонализирано $index'; + return 'Персонализирано $index'; } @override - String get losPointA => 'Точка А'; + String get losPointA => 'Точка А'; @override - String get losPointB => 'Точка Б'; + String get losPointB => 'Точка Б'; @override String losAntennaA(String value, String unit) { - return 'Антена A: $value $unit'; + return 'Антена A: $value $unit'; } @override String losAntennaB(String value, String unit) { - return 'Антена B: $value $unit'; + return 'Антена B: $value $unit'; } @override - String get losRun => 'Стартирайте LOS'; + String get losRun => 'Стартирайте LOS'; @override - String get losNoElevationData => 'Няма данни за надморска височина'; + String get losNoElevationData => + 'Няма данни за надморска височина'; @override String losProfileClear( @@ -2899,7 +3063,7 @@ class AppLocalizationsBg extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, чист LOS, минимално разстояние $clearance $heightUnit'; + return '$distance $distanceUnit, чист LOS, минимално разстояние $clearance $heightUnit'; } @override @@ -2909,61 +3073,64 @@ class AppLocalizationsBg extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit, блокиран от $obstruction $heightUnit'; + return '$distance $distanceUnit, блокиран от $obstruction $heightUnit'; } @override - String get losStatusChecking => 'LOS: проверка...'; + String get losStatusChecking => 'LOS: проверка...'; @override - String get losStatusNoData => 'LOS: няма данни'; + String get losStatusNoData => 'LOS: няма данни'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS: $clear/$total ясно, $blocked блокирано, $unknown неизвестно'; + return 'LOS: $clear/$total ясно, $blocked блокирано, $unknown неизвестно'; } @override String get losErrorElevationUnavailable => - 'Няма налични данни за надморска височина за една или повече проби.'; + 'Няма налични данни за надморска височина за една или повече проби.'; @override String get losErrorInvalidInput => - 'Невалидни данни за точки/надморска височина за изчисляване на LOS.'; + 'Невалидни данни за точки/надморска височина за изчисляване на LOS.'; @override - String get losRenameCustomPoint => 'Преименувайте персонализирана точка'; + String get losRenameCustomPoint => + 'Преименувайте персонализирана точка'; @override - String get losPointName => 'Име на точката'; + String get losPointName => 'Име на точката'; @override - String get losShowPanelTooltip => 'Показване на LOS панел'; + String get losShowPanelTooltip => 'Показване на LOS панел'; @override - String get losHidePanelTooltip => 'Скриване на LOS панела'; + String get losHidePanelTooltip => 'Скриване на LOS панела'; @override String get losElevationAttribution => - 'Данни за надморска височина: Open-Meteo (CC BY 4.0)'; + 'Данни за надморска височина: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Радиохоризонт'; + String get losLegendRadioHorizon => 'Радиохоризонт'; @override - String get losLegendLosBeam => 'Линия на видимост'; + String get losLegendLosBeam => 'Линия на видимост'; @override - String get losLegendTerrain => 'Терен'; + String get losLegendTerrain => 'Терен'; @override - String get losFrequencyLabel => 'Честота'; + String get losFrequencyLabel => 'Честота'; @override - String get losFrequencyInfoTooltip => 'Преглед на детайли за изчислението'; + String get losFrequencyInfoTooltip => + 'Преглед на детайли за изчислението'; @override - String get losFrequencyDialogTitle => 'Изчисляване на радиохоризонта'; + String get losFrequencyDialogTitle => + 'Изчисляване на радиохоризонта'; @override String losFrequencyDialogDescription( @@ -2972,91 +3139,101 @@ class AppLocalizationsBg extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Започвайки от k=$baselineK при $baselineFreq MHz, изчислението коригира k-фактора за текущата $frequencyMHz MHz лента, която определя границата на извития радиохоризонт.'; + return 'Започвайки от k=$baselineK при $baselineFreq MHz, изчислението коригира k-фактора за текущата $frequencyMHz MHz лента, която определя границата на извития радиохоризонт.'; } @override - String get contacts_pathTrace => 'Пътен проследяване'; + String get contacts_pathTrace => 'Пътен проследяване'; @override - String get contacts_ping => 'Пинг'; + String get contacts_ping => 'Пинг'; @override - String get contacts_repeaterPathTrace => 'Трасировка до повторител'; + String get contacts_repeaterPathTrace => + 'Трасировка до повторител'; @override - String get contacts_repeaterPing => 'Пингване на повторителя'; + String get contacts_repeaterPing => + 'Пингване на повторителя'; @override - String get contacts_roomPathTrace => 'Трасиране на път до съ'; + String get contacts_roomPathTrace => + 'Трасиране на път до съ'; @override - String get contacts_roomPing => 'Ping на сървъра на стаята'; + String get contacts_roomPing => 'Ping на сървъра на стаята'; @override - String get contacts_chatTraceRoute => 'Трасиране на път'; + String get contacts_chatTraceRoute => 'Трасиране на път'; @override String contacts_pathTraceTo(String name) { - return 'Проследи маршрут към $name'; + return 'Проследи маршрут към $name'; } @override - String get contacts_clipboardEmpty => 'Клипборда е празна.'; + String get contacts_clipboardEmpty => 'Клипборда е празна.'; @override - String get contacts_invalidAdvertFormat => 'Невалидни данни за контакт'; + String get contacts_invalidAdvertFormat => + 'Невалидни данни за контакт'; @override - String get contacts_contactImported => 'Контактът е импортиран.'; + String get contacts_contactImported => + 'Контактът е импортиран.'; @override String get contacts_contactImportFailed => - 'Контактът не е успешно импортиран.'; + 'Контактът не е успешно импортиран.'; @override - String get contacts_zeroHopAdvert => 'Реклама без скок'; + String get contacts_zeroHopAdvert => 'Реклама без скок'; @override - String get contacts_floodAdvert => 'Потопна реклама'; + String get contacts_floodAdvert => 'Потопна реклама'; @override - String get contacts_copyAdvertToClipboard => 'Копирай обявата в клипборда'; + String get contacts_copyAdvertToClipboard => + 'Копирай обявата в клипборда'; @override - String get contacts_addContactFromClipboard => 'Добави контакт от клипборда'; + String get contacts_addContactFromClipboard => + 'Добави контакт от клипборда'; @override - String get contacts_ShareContact => 'Копирай контакт в клипборда'; + String get contacts_ShareContact => + 'Копирай контакт в клипборда'; @override - String get contacts_ShareContactZeroHop => 'Сподели контакт чрез обява'; + String get contacts_ShareContactZeroHop => + 'Сподели контакт чрез обява'; @override - String get contacts_zeroHopContactAdvertSent => 'Изпратен контакт по обява.'; + String get contacts_zeroHopContactAdvertSent => + 'Изпратен контакт по обява.'; @override String get contacts_zeroHopContactAdvertFailed => - 'Неуспешно изпращане на контакт.'; + 'Неуспешно изпращане на контакт.'; @override String get contacts_contactAdvertCopied => - 'Рекламата е копирана в клипборда.'; + 'Рекламата е копирана в клипборда.'; @override String get contacts_contactAdvertCopyFailed => - 'Копирането на обявата в клипборда не успя.'; + 'Копирането на обявата в клипборда не успя.'; @override - String get notification_activityTitle => 'Активност на MeshCore'; + String get notification_activityTitle => 'Активност на MeshCore'; @override String notification_messagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'съобщения', - one: 'съобщение', + other: 'съобщения', + one: 'съобщение', ); return '$count $_temp0'; } @@ -3066,8 +3243,8 @@ class AppLocalizationsBg extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'съобщения в канали', - one: 'съобщение в канал', + other: 'съобщения в канали', + one: 'съобщение в канал', ); return '$count $_temp0'; } @@ -3077,77 +3254,85 @@ class AppLocalizationsBg extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'нови възли', - one: 'нов възел', + other: 'нови възли', + one: 'нов възел', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { - return 'Открит нов $contactType'; + return 'Открит нов $contactType'; } @override - String get notification_receivedNewMessage => 'Получено ново съобщение'; + String get notification_receivedNewMessage => + 'Получено ново съобщение'; @override String get settings_gpxExportRepeaters => - 'Експортиране на повтарящи се устройства / сървър на стаята до GPX'; + 'Експортиране на повтарящи се устройства / сървър на стаята до GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Изпраща повторители / roomserver с местоположение в GPX файл.'; + 'Изпраща повторители / roomserver с местоположение в GPX файл.'; @override - String get settings_gpxExportContacts => 'Експортирай спътници към GPX'; + String get settings_gpxExportContacts => + 'Експортирай спътници към GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Експортира спътници с местоположение в GPX файл.'; + 'Експортира спътници с местоположение в GPX файл.'; @override - String get settings_gpxExportAll => 'Експортирай всички контакти в GPX'; + String get settings_gpxExportAll => + 'Експортирай всички контакти в GPX'; @override String get settings_gpxExportAllSubtitle => - 'Експортира всички контакти с местоположение в файл GPX.'; + 'Експортира всички контакти с местоположение в файл GPX.'; @override - String get settings_gpxExportSuccess => 'Успешно изlexport на файл GPX.'; + String get settings_gpxExportSuccess => + 'Успешно изlexport на файл GPX.'; @override - String get settings_gpxExportNoContacts => 'Няма контакти за изlexport.'; + String get settings_gpxExportNoContacts => + 'Няма контакти за изlexport.'; @override String get settings_gpxExportNotAvailable => - 'Не е поддържан на вашето устройство/ОС'; + 'Не е поддържан на вашето устройство/ОС'; @override - String get settings_gpxExportError => 'Възникна грешка при изнасяне.'; + String get settings_gpxExportError => + 'Възникна грешка при изнасяне.'; @override String get settings_gpxExportRepeatersRoom => - 'Местоположения на повторител и сървър на стаята'; + 'Местоположения на повторител и сървър на стаята'; @override - String get settings_gpxExportChat => 'Местоположения на спътници'; + String get settings_gpxExportChat => + 'Местоположения на спътници'; @override String get settings_gpxExportAllContacts => - 'Местоположения на всички контакти'; + 'Местоположения на всички контакти'; @override String get settings_gpxExportShareText => - 'Картинни данни изнесени от meshcore-open'; + 'Картинни данни изнесени от meshcore-open'; @override String get settings_gpxExportShareSubject => - 'meshcore-open износ на данни за карта в формат GPX'; + 'meshcore-open износ на данни за карта в формат GPX'; @override - String get snrIndicator_nearByRepeaters => 'Близки повтарящи се устройства'; + String get snrIndicator_nearByRepeaters => + 'Близки повтарящи се устройства'; @override - String get snrIndicator_lastSeen => 'Последно видян'; + String get snrIndicator_lastSeen => 'Последно видян'; } diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index a3ab54d..373467a 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -15,7 +15,7 @@ class AppLocalizationsDe extends AppLocalizations { String get nav_contacts => 'Kontakte'; @override - String get nav_channels => 'Kanäle'; + String get nav_channels => 'Kanäle'; @override String get nav_map => 'Karte'; @@ -30,22 +30,22 @@ class AppLocalizationsDe extends AppLocalizations { String get common_connect => 'Verbinden'; @override - String get common_unknownDevice => 'Unbekanntes Gerät'; + String get common_unknownDevice => 'Unbekanntes Gerät'; @override String get common_save => 'Speichern'; @override - String get common_delete => 'Löschen'; + String get common_delete => 'Löschen'; @override - String get common_close => 'Schließen'; + String get common_close => 'Schließen'; @override String get common_edit => 'Bearbeiten'; @override - String get common_add => 'Hinzufügen'; + String get common_add => 'Hinzufügen'; @override String get common_settings => 'Einstellungen'; @@ -78,7 +78,7 @@ class AppLocalizationsDe extends AppLocalizations { String get common_hide => 'Ausblenden'; @override - String get common_remove => 'Löschen'; + String get common_remove => 'Löschen'; @override String get common_enable => 'Aktivieren'; @@ -93,7 +93,7 @@ class AppLocalizationsDe extends AppLocalizations { String get common_loading => 'Laden...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,14 +108,6 @@ class AppLocalizationsDe extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => - 'Wählen Sie Ihre bevorzugte Verbindungsmethode.'; - - @override - String get connectionChoiceSubtitle => - 'Wählen Sie, wie Sie Ihr MeshCore-Gerät erreichen möchten.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -123,25 +115,25 @@ class AppLocalizationsDe extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Über USB verbinden'; + String get usbScreenTitle => 'Über USB verbinden'; @override String get usbScreenSubtitle => - 'Wählen Sie ein erkannten serielles Gerät aus und verbinden Sie es direkt mit Ihrem MeshCore-Knoten.'; + 'Wählen Sie ein erkannten serielles Gerät aus und verbinden Sie es direkt mit Ihrem MeshCore-Knoten.'; @override - String get usbScreenStatus => 'Wählen Sie ein USB-Gerät aus'; + String get usbScreenStatus => 'Wählen Sie ein USB-Gerät aus'; @override String get usbScreenNote => - 'USB-Serielle Schnittstelle ist auf unterstützten Android-Geräten und Desktop-Plattformen aktiv.'; + 'USB-Serielle Schnittstelle ist auf unterstützten Android-Geräten und Desktop-Plattformen aktiv.'; @override String get usbScreenEmptyState => - 'Keine USB-Geräte gefunden. Schließen Sie eines an und aktualisieren Sie.'; + 'Keine USB-Geräte gefunden. Schließen Sie eines an und aktualisieren Sie.'; @override - String get scanner_scanning => 'Scannen nach Geräten...'; + String get scanner_scanning => 'Scannen nach Geräten...'; @override String get scanner_connecting => 'Verbunden...'; @@ -158,11 +150,11 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get scanner_searchingDevices => 'Suche nach MeshCore-Geräten...'; + String get scanner_searchingDevices => 'Suche nach MeshCore-Geräten...'; @override String get scanner_tapToScan => - 'Tippen Sie auf Scan, um MeshCore-Geräte zu finden.'; + 'Tippen Sie auf Scan, um MeshCore-Geräte zu finden.'; @override String scanner_connectionFailed(String error) { @@ -180,14 +172,14 @@ class AppLocalizationsDe extends AppLocalizations { @override String get scanner_bluetoothOffMessage => - 'Bitte aktivieren Sie Bluetooth, um nach Geräten zu suchen.'; + 'Bitte aktivieren Sie Bluetooth, um nach Geräten zu suchen.'; @override String get scanner_chromeRequired => 'Chrome Browser erforderlich'; @override String get scanner_chromeRequiredMessage => - 'Diese Webanwendung erfordert Google Chrome oder einen Chromium-basierten Browser für die Bluetooth-Unterstützung.'; + 'Diese Webanwendung erfordert Google Chrome oder einen Chromium-basierten Browser für die Bluetooth-Unterstützung.'; @override String get scanner_enableBluetooth => 'Bluetooth aktivieren'; @@ -202,7 +194,7 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_title => 'Einstellungen'; @override - String get settings_deviceInfo => 'Geräteinformationen'; + String get settings_deviceInfo => 'Geräteinformationen'; @override String get settings_appSettings => 'App-Einstellungen'; @@ -247,10 +239,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settings_locationBothRequired => - 'Bitte geben Sie sowohl Breite als auch Längengrad ein.'; + 'Bitte geben Sie sowohl Breite als auch Längengrad ein.'; @override - String get settings_locationInvalid => 'Ungültige Breiten- oder Längengrade.'; + String get settings_locationInvalid => + 'Ungültige Breiten- oder Längengrade.'; @override String get settings_locationGPSEnable => 'GPS aktivieren'; @@ -260,7 +253,7 @@ class AppLocalizationsDe extends AppLocalizations { 'Aktiviert GPS zur automatischen Aktualisierung des Standorts.'; @override - String get settings_locationIntervalSec => 'Intervall für GPS (Sekunden)'; + String get settings_locationIntervalSec => 'Intervall für GPS (Sekunden)'; @override String get settings_locationIntervalInvalid => @@ -270,18 +263,18 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_latitude => 'Breitengrad'; @override - String get settings_longitude => 'Längengrad'; + String get settings_longitude => 'Längengrad'; @override - String get settings_privacyMode => 'Privatsphäreeinstellung'; + String get settings_privacyMode => 'Privatsphäreeinstellung'; @override String get settings_privacyModeSubtitle => - 'Verstecken Sie Name/Ort in Ankündigungen'; + 'Verstecken Sie Name/Ort in Ankündigungen'; @override String get settings_privacyModeToggle => - 'Aktivieren Sie die Privatsphäreeinstellung, um Ihren Namen und Ihre Standortdaten in Ankündigungen zu verbergen.'; + 'Aktivieren Sie die Privatsphäreeinstellung, um Ihren Namen und Ihre Standortdaten in Ankündigungen zu verbergen.'; @override String get settings_privacyModeEnabled => 'Datenschutzmodus aktiviert'; @@ -293,20 +286,20 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_actions => 'Aktionen'; @override - String get settings_sendAdvertisement => 'Sende Ankündigung'; + String get settings_sendAdvertisement => 'Sende Ankündigung'; @override - String get settings_sendAdvertisementSubtitle => 'Sende eine Ankündigung'; + String get settings_sendAdvertisementSubtitle => 'Sende eine Ankündigung'; @override - String get settings_advertisementSent => 'Ankündigung gesendet'; + String get settings_advertisementSent => 'Ankündigung gesendet'; @override String get settings_syncTime => 'Zeitsynchronisierung'; @override String get settings_syncTimeSubtitle => - 'Stelle die Gerätezeit auf die Uhrzeit des Telefons ein'; + 'Stelle die Gerätezeit auf die Uhrzeit des Telefons ein'; @override String get settings_timeSynchronized => 'Zeit synchronisiert'; @@ -316,17 +309,17 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settings_refreshContactsSubtitle => - 'Kontakt-Liste vom Gerät neu laden'; + 'Kontakt-Liste vom Gerät neu laden'; @override - String get settings_rebootDevice => 'Gerät neu starten'; + String get settings_rebootDevice => 'Gerät neu starten'; @override - String get settings_rebootDeviceSubtitle => 'MeshCore-Gerät neu starten'; + String get settings_rebootDeviceSubtitle => 'MeshCore-Gerät neu starten'; @override String get settings_rebootDeviceConfirm => - 'Sind Sie sicher, dass Sie das Gerät neu starten möchten? Sie werden getrennt.'; + 'Sind Sie sicher, dass Sie das Gerät neu starten möchten? Sie werden getrennt.'; @override String get settings_debug => 'Fehlerbehebung'; @@ -345,7 +338,7 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_appDebugLogSubtitle => 'Anwendung Debug-Nachrichten'; @override - String get settings_about => 'Über'; + String get settings_about => 'Über'; @override String settings_aboutVersion(String version) { @@ -357,11 +350,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settings_aboutDescription => - 'Ein Open-Source-Flutter-Client für MeshCore LoRa-Meshnetzwerkgeräte.'; + 'Ein Open-Source-Flutter-Client für MeshCore LoRa-Meshnetzwerkgeräte.'; @override String get settings_aboutOpenMeteoAttribution => - 'LOS-Höhendaten: Open-Meteo (CC BY 4.0)'; + 'LOS-Höhendaten: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Name'; @@ -376,13 +369,13 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_infoBattery => 'Akku'; @override - String get settings_infoPublicKey => 'Öffentlicher Schlüssel'; + String get settings_infoPublicKey => 'Öffentlicher Schlüssel'; @override String get settings_infoContactsCount => 'Anzahl Kontakte'; @override - String get settings_infoChannelCount => 'Anzahl Kanäle'; + String get settings_infoChannelCount => 'Anzahl Kanäle'; @override String get settings_presets => 'Voreinstellungen'; @@ -394,7 +387,7 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_frequencyHelper => '300,00 - 2.500,00'; @override - String get settings_frequencyInvalid => 'Ungültige Frequenz (300-2500 MHz)'; + String get settings_frequencyInvalid => 'Ungültige Frequenz (300-2500 MHz)'; @override String get settings_bandwidth => 'Bandbreite'; @@ -412,14 +405,14 @@ class AppLocalizationsDe extends AppLocalizations { String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Ungültige TX-Leistung (0-22 dBm)'; + String get settings_txPowerInvalid => 'Ungültige TX-Leistung (0-22 dBm)'; @override String get settings_clientRepeat => 'Wiederholung, ohne Stromanschluss'; @override String get settings_clientRepeatSubtitle => - 'Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen.'; + 'Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen.'; @override String get settings_clientRepeatFreqWarning => @@ -458,10 +451,10 @@ class AppLocalizationsDe extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -470,16 +463,16 @@ class AppLocalizationsDe extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -488,10 +481,10 @@ class AppLocalizationsDe extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russisch'; @@ -505,7 +498,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get appSettings_enableMessageTracingSubtitle => - 'Detaillierte Routing- und Timing-Metadaten für Nachrichten anzeigen'; + 'Detaillierte Routing- und Timing-Metadaten für Nachrichten anzeigen'; @override String get appSettings_notifications => 'Benachrichtigungen'; @@ -515,7 +508,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get appSettings_enableNotificationsSubtitle => - 'Erhalte Benachrichtigungen für Nachrichten und Ankündigungen'; + 'Erhalte Benachrichtigungen für Nachrichten und Ankündigungen'; @override String get appSettings_notificationPermissionDenied => @@ -546,7 +539,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get appSettings_advertisementNotifications => - 'Ankündigungsbenachrichtigungen'; + 'Ankündigungsbenachrichtigungen'; @override String get appSettings_advertisementNotificationsSubtitle => @@ -557,19 +550,19 @@ class AppLocalizationsDe extends AppLocalizations { @override String get appSettings_clearPathOnMaxRetry => - 'Lösche Pfade bei Max Wiederholungsversuchen'; + 'Lösche Pfade bei Max Wiederholungsversuchen'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Zurücksetzen der Kontaktpfade nach 5 fehlgeschlagenen Sendeabbrüchen'; + 'Zurücksetzen der Kontaktpfade nach 5 fehlgeschlagenen Sendeabbrüchen'; @override String get appSettings_pathsWillBeCleared => - 'Die Pfade werden nach 5 fehlgeschlagenen Versuchen gelöscht.'; + 'Die Pfade werden nach 5 fehlgeschlagenen Versuchen gelöscht.'; @override String get appSettings_pathsWillNotBeCleared => - 'Die Pfade werden nicht automatisch gelöscht.'; + 'Die Pfade werden nicht automatisch gelöscht.'; @override String get appSettings_autoRouteRotation => 'Automatische Routenrotation'; @@ -594,21 +587,21 @@ class AppLocalizationsDe extends AppLocalizations { @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Konfiguriert pro Gerät ($deviceName)'; + return 'Konfiguriert pro Gerät ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Verbinde ein Gerät, um zu wählen'; + 'Verbinde ein Gerät, um zu wählen'; @override - String get appSettings_batteryNmc => '18650 NMC (3,0–4,2 V)'; + String get appSettings_batteryNmc => '18650 NMC (3,0–4,2 V)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65 V)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65 V)'; @override - String get appSettings_batteryLipo => 'LiPo (3,0–4,2V)'; + String get appSettings_batteryLipo => 'LiPo (3,0–4,2V)'; @override String get appSettings_mapDisplay => 'Kartendarstellung'; @@ -680,11 +673,11 @@ class AppLocalizationsDe extends AppLocalizations { String get appSettings_unitsImperial => 'Imperial (ft/mi)'; @override - String get appSettings_noAreaSelected => 'Kein Bereich ausgewählt'; + String get appSettings_noAreaSelected => 'Kein Bereich ausgewählt'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Ausgewählte Fläche (Zoom $minZoom-$maxZoom)'; + return 'Ausgewählte Fläche (Zoom $minZoom-$maxZoom)'; } @override @@ -713,7 +706,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get contacts_contactsWillAppear => - 'Kontakte werden angezeigt, wenn Geräte eine Ankündigung machen.'; + 'Kontakte werden angezeigt, wenn Geräte eine Ankündigung machen.'; @override String get contacts_unread => 'Ungelesen'; @@ -754,7 +747,7 @@ class AppLocalizationsDe extends AppLocalizations { 'Keine Kontakte oder Gruppen gefunden.'; @override - String get contacts_deleteContact => 'Lösche den Kontakt'; + String get contacts_deleteContact => 'Lösche den Kontakt'; @override String contacts_removeConfirm(String contactName) { @@ -771,17 +764,17 @@ class AppLocalizationsDe extends AppLocalizations { String get contacts_roomLogin => 'Raum-Login'; @override - String get contacts_openChat => 'Öffne Chat'; + String get contacts_openChat => 'Öffne Chat'; @override String get contacts_editGroup => 'Gruppe bearbeiten'; @override - String get contacts_deleteGroup => 'Löschen Gruppe'; + String get contacts_deleteGroup => 'Löschen Gruppe'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Löschen von \"$groupName\"?'; + return 'Löschen von \"$groupName\"?'; } @override @@ -833,19 +826,19 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get channels_title => 'Kanäle'; + String get channels_title => 'Kanäle'; @override - String get channels_noChannelsConfigured => 'Keine Kanäle konfiguriert'; + String get channels_noChannelsConfigured => 'Keine Kanäle konfiguriert'; @override - String get channels_addPublicChannel => 'Öffentlichen Kanal hinzufügen'; + String get channels_addPublicChannel => 'Öffentlichen Kanal hinzufügen'; @override - String get channels_searchChannels => 'Suche Kanäle...'; + String get channels_searchChannels => 'Suche Kanäle...'; @override - String get channels_noChannelsFound => 'Keine Kanäle gefunden'; + String get channels_noChannelsFound => 'Keine Kanäle gefunden'; @override String channels_channelIndex(int index) { @@ -856,13 +849,13 @@ class AppLocalizationsDe extends AppLocalizations { String get channels_hashtagChannel => 'Hashtag-Kanal'; @override - String get channels_public => 'Öffentlich'; + String get channels_public => 'Öffentlich'; @override String get channels_private => 'Privat'; @override - String get channels_publicChannel => 'Öffentlicher Kanal'; + String get channels_publicChannel => 'Öffentlicher Kanal'; @override String get channels_privateChannel => 'Privater Kanal'; @@ -877,25 +870,25 @@ class AppLocalizationsDe extends AppLocalizations { String get channels_unmuteChannel => 'Kanal Stummschaltung aufheben'; @override - String get channels_deleteChannel => 'Lösche den Kanal'; + String get channels_deleteChannel => 'Lösche den Kanal'; @override String channels_deleteChannelConfirm(String name) { - return 'Löschen von \"$name\"? Dies kann nicht rückgängig gemacht werden.'; + return 'Löschen von \"$name\"? Dies kann nicht rückgängig gemacht werden.'; } @override String channels_channelDeleteFailed(String name) { - return 'Kanal $name konnte nicht gelöscht werden'; + return 'Kanal $name konnte nicht gelöscht werden'; } @override String channels_channelDeleted(String name) { - return 'Kanal \"$name\" gelöscht'; + return 'Kanal \"$name\" gelöscht'; } @override - String get channels_addChannel => 'Kanal hinzufügen'; + String get channels_addChannel => 'Kanal hinzufügen'; @override String get channels_channelIndexLabel => 'Kanalindex'; @@ -904,16 +897,16 @@ class AppLocalizationsDe extends AppLocalizations { String get channels_channelName => 'Kanalname'; @override - String get channels_usePublicChannel => 'Verwende öffentlichen Kanal'; + String get channels_usePublicChannel => 'Verwende öffentlichen Kanal'; @override - String get channels_standardPublicPsk => 'Öffentliche Standard PSK'; + String get channels_standardPublicPsk => 'Öffentliche Standard PSK'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Zufällige PSK generieren'; + String get channels_generateRandomPsk => 'Zufällige PSK generieren'; @override String get channels_enterChannelName => @@ -925,7 +918,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String channels_channelAdded(String name) { - return 'Kanal \"$name\" hinzugefügt'; + return 'Kanal \"$name\" hinzugefügt'; } @override @@ -942,7 +935,7 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get channels_publicChannelAdded => 'Öffentlicher Kanal hinzugefügt'; + String get channels_publicChannelAdded => 'Öffentlicher Kanal hinzugefügt'; @override String get channels_sortBy => 'Sortiere nach'; @@ -964,7 +957,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get channels_createPrivateChannelDesc => - 'Verschlüsselt mit einem geheimen Schlüssel.'; + 'Verschlüsselt mit einem geheimen Schlüssel.'; @override String get channels_joinPrivateChannel => @@ -972,10 +965,10 @@ class AppLocalizationsDe extends AppLocalizations { @override String get channels_joinPrivateChannelDesc => - 'Manuelle Eingabe eines geheimen Schlüssels.'; + 'Manuelle Eingabe eines geheimen Schlüssels.'; @override - String get channels_joinPublicChannel => 'Tritt dem öffentlichen Kanal bei'; + String get channels_joinPublicChannel => 'Tritt dem öffentlichen Kanal bei'; @override String get channels_joinPublicChannelDesc => @@ -987,13 +980,13 @@ class AppLocalizationsDe extends AppLocalizations { @override String get channels_joinHashtagChannelDesc => - 'Jeder kann sich bei Hashtag-Kanälen beteiligen.'; + 'Jeder kann sich bei Hashtag-Kanälen beteiligen.'; @override String get channels_scanQrCode => 'Scannen Sie einen QR-Code'; @override - String get channels_scanQrCodeComingSoon => 'Bald verfügbar'; + String get channels_scanQrCodeComingSoon => 'Bald verfügbar'; @override String get channels_enterHashtag => 'Gib Hashtag ein'; @@ -1040,7 +1033,7 @@ class AppLocalizationsDe extends AppLocalizations { String get chat_messageCopied => 'Nachricht kopiert'; @override - String get chat_messageDeleted => 'Nachricht gelöscht'; + String get chat_messageDeleted => 'Nachricht gelöscht'; @override String get chat_retryingMessage => 'Versuche es erneut.'; @@ -1057,7 +1050,7 @@ class AppLocalizationsDe extends AppLocalizations { String get chat_reply => 'Beantworten'; @override - String get chat_addReaction => 'Reaktion hinzufügen'; + String get chat_addReaction => 'Reaktion hinzufügen'; @override String get chat_me => 'Ich'; @@ -1075,7 +1068,7 @@ class AppLocalizationsDe extends AppLocalizations { String get emojiCategoryObjects => 'Objekte'; @override - String get gifPicker_title => 'Wähle ein GIF'; + String get gifPicker_title => 'Wähle ein GIF'; @override String get gifPicker_searchHint => 'Suche nach GIFs...'; @@ -1105,7 +1098,7 @@ class AppLocalizationsDe extends AppLocalizations { String get debugLog_copyLog => 'Kopieren des Protokolls'; @override - String get debugLog_clearLog => 'Protokoll löschen'; + String get debugLog_clearLog => 'Protokoll löschen'; @override String get debugLog_copied => 'Debug-Protokoll kopiert'; @@ -1114,7 +1107,7 @@ class AppLocalizationsDe extends AppLocalizations { String get debugLog_bleCopied => 'BLE-Protokoll kopiert'; @override - String get debugLog_noEntries => 'No Debug-Protokolle noch verfügbar'; + String get debugLog_noEntries => 'No Debug-Protokolle noch verfügbar'; @override String get debugLog_enableInSettings => @@ -1127,11 +1120,11 @@ class AppLocalizationsDe extends AppLocalizations { String get debugLog_rawLogRx => 'Roh-Log-RX'; @override - String get debugLog_noBleActivity => 'Bisher keine BLE-Aktivität'; + String get debugLog_noBleActivity => 'Bisher keine BLE-Aktivität'; @override String debugFrame_length(int count) { - return 'Rahmenlänge: $count Bytes'; + return 'Rahmenlänge: $count Bytes'; } @override @@ -1144,7 +1137,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String debugFrame_destinationPubKey(String pubKey) { - return '- Ziel-Public-Schlüssel: $pubKey'; + return '- Ziel-Public-Schlüssel: $pubKey'; } @override @@ -1198,20 +1191,20 @@ class AppLocalizationsDe extends AppLocalizations { @override String get chat_pathHistoryFull => - 'Die Pfadhistorie ist voll. Entferne Einträge, um neue hinzuzufügen.'; + 'Die Pfadhistorie ist voll. Entferne Einträge, um neue hinzuzufügen.'; @override String get chat_hopSingular => 'Sprung'; @override - String get chat_hopPlural => 'Sprünge'; + String get chat_hopPlural => 'Sprünge'; @override String chat_hopsCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'Sprünge', + other: 'Sprünge', one: 'Sprung', ); return '$count $_temp0'; @@ -1237,15 +1230,15 @@ class AppLocalizationsDe extends AppLocalizations { String get chat_setCustomPathSubtitle => 'Manuellen Routenpfad festlegen'; @override - String get chat_clearPath => 'Pfad zurücksetzen'; + String get chat_clearPath => 'Pfad zurücksetzen'; @override String get chat_clearPathSubtitle => - 'Setze Pfad zurück, erkenne neuen Pfad bei nächster Sendung.'; + 'Setze Pfad zurück, erkenne neuen Pfad bei nächster Sendung.'; @override String get chat_pathCleared => - 'Pfad zurückgesetzt. Nächste Nachricht wird Route neu entdecken.'; + 'Pfad zurückgesetzt. Nächste Nachricht wird Route neu entdecken.'; @override String get chat_floodModeSubtitle => @@ -1255,11 +1248,11 @@ class AppLocalizationsDe extends AppLocalizations { String get chat_floodModeEnabled => 'Flutmodus aktiviert.'; @override - String get chat_fullPath => 'Vollständiger Pfad'; + String get chat_fullPath => 'Vollständiger Pfad'; @override String get chat_pathDetailsNotAvailable => - 'Die Pfaddetails sind noch nicht verfügbar. Versuchen Sie, eine Nachricht zu senden, um zu aktualisieren.'; + 'Die Pfaddetails sind noch nicht verfügbar. Versuchen Sie, eine Nachricht zu senden, um zu aktualisieren.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1277,10 +1270,10 @@ class AppLocalizationsDe extends AppLocalizations { 'Lokal Gespeichert. Bitte Verbinden zum Synchronisieren.'; @override - String get chat_pathDeviceConfirmed => 'Gerät bestätigt.'; + String get chat_pathDeviceConfirmed => 'Gerät bestätigt.'; @override - String get chat_pathDeviceNotConfirmed => 'Gerät noch nicht bestätigt.'; + String get chat_pathDeviceNotConfirmed => 'Gerät noch nicht bestätigt.'; @override String get chat_type => 'Gebe ein'; @@ -1289,7 +1282,7 @@ class AppLocalizationsDe extends AppLocalizations { String get chat_path => 'Pfad'; @override - String get chat_publicKey => 'Öffentlicher Schlüssel'; + String get chat_publicKey => 'Öffentlicher Schlüssel'; @override String get chat_compressOutgoingMessages => @@ -1303,7 +1296,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String chat_hopsForced(int count) { - return '$count Sprünge (erzwungen)'; + return '$count Sprünge (erzwungen)'; } @override @@ -1321,22 +1314,22 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get chat_openLink => 'Link öffnen?'; + String get chat_openLink => 'Link öffnen?'; @override String get chat_openLinkConfirmation => - 'Möchten Sie diesen Link in Ihrem Browser öffnen?'; + 'Möchten Sie diesen Link in Ihrem Browser öffnen?'; @override - String get chat_open => 'Öffnen'; + String get chat_open => 'Öffnen'; @override String chat_couldNotOpenLink(String url) { - return 'Link konnte nicht geöffnet werden: $url'; + return 'Link konnte nicht geöffnet werden: $url'; } @override - String get chat_invalidLink => 'Ungültiges Link-Format'; + String get chat_invalidLink => 'Ungültiges Link-Format'; @override String get map_title => 'Karte'; @@ -1352,7 +1345,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get map_nodesNeedGps => - 'Knoten müssen ihre GPS-Koordinaten teilen,\num auf der Karte zu erscheinen.'; + 'Knoten müssen ihre GPS-Koordinaten teilen,\num auf der Karte zu erscheinen.'; @override String map_nodesCount(int count) { @@ -1390,7 +1383,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get map_disconnectConfirm => - 'Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?'; + 'Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?'; @override String get map_from => 'Von'; @@ -1420,19 +1413,19 @@ class AppLocalizationsDe extends AppLocalizations { String get map_sendToChannel => 'Senden an Kanal'; @override - String get map_noChannelsAvailable => 'Keine Kanäle verfügbar'; + String get map_noChannelsAvailable => 'Keine Kanäle verfügbar'; @override - String get map_publicLocationShare => 'Öffentliche Standortfreigabe'; + String get map_publicLocationShare => 'Öffentliche Standortfreigabe'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Sie werden kurz darauf einen Ort in $channelLabel teilen. Dieser Kanal ist öffentlich und jeder mit dem PSK kann ihn sehen.'; + return 'Sie werden kurz darauf einen Ort in $channelLabel teilen. Dieser Kanal ist öffentlich und jeder mit dem PSK kann ihn sehen.'; } @override String get map_connectToShareMarkers => - 'Verbinde ein Gerät, um Marker zu teilen'; + 'Verbinde ein Gerät, um Marker zu teilen'; @override String get map_filterNodes => 'Knotenfilter'; @@ -1450,13 +1443,13 @@ class AppLocalizationsDe extends AppLocalizations { String get map_otherNodes => 'Andere Knoten'; @override - String get map_keyPrefix => 'Schlüsselpräfix'; + String get map_keyPrefix => 'Schlüsselpräfix'; @override - String get map_filterByKeyPrefix => 'Filter nach Schlüsselpräfix'; + String get map_filterByKeyPrefix => 'Filter nach Schlüsselpräfix'; @override - String get map_publicKeyPrefix => 'Schlüsselpräfix'; + String get map_publicKeyPrefix => 'Schlüsselpräfix'; @override String get map_markers => 'Marker'; @@ -1478,10 +1471,10 @@ class AppLocalizationsDe extends AppLocalizations { @override String get map_tapToAdd => - 'Tippen Sie auf Knoten, um sie zum Pfad hinzuzufügen.'; + 'Tippen Sie auf Knoten, um sie zum Pfad hinzuzufügen.'; @override - String get map_runTrace => 'Pfadverlauf ausführen'; + String get map_runTrace => 'Pfadverlauf ausführen'; @override String get map_removeLast => 'Letztes Entfernen'; @@ -1494,18 +1487,18 @@ class AppLocalizationsDe extends AppLocalizations { @override String get mapCache_selectAreaFirst => - 'Wählen Sie zuerst einen Bereich zum Zwischenspeichern aus.'; + 'Wählen Sie zuerst einen Bereich zum Zwischenspeichern aus.'; @override String get mapCache_noTilesToDownload => - 'Keine Kacheln für diese Region zum Herunterladen verfügbar.'; + 'Keine Kacheln für diese Region zum Herunterladen verfügbar.'; @override String get mapCache_downloadTilesTitle => 'Herunterladen von Kacheln'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Laden $count Kacheln für den Offline-Bereich herunter?'; + return 'Laden $count Kacheln für den Offline-Bereich herunter?'; } @override @@ -1529,10 +1522,10 @@ class AppLocalizationsDe extends AppLocalizations { 'Alle zwischengespeicherten Kartenraster entfernen?'; @override - String get mapCache_offlineCacheCleared => 'Offline-Cache gelöscht'; + String get mapCache_offlineCacheCleared => 'Offline-Cache gelöscht'; @override - String get mapCache_noAreaSelected => 'Kein Bereich ausgewählt'; + String get mapCache_noAreaSelected => 'Kein Bereich ausgewählt'; @override String get mapCache_cacheArea => 'Zwischenspeicherbereich'; @@ -1545,7 +1538,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String mapCache_estimatedTiles(int count) { - return 'Geschätzte Kacheln: $count'; + return 'Geschätzte Kacheln: $count'; } @override @@ -1627,7 +1620,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get dialog_disconnectConfirm => - 'Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?'; + 'Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?'; @override String get login_repeaterLogin => 'Beim Repeater anmelden'; @@ -1646,7 +1639,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get login_savePasswordSubtitle => - 'Das Passwort wird auf diesem Gerät sicher gespeichert.'; + 'Das Passwort wird auf diesem Gerät sicher gespeichert.'; @override String get login_repeaterDescription => @@ -1693,7 +1686,7 @@ class AppLocalizationsDe extends AppLocalizations { String get common_reload => 'Neu laden'; @override - String get common_clear => 'Löschen'; + String get common_clear => 'Löschen'; @override String path_currentPath(String path) { @@ -1719,21 +1712,21 @@ class AppLocalizationsDe extends AppLocalizations { @override String get path_hexPrefixInstructions => - 'Gebe für jeden Zwischen-Hop das 2-stellige Hex-Präfix ein, getrennt durch Kommas.'; + 'Gebe für jeden Zwischen-Hop das 2-stellige Hex-Präfix ein, getrennt durch Kommas.'; @override String get path_hexPrefixExample => - 'Beispiel: A1,F2,3C (jeder Knoten verwendet den ersten Byte seines öffentlichen Schlüssels)'; + 'Beispiel: A1,F2,3C (jeder Knoten verwendet den ersten Byte seines öffentlichen Schlüssels)'; @override - String get path_labelHexPrefixes => 'Pfad (Hex-Präfixe)'; + String get path_labelHexPrefixes => 'Pfad (Hex-Präfixe)'; @override String get path_helperMaxHops => - 'Max 64 Sprünge. Jede Präfixe ist 2 Hexadezimalzeichen (1 Byte)'; + 'Max 64 Sprünge. Jede Präfixe ist 2 Hexadezimalzeichen (1 Byte)'; @override - String get path_selectFromContacts => 'Oder wähle aus Kontakten aus:'; + String get path_selectFromContacts => 'Oder wähle aus Kontakten aus:'; @override String get path_noRepeatersFound => @@ -1741,11 +1734,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get path_customPathsRequire => - 'Benutzerdefinierte Pfade erfordern Zwischen-Hops, die Nachrichten weiterleiten können.'; + 'Benutzerdefinierte Pfade erfordern Zwischen-Hops, die Nachrichten weiterleiten können.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Ungültige Hexadezimal-Präfixe: $prefixes'; + return 'Ungültige Hexadezimal-Präfixe: $prefixes'; } @override @@ -1833,10 +1826,10 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_clockAtLogin => 'Uhr (bei Anmeldung)'; @override - String get repeater_uptime => 'Verfügbarkeit'; + String get repeater_uptime => 'Verfügbarkeit'; @override - String get repeater_queueLength => 'Warteschlangenlänge'; + String get repeater_queueLength => 'Warteschlangenlänge'; @override String get repeater_debugFlags => 'Fehlerbehebungsoptionen'; @@ -1911,7 +1904,7 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_repeaterName => 'Repeater Name'; @override - String get repeater_repeaterNameHelper => 'Anzeigename für diesen Repeater'; + String get repeater_repeaterNameHelper => 'Anzeigename für diesen Repeater'; @override String get repeater_adminPassword => 'Admin-Passwort'; @@ -1924,7 +1917,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_guestPasswordHelper => - 'Schreibgeschütztes Zugriffspasswort'; + 'Schreibgeschütztes Zugriffspasswort'; @override String get repeater_radioSettings => 'Funk Einstellungen'; @@ -1960,7 +1953,7 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_latitudeHelper => 'Dezimalgrad (z.B. 37,7749)'; @override - String get repeater_longitude => 'Längengrad'; + String get repeater_longitude => 'Längengrad'; @override String get repeater_longitudeHelper => 'Dezimalgrad (z.B. -122,4194)'; @@ -1980,21 +1973,21 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_guestAccessSubtitle => - 'Gast-Zugriff mit beschränkten Rechten zulassen'; + 'Gast-Zugriff mit beschränkten Rechten zulassen'; @override - String get repeater_privacyMode => 'Privatsphäreeinstellung'; + String get repeater_privacyMode => 'Privatsphäreeinstellung'; @override String get repeater_privacyModeSubtitle => - 'Verstecken Sie Name/Ort in Ankündigungen'; + 'Verstecken Sie Name/Ort in Ankündigungen'; @override - String get repeater_advertisementSettings => 'Ankündigungseinstellungen'; + String get repeater_advertisementSettings => 'Ankündigungseinstellungen'; @override String get repeater_localAdvertInterval => - 'Intervall der lokalen Ankündigungen'; + 'Intervall der lokalen Ankündigungen'; @override String repeater_localAdvertIntervalMinutes(int minutes) { @@ -2003,7 +1996,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Intervall der gefluteten Ankündigungen'; + 'Intervall der gefluteten Ankündigungen'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2012,7 +2005,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_encryptedAdvertInterval => - 'Intervall der verschlüsselten Ankündigung'; + 'Intervall der verschlüsselten Ankündigung'; @override String get repeater_dangerZone => 'Gefahrenzone'; @@ -2021,26 +2014,26 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_rebootRepeater => 'Neustart Repeater'; @override - String get repeater_rebootRepeaterSubtitle => 'Repeater-Gerät neu starten.'; + String get repeater_rebootRepeaterSubtitle => 'Repeater-Gerät neu starten.'; @override String get repeater_rebootRepeaterConfirm => - 'Sind Sie sicher, dass Sie diesen Repeater neu starten möchten?'; + 'Sind Sie sicher, dass Sie diesen Repeater neu starten möchten?'; @override String get repeater_regenerateIdentityKey => - 'Schlüssel für die Identitätswiederherstellung'; + 'Schlüssel für die Identitätswiederherstellung'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Neuen öffentlichen/privaten Schlüsselpaar generieren'; + 'Neuen öffentlichen/privaten Schlüsselpaar generieren'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Dies generiert eine neue Identität für den Repeater. Fortfahren?'; + 'Dies generiert eine neue Identität für den Repeater. Fortfahren?'; @override - String get repeater_eraseFileSystem => 'Dateisystem löschen'; + String get repeater_eraseFileSystem => 'Dateisystem löschen'; @override String get repeater_eraseFileSystemSubtitle => @@ -2048,11 +2041,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_eraseFileSystemConfirm => - 'WARNUNG: Dies löscht alle Daten auf dem Repeater. Dies kann nicht rückgängig gemacht werden!'; + 'WARNUNG: Dies löscht alle Daten auf dem Repeater. Dies kann nicht rückgängig gemacht werden!'; @override String get repeater_eraseSerialOnly => - 'Löschen ist nur über die serielle Konsole möglich.'; + 'Löschen ist nur über die serielle Konsole möglich.'; @override String repeater_commandSent(String command) { @@ -2065,7 +2058,7 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get repeater_confirm => 'Bestätigen'; + String get repeater_confirm => 'Bestätigen'; @override String get repeater_settingsSaved => 'Einstellungen erfolgreich gespeichert'; @@ -2103,7 +2096,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_refreshAdvertisementSettings => - 'Aktualisieren Sie die Ankündigungseinstellungen'; + 'Aktualisieren Sie die Ankündigungseinstellungen'; @override String repeater_refreshed(String label) { @@ -2119,13 +2112,13 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_cliTitle => 'Repeater CLI'; @override - String get repeater_debugNextCommand => 'Fehlersuche des nächsten Befehls'; + String get repeater_debugNextCommand => 'Fehlersuche des nächsten Befehls'; @override String get repeater_commandHelp => 'Hilfe'; @override - String get repeater_clearHistory => 'Löschen der Historie'; + String get repeater_clearHistory => 'Löschen der Historie'; @override String get repeater_noCommandsSent => 'Noch keine Befehle gesendet.'; @@ -2141,7 +2134,7 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_previousCommand => 'Vorhergehende Aktion'; @override - String get repeater_nextCommand => 'Nächste Aktion'; + String get repeater_nextCommand => 'Nächste Aktion'; @override String get repeater_enterCommandFirst => 'Geben Sie zuerst einen Befehl ein'; @@ -2170,52 +2163,52 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_cliQuickVersion => 'Version'; @override - String get repeater_cliQuickAdvertise => 'Ankündigungen'; + String get repeater_cliQuickAdvertise => 'Ankündigungen'; @override String get repeater_cliQuickClock => 'Uhr'; @override - String get repeater_cliHelpAdvert => 'Sendet eine Ankündigung'; + String get repeater_cliHelpAdvert => 'Sendet eine Ankündigung'; @override String get repeater_cliHelpReboot => - 'Startet das Gerät neu. (Beachten Sie, dass es möglicherweise zu einer \'Timeout\'-Situation kommt, was normal ist.)'; + 'Startet das Gerät neu. (Beachten Sie, dass es möglicherweise zu einer \'Timeout\'-Situation kommt, was normal ist.)'; @override String get repeater_cliHelpClock => - 'Zeigt die aktuelle Uhrzeit pro Gerät an.'; + 'Zeigt die aktuelle Uhrzeit pro Gerät an.'; @override String get repeater_cliHelpPassword => - 'Legt ein neues Administrator-Passwort für das Gerät fest.'; + 'Legt ein neues Administrator-Passwort für das Gerät fest.'; @override String get repeater_cliHelpVersion => - 'Zeigt die Geräteversion und das Datum des Firmware-Builds an.'; + 'Zeigt die Geräteversion und das Datum des Firmware-Builds an.'; @override String get repeater_cliHelpClearStats => - 'Setzt verschiedene Statistikberechnungen auf Null zurück.'; + 'Setzt verschiedene Statistikberechnungen auf Null zurück.'; @override String get repeater_cliHelpSetAf => 'Legt den Luftzeitfaktor fest.'; @override String get repeater_cliHelpSetTx => - 'Legt die LoRa-Übertragungspower in dBm (bezogen auf 1 Watt) fest. (Neustart erforderlich, um die Änderungen anzuwenden)'; + 'Legt die LoRa-Übertragungspower in dBm (bezogen auf 1 Watt) fest. (Neustart erforderlich, um die Änderungen anzuwenden)'; @override String get repeater_cliHelpSetRepeat => - 'Aktiviert oder deaktiviert die Repeater-Rolle für diesen Knoten.'; + 'Aktiviert oder deaktiviert die Repeater-Rolle für diesen Knoten.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Raumspeicher) Wenn \'an\', dann wird die Anmeldung mit einem leeren Passwort erlaubt sein, aber es kann nicht in den Raum gesendet werden. (nur lesen möglich).'; + '(Raumspeicher) Wenn \'an\', dann wird die Anmeldung mit einem leeren Passwort erlaubt sein, aber es kann nicht in den Raum gesendet werden. (nur lesen möglich).'; @override String get repeater_cliHelpSetFloodMax => - 'Legt die maximale Anzahl an Hops für Pakete der eingehenden Flut (wenn >= max, wird das Paket nicht weitergeleitet)'; + 'Legt die maximale Anzahl an Hops für Pakete der eingehenden Flut (wenn >= max, wird das Paket nicht weitergeleitet)'; @override String get repeater_cliHelpSetIntThresh => @@ -2223,7 +2216,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_cliHelpSetAgcResetInterval => - 'Legt das Intervall für das Zurücksetzen des Auto Gain Controllers fest. Auf 0 setzen, um die Funktion zu deaktivieren.'; + 'Legt das Intervall für das Zurücksetzen des Auto Gain Controllers fest. Auf 0 setzen, um die Funktion zu deaktivieren.'; @override String get repeater_cliHelpSetMultiAcks => @@ -2231,78 +2224,78 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_cliHelpSetAdvertInterval => - 'Legt das Timer-Intervall in Minuten fest, um ein lokales (ohne-Weiterleitung) Ankündigungspaket zu senden. Auf 0 setzen, um die Funktion zu deaktivieren.'; + 'Legt das Timer-Intervall in Minuten fest, um ein lokales (ohne-Weiterleitung) Ankündigungspaket zu senden. Auf 0 setzen, um die Funktion zu deaktivieren.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Legt das Timer-Intervall in Stunden für den Versand eines Flut-Ankündigungspacket fest. Auf 0 setzen, um es zu deaktivieren.'; + 'Legt das Timer-Intervall in Stunden für den Versand eines Flut-Ankündigungspacket fest. Auf 0 setzen, um es zu deaktivieren.'; @override String get repeater_cliHelpSetGuestPassword => - 'Legt/aktualisiert das Gastpasswort fest. (für Repeater können Gast-Logins die \"Get Stats\"-Anfrage senden)'; + 'Legt/aktualisiert das Gastpasswort fest. (für Repeater können Gast-Logins die \"Get Stats\"-Anfrage senden)'; @override String get repeater_cliHelpSetName => 'Legt den Anzeigenamen fest.'; @override String get repeater_cliHelpSetLat => - 'Legt die Breitengrad der Ankündigung fest. (dezimale Grad)'; + 'Legt die Breitengrad der Ankündigung fest. (dezimale Grad)'; @override String get repeater_cliHelpSetLon => - 'Legt die Längengrade der Ankündigung fest. (dezimale Grad)'; + 'Legt die Längengrade der Ankündigung fest. (dezimale Grad)'; @override String get repeater_cliHelpSetRadio => - 'Legt komplett neue Radio-Parameter fest und speichert diese als Präferenzen. Benötigt einen \"Reboot\"-Befehl, um sie anzuwenden.'; + 'Legt komplett neue Radio-Parameter fest und speichert diese als Präferenzen. Benötigt einen \"Reboot\"-Befehl, um sie anzuwenden.'; @override String get repeater_cliHelpSetRxDelay => - 'Fügt eine leichte Verzögerung bei empfangenen Paketen hinzu, basierend auf Signalstärke/Punktzahl. Auf 0 setzen, um die Funktion zu deaktivieren.'; + 'Fügt eine leichte Verzögerung bei empfangenen Paketen hinzu, basierend auf Signalstärke/Punktzahl. Auf 0 setzen, um die Funktion zu deaktivieren.'; @override String get repeater_cliHelpSetTxDelay => - 'Legt einen Faktor fest, der mit der Zeit bei voller Zuluft für ein Flood-Mode-Paket und mit einem zufälligen Slot-System multipliziert wird, um dessen Weiterleitung zu verzögern (um Kollisionen zu vermeiden).'; + 'Legt einen Faktor fest, der mit der Zeit bei voller Zuluft für ein Flood-Mode-Paket und mit einem zufälligen Slot-System multipliziert wird, um dessen Weiterleitung zu verzögern (um Kollisionen zu vermeiden).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Ähnlich wie txdelay, aber zum Anwenden einer zufälligen Verzögerung bei der Weiterleitung von Direktmodus-Paketen.'; + 'Ähnlich wie txdelay, aber zum Anwenden einer zufälligen Verzögerung bei der Weiterleitung von Direktmodus-Paketen.'; @override String get repeater_cliHelpSetBridgeEnabled => - 'Brücke aktivieren/deaktivieren.'; + 'Brücke aktivieren/deaktivieren.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Setze Verzögerung vor erneuter Übertragung von Paketen.'; + 'Setze Verzögerung vor erneuter Übertragung von Paketen.'; @override String get repeater_cliHelpSetBridgeSource => - 'Wählen Sie, ob über die Brücke empfangene oder gesendete Pakete erneut übertragen soll.'; + 'Wählen Sie, ob über die Brücke empfangene oder gesendete Pakete erneut übertragen soll.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Setze die serielle Link-Baudrate für RS232-Brücken.'; + 'Setze die serielle Link-Baudrate für RS232-Brücken.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Richte das Brückenpassword ein.'; + 'Richte das Brückenpassword ein.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Legt einen benutzerdefinierten Faktor zur Anpassung der gemeldeten Batteriewirkspannung fest (nur auf ausgewählten Boards unterstützt).'; + 'Legt einen benutzerdefinierten Faktor zur Anpassung der gemeldeten Batteriewirkspannung fest (nur auf ausgewählten Boards unterstützt).'; @override String get repeater_cliHelpTempRadio => - 'Legt vorübergehende Funkparameter für die angegebene Anzahl von Minuten fest und kehrt anschließend zu den ursprünglichen Funkparametern zurück (wird nicht in den Einstellungen gespeichert).'; + 'Legt vorübergehende Funkparameter für die angegebene Anzahl von Minuten fest und kehrt anschließend zu den ursprünglichen Funkparametern zurück (wird nicht in den Einstellungen gespeichert).'; @override String get repeater_cliHelpSetPerm => - 'Ändert die ACL. Entfernt das passende Eintragen (durch Pubkey-Präfix), wenn \"permissions\" auf 0 steht. Fügt ein neues Eintragen hinzu, wenn die Pubkey-Hex-Länge vollständig ist und nicht bereits in der ACL vorhanden ist. Aktualisiert das Eintragen anhand des übereinstimmenden Pubkey-Präfix. Berechtigungsbits variieren je nach Firmware-Rolle, aber die unteren 2 Bits sind: 0 (Gast), 1 (Nur Lesen), 2 (Lesen/Schreiben), 3 (Admin)'; + 'Ändert die ACL. Entfernt das passende Eintragen (durch Pubkey-Präfix), wenn \"permissions\" auf 0 steht. Fügt ein neues Eintragen hinzu, wenn die Pubkey-Hex-Länge vollständig ist und nicht bereits in der ACL vorhanden ist. Aktualisiert das Eintragen anhand des übereinstimmenden Pubkey-Präfix. Berechtigungsbits variieren je nach Firmware-Rolle, aber die unteren 2 Bits sind: 0 (Gast), 1 (Nur Lesen), 2 (Lesen/Schreiben), 3 (Admin)'; @override String get repeater_cliHelpGetBridgeType => - 'Ruft Brückentyp: none, rs232, espnow ab.'; + 'Ruft Brückentyp: none, rs232, espnow ab.'; @override String get repeater_cliHelpLogStart => @@ -2314,46 +2307,46 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_cliHelpLogErase => - 'Löscht die Paketprotokolle aus dem Dateisystem.'; + 'Löscht die Paketprotokolle aus dem Dateisystem.'; @override String get repeater_cliHelpNeighbors => - 'Zeigt eine Liste anderer Repeater-Knoten an, die über Zero-Hop-Ankündigung gehört wurden. Jede Zeile ist id-prefix-hex:timestamp:snr-times-4'; + 'Zeigt eine Liste anderer Repeater-Knoten an, die über Zero-Hop-Ankündigung gehört wurden. Jede Zeile ist id-prefix-hex:timestamp:snr-times-4'; @override String get repeater_cliHelpNeighborRemove => - 'Entfernt das erste übereinstimmende Element (über Pubkey-Präfix (hex)) aus der Liste der Nachbarn.'; + 'Entfernt das erste übereinstimmende Element (über Pubkey-Präfix (hex)) aus der Liste der Nachbarn.'; @override String get repeater_cliHelpRegion => 'Listet alle definierten Regionen auf.'; @override String get repeater_cliHelpRegionLoad => - 'Hinweis: Dies ist ein spezieller Mehrbefehl-Aufruf. Jeder nachfolgende Befehl ist ein Regionsname (eingerückt mit Leerzeichen zur Angabe der übergeordneten Hierarchie, mit mindestens einem Leerzeichen). Beendet durch das Senden einer Leerzeile.'; + 'Hinweis: Dies ist ein spezieller Mehrbefehl-Aufruf. Jeder nachfolgende Befehl ist ein Regionsname (eingerückt mit Leerzeichen zur Angabe der übergeordneten Hierarchie, mit mindestens einem Leerzeichen). Beendet durch das Senden einer Leerzeile.'; @override String get repeater_cliHelpRegionGet => - 'Sucht die Region mit dem gegebenen Namenspräfix (oder \"\\\" für den globalen Scope) und antwortet mit \"-> region-name (parent-name) \'F\'\".'; + 'Sucht die Region mit dem gegebenen Namenspräfix (oder \"\\\" für den globalen Scope) und antwortet mit \"-> region-name (parent-name) \'F\'\".'; @override String get repeater_cliHelpRegionPut => - 'Fügt eine Region-Definition mit dem angegebenen Namen hinzu oder aktualisiert diese.'; + 'Fügt eine Region-Definition mit dem angegebenen Namen hinzu oder aktualisiert diese.'; @override String get repeater_cliHelpRegionRemove => - 'Löscht eine Regiondefinition mit dem angegebenen Namen. (muss genau übereinstimmen und keine Kindregionen haben)'; + 'Löscht eine Regiondefinition mit dem angegebenen Namen. (muss genau übereinstimmen und keine Kindregionen haben)'; @override String get repeater_cliHelpRegionAllowf => - 'Legt die \'Flut\'-Berechtigung für die angegebene Region fest. (\'\' für den globalen/legacy-Bereich)'; + 'Legt die \'Flut\'-Berechtigung für die angegebene Region fest. (\'\' für den globalen/legacy-Bereich)'; @override String get repeater_cliHelpRegionDenyf => - 'Entfernt die \"F\"lood-Berechtigung für die angegebene Region. (ANMERKUNG: in dieser Phase wird nicht empfohlen, dies auf dem globalen/legacy-Bereich zu verwenden!!)'; + 'Entfernt die \"F\"lood-Berechtigung für die angegebene Region. (ANMERKUNG: in dieser Phase wird nicht empfohlen, dies auf dem globalen/legacy-Bereich zu verwenden!!)'; @override String get repeater_cliHelpRegionHome => - 'Antwortet mit der aktuellen \'Home\'-Region. (Hinweis wurde bisher nirgendwo angewendet, für zukünftige Zwecke reserviert)'; + 'Antwortet mit der aktuellen \'Home\'-Region. (Hinweis wurde bisher nirgendwo angewendet, für zukünftige Zwecke reserviert)'; @override String get repeater_cliHelpRegionHomeSet => 'Legt die \'Home\'-Region fest.'; @@ -2375,11 +2368,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_cliHelpGpsSetLoc => - 'Setze die Position des Knotens auf GPS-Koordinaten und speichere die Präferenzen.'; + 'Setze die Position des Knotens auf GPS-Koordinaten und speichere die Präferenzen.'; @override String get repeater_cliHelpGpsAdvert => - 'Gibt Konfiguration für die Standortanzeige des Knotens:\n- none: Standort nicht in Anzeigen einbeziehen\n- share: GPS-Standort teilen (von SensorManager)\n- prefs: Standort aus Einstellungen anzeigen'; + 'Gibt Konfiguration für die Standortanzeige des Knotens:\n- none: Standort nicht in Anzeigen einbeziehen\n- share: GPS-Standort teilen (von SensorManager)\n- prefs: Standort aus Einstellungen anzeigen'; @override String get repeater_cliHelpGpsAdvertSet => @@ -2390,7 +2383,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_commandsListNote => - 'ACHTUNG: Für die verschiedenen „set ...“-Befehle gibt es auch einen „get ...“-Befehl.'; + 'ACHTUNG: Für die verschiedenen „set ...“-Befehle gibt es auch einen „get ...“-Befehl.'; @override String get repeater_general => 'Allgemein'; @@ -2399,7 +2392,7 @@ class AppLocalizationsDe extends AppLocalizations { String get repeater_settingsCategory => 'Einstellungen'; @override - String get repeater_bridge => 'Brücke'; + String get repeater_bridge => 'Brücke'; @override String get repeater_logging => 'Protokollierung'; @@ -2413,14 +2406,14 @@ class AppLocalizationsDe extends AppLocalizations { @override String get repeater_regionNote => - 'Region-Befehle wurden eingeführt, um Region-Definitionen und Berechtigungen zu verwalten.'; + 'Region-Befehle wurden eingeführt, um Region-Definitionen und Berechtigungen zu verwalten.'; @override String get repeater_gpsManagement => 'GPS-Verwaltung'; @override String get repeater_gpsNote => - 'Der GPS-Befehl wurde eingeführt, um Standortbezogene Themen zu verwalten.'; + 'Der GPS-Befehl wurde eingeführt, um Standortbezogene Themen zu verwalten.'; @override String get telemetry_receivedData => 'Empfangene Telemetriedaten'; @@ -2435,7 +2428,7 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get telemetry_noData => 'Keine Telemetriedaten verfügbar.'; + String get telemetry_noData => 'Keine Telemetriedaten verfügbar.'; @override String telemetry_channelTitle(int channel) { @@ -2474,7 +2467,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2493,7 +2486,7 @@ class AppLocalizationsDe extends AppLocalizations { String get neighbors_repeatersNeighbors => 'Nachbarn'; @override - String get neighbors_noData => 'Keine Nachbarsdaten verfügbar.'; + String get neighbors_noData => 'Keine Nachbarsdaten verfügbar.'; @override String neighbors_unknownContact(String pubkey) { @@ -2502,7 +2495,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String neighbors_heardAgo(String time) { - return 'Gehört vor: $time'; + return 'Gehört vor: $time'; } @override @@ -2515,11 +2508,11 @@ class AppLocalizationsDe extends AppLocalizations { String get channelPath_otherObservedPaths => 'Sonstige beobachtete Pfade'; @override - String get channelPath_repeaterHops => 'Repeater-Sprünge'; + String get channelPath_repeaterHops => 'Repeater-Sprünge'; @override String get channelPath_noHopDetails => - 'Die Detailangaben für dieses Paket sind nicht verfügbar.'; + 'Die Detailangaben für dieses Paket sind nicht verfügbar.'; @override String get channelPath_messageDetails => 'Nachrichtendetails'; @@ -2543,7 +2536,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Beobachteter Pfad $index • $hops'; + return 'Beobachteter Pfad $index • $hops'; } @override @@ -2570,12 +2563,12 @@ class AppLocalizationsDe extends AppLocalizations { @override String channelPath_observedZeroOf(int total) { - return '0 von $total Sprüngen'; + return '0 von $total Sprüngen'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed von $total Sprüngen'; + return '$observed von $total Sprüngen'; } @override @@ -2583,11 +2576,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get channelPath_noRepeaterLocations => - 'Für diesen Pfad stehen keine Repeater-Positionen zur Verfügung.'; + 'Für diesen Pfad stehen keine Repeater-Positionen zur Verfügung.'; @override String channelPath_primaryPath(int index) { - return 'Pfad $index (Primär)'; + return 'Pfad $index (Primär)'; } @override @@ -2598,12 +2591,12 @@ class AppLocalizationsDe extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Keine Informationen zu dieser Paketroute verfügbar.'; + 'Keine Informationen zu dieser Paketroute verfügbar.'; @override String get channelPath_unknownRepeater => 'Unbekannter Repeater'; @@ -2616,7 +2609,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get community_createDesc => - 'Erstelle eine neue Community und teile sie über den QR-Code.'; + 'Erstelle eine neue Community und teile sie über den QR-Code.'; @override String get community_join => 'Beitreten'; @@ -2626,7 +2619,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String community_joinConfirmation(String name) { - return 'Möchten Sie sich der Community \"$name\" anschließen?'; + return 'Möchten Sie sich der Community \"$name\" anschließen?'; } @override @@ -2640,7 +2633,7 @@ class AppLocalizationsDe extends AppLocalizations { String get community_showQr => 'Zeige QR-Code'; @override - String get community_publicChannel => 'Community Öffentlich'; + String get community_publicChannel => 'Community Öffentlich'; @override String get community_hashtagChannel => 'Community Hashtag'; @@ -2666,15 +2659,15 @@ class AppLocalizationsDe extends AppLocalizations { @override String community_qrInstructions(String name) { - return 'Scannen Sie diesen QR-Code, um sich \"$name\" anzuschließen.'; + return 'Scannen Sie diesen QR-Code, um sich \"$name\" anzuschließen.'; } @override String get community_hashtagPrivacyHint => - 'Community-Hashtag-Kanäle können nur von Mitgliedern der Community betreten werden'; + 'Community-Hashtag-Kanäle können nur von Mitgliedern der Community betreten werden'; @override - String get community_invalidQrCode => 'Ungültiger Community-QR-Code'; + String get community_invalidQrCode => 'Ungültiger Community-QR-Code'; @override String get community_alreadyMember => 'Bereits registriert'; @@ -2686,11 +2679,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get community_addPublicChannel => - 'Füge einen öffentlichen Community-Kanal hinzu'; + 'Füge einen öffentlichen Community-Kanal hinzu'; @override String get community_addPublicChannelHint => - 'Automatisch den öffentlichen Kanal für diese Community hinzufügen'; + 'Automatisch den öffentlichen Kanal für diese Community hinzufügen'; @override String get community_noCommunities => 'Noch keiner Community beigetreten'; @@ -2712,7 +2705,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String community_deleteChannelsWarning(int count) { - return 'Dies löscht auch $count Kanal/Kanäle und deren Nachrichten.'; + return 'Dies löscht auch $count Kanal/Kanäle und deren Nachrichten.'; } @override @@ -2721,11 +2714,11 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get community_regenerateSecret => 'Neugenerierung des Schlüssels'; + String get community_regenerateSecret => 'Neugenerierung des Schlüssels'; @override String community_regenerateSecretConfirm(String name) { - return 'Nehmen Sie den geheimen Schlüssel für \"$name\" neu auf? Alle Mitglieder müssen den neuen QR-Code scannen, um die Kommunikation fortzusetzen.'; + return 'Nehmen Sie den geheimen Schlüssel für \"$name\" neu auf? Alle Mitglieder müssen den neuen QR-Code scannen, um die Kommunikation fortzusetzen.'; } @override @@ -2733,50 +2726,50 @@ class AppLocalizationsDe extends AppLocalizations { @override String community_secretRegenerated(String name) { - return 'Wiederherstellung des Schlüssels für \"$name\" erfolgreich'; + return 'Wiederherstellung des Schlüssels für \"$name\" erfolgreich'; } @override - String get community_updateSecret => 'Aktualisieren Sie den Schlüssel'; + String get community_updateSecret => 'Aktualisieren Sie den Schlüssel'; @override String community_secretUpdated(String name) { - return 'Schlüssel für \"$name\" aktualisiert'; + return 'Schlüssel für \"$name\" aktualisiert'; } @override String community_scanToUpdateSecret(String name) { - return 'Scannen Sie den neuen QR-Code, um das Geheimnis für \"$name\" zu aktualisieren.'; + return 'Scannen Sie den neuen QR-Code, um das Geheimnis für \"$name\" zu aktualisieren.'; } @override String get community_addHashtagChannel => - 'Füge einen Community-Hashtag hinzu'; + 'Füge einen Community-Hashtag hinzu'; @override String get community_addHashtagChannelDesc => - 'Füge einen Hashtag-Kanal für diese Community hinzu'; + 'Füge einen Hashtag-Kanal für diese Community hinzu'; @override - String get community_selectCommunity => 'Wählen Sie eine Community'; + String get community_selectCommunity => 'Wählen Sie eine Community'; @override - String get community_regularHashtag => 'Regulärer Hashtag'; + String get community_regularHashtag => 'Regulärer Hashtag'; @override String get community_regularHashtagDesc => - 'Öffentlicher Hashtag (jeder kann teilnehmen)'; + 'Öffentlicher Hashtag (jeder kann teilnehmen)'; @override String get community_communityHashtag => 'Community Hashtag'; @override String get community_communityHashtagDesc => - 'Nur für Mitglieder der Community'; + 'Nur für Mitglieder der Community'; @override String community_forCommunity(String name) { - return 'Für $name'; + return 'Für $name'; } @override @@ -2789,7 +2782,7 @@ class AppLocalizationsDe extends AppLocalizations { String get listFilter_latestMessages => 'Letzte Nachrichten'; @override - String get listFilter_heardRecently => 'Kürzlich gehört'; + String get listFilter_heardRecently => 'Kürzlich gehört'; @override String get listFilter_az => 'A-Z'; @@ -2804,7 +2797,7 @@ class AppLocalizationsDe extends AppLocalizations { String get listFilter_favorites => 'Favoriten'; @override - String get listFilter_addToFavorites => 'Zu Favoriten hinzufügen'; + String get listFilter_addToFavorites => 'Zu Favoriten hinzufügen'; @override String get listFilter_removeFromFavorites => 'Aus Favoriten entfernen'; @@ -2831,7 +2824,7 @@ class AppLocalizationsDe extends AppLocalizations { String get pathTrace_failed => 'Pfadverfolgung fehlgeschlagen.'; @override - String get pathTrace_notAvailable => 'Pfadverfolgung nicht verfügbar.'; + String get pathTrace_notAvailable => 'Pfadverfolgung nicht verfügbar.'; @override String get pathTrace_refreshTooltip => 'Path Trace aktualisieren.'; @@ -2841,30 +2834,30 @@ class AppLocalizationsDe extends AppLocalizations { 'Bei einer oder mehreren Knoten fehlt der Standort!'; @override - String get pathTrace_clearTooltip => 'Pfad löschen'; + String get pathTrace_clearTooltip => 'Pfad löschen'; @override String get losSelectStartEnd => - 'Wählen Sie Start- und Endknoten für LOS aus.'; + 'Wählen Sie Start- und Endknoten für LOS aus.'; @override String losRunFailed(String error) { - return 'Sichtlinienprüfung fehlgeschlagen: $error'; + return 'Sichtlinienprüfung fehlgeschlagen: $error'; } @override - String get losClearAllPoints => 'Löschen Sie alle Punkte'; + String get losClearAllPoints => 'Löschen Sie alle Punkte'; @override String get losRunToViewElevationProfile => - 'Führen Sie LOS aus, um das Höhenprofil anzuzeigen'; + 'Führen Sie LOS aus, um das Höhenprofil anzuzeigen'; @override - String get losMenuTitle => 'LOS-Menü'; + String get losMenuTitle => 'LOS-Menü'; @override String get losMenuSubtitle => - 'Tippen Sie auf Knoten oder drücken Sie lange auf die Karte, um benutzerdefinierte Punkte anzuzeigen'; + 'Tippen Sie auf Knoten oder drücken Sie lange auf die Karte, um benutzerdefinierte Punkte anzuzeigen'; @override String get losShowDisplayNodes => 'Anzeigeknoten anzeigen'; @@ -2894,10 +2887,10 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get losRun => 'Führen Sie LOS aus'; + String get losRun => 'Führen Sie LOS aus'; @override - String get losNoElevationData => 'Keine Höhendaten'; + String get losNoElevationData => 'Keine Höhendaten'; @override String losProfileClear( @@ -2920,7 +2913,7 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get losStatusChecking => 'LOS: Überprüfen...'; + String get losStatusChecking => 'LOS: Überprüfen...'; @override String get losStatusNoData => 'LOS: keine Daten'; @@ -2932,11 +2925,11 @@ class AppLocalizationsDe extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Für eine oder mehrere Proben sind keine Höhendaten verfügbar.'; + 'Für eine oder mehrere Proben sind keine Höhendaten verfügbar.'; @override String get losErrorInvalidInput => - 'Ungültige Punkte/Höhendaten für die LOS-Berechnung.'; + 'Ungültige Punkte/Höhendaten für die LOS-Berechnung.'; @override String get losRenameCustomPoint => @@ -2952,7 +2945,7 @@ class AppLocalizationsDe extends AppLocalizations { String get losHidePanelTooltip => 'LOS-Panel ausblenden'; @override - String get losElevationAttribution => 'Höhendaten: Open-Meteo (CC BY 4.0)'; + String get losElevationAttribution => 'Höhendaten: Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Funkhorizont'; @@ -2961,7 +2954,7 @@ class AppLocalizationsDe extends AppLocalizations { String get losLegendLosBeam => 'Sichtlinie'; @override - String get losLegendTerrain => 'Gelände'; + String get losLegendTerrain => 'Gelände'; @override String get losFrequencyLabel => 'Frequenz'; @@ -2979,7 +2972,7 @@ class AppLocalizationsDe extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Ausgehend von k=$baselineK bei $baselineFreq MHz passt die Berechnung den k-Faktor für das aktuelle $frequencyMHz MHz-Band an, das die gekrümmte Funkhorizontobergrenze definiert.'; + return 'Ausgehend von k=$baselineK bei $baselineFreq MHz passt die Berechnung den k-Faktor für das aktuelle $frequencyMHz MHz-Band an, das die gekrümmte Funkhorizontobergrenze definiert.'; } @override @@ -3012,7 +3005,7 @@ class AppLocalizationsDe extends AppLocalizations { String get contacts_clipboardEmpty => 'Die Zwischenablage ist leer.'; @override - String get contacts_invalidAdvertFormat => 'Ungültige Kontaktdaten'; + String get contacts_invalidAdvertFormat => 'Ungültige Kontaktdaten'; @override String get contacts_contactImported => 'Kontakt wurde importiert.'; @@ -3022,28 +3015,28 @@ class AppLocalizationsDe extends AppLocalizations { 'Kontakt konnte nicht importiert werden'; @override - String get contacts_zeroHopAdvert => 'Zero-Hop-Ankündigung'; + String get contacts_zeroHopAdvert => 'Zero-Hop-Ankündigung'; @override - String get contacts_floodAdvert => 'Flut-Ankündigung'; + String get contacts_floodAdvert => 'Flut-Ankündigung'; @override String get contacts_copyAdvertToClipboard => - 'Ankündigung in die Zwischenablage kopieren'; + 'Ankündigung in die Zwischenablage kopieren'; @override String get contacts_addContactFromClipboard => - 'Kontakt aus Zwischenablage hinzufügen'; + 'Kontakt aus Zwischenablage hinzufügen'; @override String get contacts_ShareContact => 'Kontakt in die Zwischenablage kopieren'; @override - String get contacts_ShareContactZeroHop => 'Kontakt über Anzeige teilen'; + String get contacts_ShareContactZeroHop => 'Kontakt über Anzeige teilen'; @override String get contacts_zeroHopContactAdvertSent => - 'Kontakt über Anzeige gesendet'; + 'Kontakt über Anzeige gesendet'; @override String get contacts_zeroHopContactAdvertFailed => @@ -3055,10 +3048,10 @@ class AppLocalizationsDe extends AppLocalizations { @override String get contacts_contactAdvertCopyFailed => - 'Kopieren der Ankündigung in die Zwischenablage fehlgeschlagen.'; + 'Kopieren der Ankündigung in die Zwischenablage fehlgeschlagen.'; @override - String get notification_activityTitle => 'MeshCore Aktivität'; + String get notification_activityTitle => 'MeshCore Aktivität'; @override String notification_messagesCount(int count) { @@ -3131,7 +3124,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get settings_gpxExportNotAvailable => - 'Nicht auf Ihrem Gerät/Betriebssystem unterstützt'; + 'Nicht auf Ihrem Gerät/Betriebssystem unterstützt'; @override String get settings_gpxExportError => @@ -3156,7 +3149,8 @@ class AppLocalizationsDe extends AppLocalizations { 'GPX-Kartendaten aus meshcore-open exportieren'; @override - String get snrIndicator_nearByRepeaters => 'In der Nähe befindliche Repeater'; + String get snrIndicator_nearByRepeaters => + 'In der Nähe befindliche Repeater'; @override String get snrIndicator_lastSeen => 'Zuletzt gesehen'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 2c287f7..a39d473 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -93,7 +93,7 @@ class AppLocalizationsEn extends AppLocalizations { String get common_loading => 'Loading...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Choose your connection method'; - - @override - String get connectionChoiceSubtitle => - 'Select how you would like to reach your MeshCore device.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -455,10 +448,10 @@ class AppLocalizationsEn extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -467,16 +460,16 @@ class AppLocalizationsEn extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -485,16 +478,16 @@ class AppLocalizationsEn extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override - String get appSettings_languageRu => 'Русский'; + String get appSettings_languageRu => 'Русский'; @override - String get appSettings_languageUk => 'Українська'; + String get appSettings_languageUk => 'Українська'; @override String get appSettings_enableMessageTracing => 'Enable Message Tracing'; @@ -2431,7 +2424,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2499,7 +2492,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Observed path $index • $hops'; + return 'Observed path $index • $hops'; } @override @@ -2554,7 +2547,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index cc7261a..2604928 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -45,10 +45,10 @@ class AppLocalizationsEs extends AppLocalizations { String get common_edit => 'Editar'; @override - String get common_add => 'Añadir'; + String get common_add => 'Añadir'; @override - String get common_settings => 'Configuración'; + String get common_settings => 'Configuración'; @override String get common_disconnect => 'Desconectar'; @@ -93,7 +93,7 @@ class AppLocalizationsEs extends AppLocalizations { String get common_loading => 'Cargando...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsEs extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Seleccione su método de conexión.'; - - @override - String get connectionChoiceSubtitle => - 'Seleccione la forma en que desea acceder a su dispositivo MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,14 +119,14 @@ class AppLocalizationsEs extends AppLocalizations { @override String get usbScreenSubtitle => - 'Seleccione un dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.'; + 'Seleccione un dispositivo de serie detectado y conéctelo directamente a su nodo MeshCore.'; @override String get usbScreenStatus => 'Seleccione un dispositivo USB'; @override String get usbScreenNote => - 'La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.'; + 'La comunicación serial a través de USB está activa en dispositivos Android compatibles y en plataformas de escritorio.'; @override String get usbScreenEmptyState => @@ -149,7 +142,7 @@ class AppLocalizationsEs extends AppLocalizations { String get scanner_disconnecting => 'Desconectando...'; @override - String get scanner_notConnected => 'No está conectado'; + String get scanner_notConnected => 'No está conectado'; @override String scanner_connectedTo(String deviceName) { @@ -165,7 +158,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String scanner_connectionFailed(String error) { - return 'Error de conexión: $error'; + return 'Error de conexión: $error'; } @override @@ -175,7 +168,7 @@ class AppLocalizationsEs extends AppLocalizations { String get scanner_scan => 'Escanea'; @override - String get scanner_bluetoothOff => 'Bluetooth está desactivado.'; + String get scanner_bluetoothOff => 'Bluetooth está desactivado.'; @override String get scanner_bluetoothOffMessage => @@ -186,38 +179,38 @@ class AppLocalizationsEs extends AppLocalizations { @override String get scanner_chromeRequiredMessage => - 'Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.'; + 'Esta aplicación web requiere Google Chrome o un navegador basado en Chromium para el soporte de Bluetooth.'; @override String get scanner_enableBluetooth => 'Habilitar Bluetooth'; @override - String get device_quickSwitch => 'Cambiar rápidamente'; + String get device_quickSwitch => 'Cambiar rápidamente'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Configuración'; + String get settings_title => 'Configuración'; @override - String get settings_deviceInfo => 'Información del dispositivo'; + String get settings_deviceInfo => 'Información del dispositivo'; @override - String get settings_appSettings => 'Configuración de la App'; + String get settings_appSettings => 'Configuración de la App'; @override String get settings_appSettingsSubtitle => 'Notificaciones, mensajes y preferencias de mapa'; @override - String get settings_nodeSettings => 'Configuración del Nodo'; + String get settings_nodeSettings => 'Configuración del Nodo'; @override String get settings_nodeName => 'Nombre del nodo'; @override - String get settings_nodeNameNotSet => 'No está configurado'; + String get settings_nodeNameNotSet => 'No está configurado'; @override String get settings_nodeNameHint => 'Introducir nombre de nodo'; @@ -226,37 +219,37 @@ class AppLocalizationsEs extends AppLocalizations { String get settings_nodeNameUpdated => 'Nombre actualizado'; @override - String get settings_radioSettings => 'Configuración de Radio'; + String get settings_radioSettings => 'Configuración de Radio'; @override String get settings_radioSettingsSubtitle => - 'Frecuencia, potencia, factor de dispersión'; + 'Frecuencia, potencia, factor de dispersión'; @override String get settings_radioSettingsUpdated => 'Ajustes de radio actualizados'; @override - String get settings_location => 'Ubicación'; + String get settings_location => 'Ubicación'; @override String get settings_locationSubtitle => 'Coordenadas GPS'; @override - String get settings_locationUpdated => 'Ubicación actualizada'; + String get settings_locationUpdated => 'Ubicación actualizada'; @override String get settings_locationBothRequired => 'Introduzca tanto la latitud como la longitud.'; @override - String get settings_locationInvalid => 'Latitud o longitud inválidos.'; + String get settings_locationInvalid => 'Latitud o longitud inválidos.'; @override String get settings_locationGPSEnable => 'Habilitar GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Habilita la actualización automática de la ubicación mediante GPS.'; + 'Habilita la actualización automática de la ubicación mediante GPS.'; @override String get settings_locationIntervalSec => 'Intervalo para GPS (Segundos)'; @@ -276,11 +269,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_privacyModeSubtitle => - 'Ocultar nombre/ubicación en anuncios'; + 'Ocultar nombre/ubicación en anuncios'; @override String get settings_privacyModeToggle => - 'Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.'; + 'Activar el modo de privacidad para ocultar tu nombre y ubicación en los anuncios.'; @override String get settings_privacyModeEnabled => 'Modo de privacidad activado'; @@ -296,17 +289,17 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_sendAdvertisementSubtitle => - 'Presencia de transmisión ahora'; + 'Presencia de transmisión ahora'; @override String get settings_advertisementSent => 'Anuncio enviado'; @override - String get settings_syncTime => 'Tiempo de Sincronización'; + String get settings_syncTime => 'Tiempo de Sincronización'; @override String get settings_syncTimeSubtitle => - 'Establecer la hora del dispositivo al tiempo del teléfono'; + 'Establecer la hora del dispositivo al tiempo del teléfono'; @override String get settings_timeSynchronized => 'Sincronizado en el tiempo'; @@ -327,24 +320,24 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_rebootDeviceConfirm => - '¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.'; + '¿Está seguro de que desea reiniciar el dispositivo? Se desconectará.'; @override String get settings_debug => 'Depurar'; @override - String get settings_bleDebugLog => 'Registro de Depuración BLE'; + String get settings_bleDebugLog => 'Registro de Depuración BLE'; @override String get settings_bleDebugLogSubtitle => 'Comandos, respuestas y datos brutos de BLE'; @override - String get settings_appDebugLog => 'Registro de Depuración de la App'; + String get settings_appDebugLog => 'Registro de Depuración de la App'; @override String get settings_appDebugLogSubtitle => - 'Mensajes de depuración de la aplicación'; + 'Mensajes de depuración de la aplicación'; @override String get settings_about => 'Acerca de'; @@ -359,11 +352,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_aboutDescription => - 'Un cliente de código abierto de Flutter para dispositivos de red mesh LoRa de MeshCore.'; + 'Un cliente de código abierto de Flutter para dispositivos de red mesh LoRa de MeshCore.'; @override String get settings_aboutOpenMeteoAttribution => - 'Datos de elevación LOS: Open-Meteo (CC BY 4.0)'; + 'Datos de elevación LOS: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Nombre'; @@ -375,16 +368,16 @@ class AppLocalizationsEs extends AppLocalizations { String get settings_infoStatus => 'Estado'; @override - String get settings_infoBattery => 'Batería'; + String get settings_infoBattery => 'Batería'; @override - String get settings_infoPublicKey => 'Clave Pública'; + String get settings_infoPublicKey => 'Clave Pública'; @override - String get settings_infoContactsCount => 'Número de contactos'; + String get settings_infoContactsCount => 'Número de contactos'; @override - String get settings_infoChannelCount => 'Número de canales'; + String get settings_infoChannelCount => 'Número de canales'; @override String get settings_presets => 'Preajustes'; @@ -396,16 +389,16 @@ class AppLocalizationsEs extends AppLocalizations { String get settings_frequencyHelper => '300,0 - 2500,0'; @override - String get settings_frequencyInvalid => 'Frecuencia inválida (300-2500 MHz)'; + String get settings_frequencyInvalid => 'Frecuencia inválida (300-2500 MHz)'; @override String get settings_bandwidth => 'Ancho de banda'; @override - String get settings_spreadingFactor => 'Factor de propagación'; + String get settings_spreadingFactor => 'Factor de propagación'; @override - String get settings_codingRate => 'Tasa de Programación'; + String get settings_codingRate => 'Tasa de Programación'; @override String get settings_txPower => 'TX Potencia (dBm)'; @@ -414,10 +407,10 @@ class AppLocalizationsEs extends AppLocalizations { String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Potencia de TX inválida (0-22 dBm)'; + String get settings_txPowerInvalid => 'Potencia de TX inválida (0-22 dBm)'; @override - String get settings_clientRepeat => 'Repetir sin conexión'; + String get settings_clientRepeat => 'Repetir sin conexión'; @override String get settings_clientRepeatSubtitle => @@ -425,7 +418,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_clientRepeatFreqWarning => - 'Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.'; + 'Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.'; @override String settings_error(String message) { @@ -433,7 +426,7 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get appSettings_title => 'Configuración de la App'; + String get appSettings_title => 'Configuración de la App'; @override String get appSettings_appearance => 'Apariencia'; @@ -460,10 +453,10 @@ class AppLocalizationsEs extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -472,16 +465,16 @@ class AppLocalizationsEs extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -490,10 +483,10 @@ class AppLocalizationsEs extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Ruso'; @@ -521,7 +514,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_notificationPermissionDenied => - 'Permiso de notificación denegado'; + 'Permiso de notificación denegado'; @override String get appSettings_notificationsEnabled => 'Notificaciones activadas'; @@ -534,7 +527,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_messageNotificationsSubtitle => - 'Mostrar notificación al recibir nuevos mensajes'; + 'Mostrar notificación al recibir nuevos mensajes'; @override String get appSettings_channelMessageNotifications => @@ -542,7 +535,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_channelMessageNotificationsSubtitle => - 'Mostrar notificación al recibir mensajes del canal'; + 'Mostrar notificación al recibir mensajes del canal'; @override String get appSettings_advertisementNotifications => @@ -550,10 +543,10 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_advertisementNotificationsSubtitle => - 'Mostrar notificación cuando se descubren nuevos nodos'; + 'Mostrar notificación cuando se descubren nuevos nodos'; @override - String get appSettings_messaging => 'Mensajería'; + String get appSettings_messaging => 'Mensajería'; @override String get appSettings_clearPathOnMaxRetry => @@ -561,45 +554,45 @@ class AppLocalizationsEs extends AppLocalizations { @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Restablecer la ruta de contacto después de 5 intentos de envío fallidos'; + 'Restablecer la ruta de contacto después de 5 intentos de envío fallidos'; @override String get appSettings_pathsWillBeCleared => - 'Los caminos se limpiarán después de 5 intentos fallidos.'; + 'Los caminos se limpiarán después de 5 intentos fallidos.'; @override String get appSettings_pathsWillNotBeCleared => - 'Las rutas no se eliminarán automáticamente.'; + 'Las rutas no se eliminarán automáticamente.'; @override - String get appSettings_autoRouteRotation => 'Rotación de Ruta Automática'; + String get appSettings_autoRouteRotation => 'Rotación de Ruta Automática'; @override String get appSettings_autoRouteRotationSubtitle => - 'Alternar entre las mejores rutas y el modo inundación'; + 'Alternar entre las mejores rutas y el modo inundación'; @override String get appSettings_autoRouteRotationEnabled => - 'Rotación de ruta automática habilitada'; + 'Rotación de ruta automática habilitada'; @override String get appSettings_autoRouteRotationDisabled => - 'Rotación de ruta automática desactivada'; + 'Rotación de ruta automática desactivada'; @override - String get appSettings_battery => 'Batería'; + String get appSettings_battery => 'Batería'; @override - String get appSettings_batteryChemistry => 'Química de la batería'; + String get appSettings_batteryChemistry => 'Química de la batería'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Configuración por dispositivo ($deviceName)'; + return 'Configuración por dispositivo ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Conéctate a un dispositivo para elegir'; + 'Conéctate a un dispositivo para elegir'; @override String get appSettings_batteryNmc => '18650 NMC (3.0-4.2V)'; @@ -611,7 +604,7 @@ class AppLocalizationsEs extends AppLocalizations { String get appSettings_batteryLipo => 'LiPo (3.0-4.2V)'; @override - String get appSettings_mapDisplay => 'Visualización del Mapa'; + String get appSettings_mapDisplay => 'Visualización del Mapa'; @override String get appSettings_showRepeaters => 'Mostrar Repetidores'; @@ -642,7 +635,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String appSettings_timeFilterShowLast(int hours) { - return 'Mostrar nodos de las últimas $hours horas'; + return 'Mostrar nodos de las últimas $hours horas'; } @override @@ -656,67 +649,68 @@ class AppLocalizationsEs extends AppLocalizations { String get appSettings_allTime => 'Todo el tiempo'; @override - String get appSettings_lastHour => 'Última hora'; + String get appSettings_lastHour => 'Última hora'; @override - String get appSettings_last6Hours => 'Últimas 6 horas'; + String get appSettings_last6Hours => 'Últimas 6 horas'; @override - String get appSettings_last24Hours => 'Últimas 24 horas'; + String get appSettings_last24Hours => 'Últimas 24 horas'; @override String get appSettings_lastWeek => 'La semana pasada'; @override - String get appSettings_offlineMapCache => 'Caché de Mapa Offline'; + String get appSettings_offlineMapCache => 'Caché de Mapa Offline'; @override String get appSettings_unitsTitle => 'Unidades'; @override - String get appSettings_unitsMetric => 'Métrico (m/km)'; + String get appSettings_unitsMetric => 'Métrico (m/km)'; @override String get appSettings_unitsImperial => 'Imperial (pies/millas)'; @override - String get appSettings_noAreaSelected => 'No se ha seleccionado ningún área'; + String get appSettings_noAreaSelected => + 'No se ha seleccionado ningún área'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Área seleccionada (zoom $minZoom-$maxZoom)'; + return 'Área seleccionada (zoom $minZoom-$maxZoom)'; } @override String get appSettings_debugCard => 'Depurar'; @override - String get appSettings_appDebugLogging => 'Registro de Depuración de la App'; + String get appSettings_appDebugLogging => 'Registro de Depuración de la App'; @override String get appSettings_appDebugLoggingSubtitle => - 'Registrar mensajes de depuración de la app de registro para solucionar problemas'; + 'Registrar mensajes de depuración de la app de registro para solucionar problemas'; @override String get appSettings_appDebugLoggingEnabled => - 'Registro de depuración de la aplicación habilitado'; + 'Registro de depuración de la aplicación habilitado'; @override String get appSettings_appDebugLoggingDisabled => - 'El registro de depuración de la aplicación está desactivado'; + 'El registro de depuración de la aplicación está desactivado'; @override String get contacts_title => 'Contactos'; @override - String get contacts_noContacts => 'Aún no hay contactos.'; + String get contacts_noContacts => 'Aún no hay contactos.'; @override String get contacts_contactsWillAppear => - 'Los contactos aparecerán cuando los dispositivos anuncien.'; + 'Los contactos aparecerán cuando los dispositivos anuncien.'; @override - String get contacts_unread => 'No leído'; + String get contacts_unread => 'No leído'; @override String get contacts_searchContactsNoNumber => 'Buscar contactos...'; @@ -765,7 +759,7 @@ class AppLocalizationsEs extends AppLocalizations { String get contacts_manageRepeater => 'Gestionar Repetidor'; @override - String get contacts_manageRoom => 'Gestionar Servidor de Habitación'; + String get contacts_manageRoom => 'Gestionar Servidor de Habitación'; @override String get contacts_roomLogin => 'Inicio de Sala'; @@ -809,27 +803,27 @@ class AppLocalizationsEs extends AppLocalizations { String get contacts_noMembers => 'No miembros'; @override - String get contacts_lastSeenNow => 'Última vez que se vio ahora'; + String get contacts_lastSeenNow => 'Última vez que se vio ahora'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Última vez visto hace $minutes minutos.'; + return 'Última vez visto hace $minutes minutos.'; } @override - String get contacts_lastSeenHourAgo => 'Última vez que se vio hace 1 hora'; + String get contacts_lastSeenHourAgo => 'Última vez que se vio hace 1 hora'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Última vez visto hace $hours horas.'; + return 'Última vez visto hace $hours horas.'; } @override - String get contacts_lastSeenDayAgo => 'Última vez que se vio hace 1 día'; + String get contacts_lastSeenDayAgo => 'Última vez que se vio hace 1 día'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Última vez visto hace $days días.'; + return 'Última vez visto hace $days días.'; } @override @@ -839,7 +833,7 @@ class AppLocalizationsEs extends AppLocalizations { String get channels_noChannelsConfigured => 'No se han configurado canales'; @override - String get channels_addPublicChannel => 'Añadir Canal Público'; + String get channels_addPublicChannel => 'Añadir Canal Público'; @override String get channels_searchChannels => 'Buscar canales...'; @@ -856,13 +850,13 @@ class AppLocalizationsEs extends AppLocalizations { String get channels_hashtagChannel => 'Canal con hashtag'; @override - String get channels_public => 'Público'; + String get channels_public => 'Público'; @override String get channels_private => 'Privado'; @override - String get channels_publicChannel => 'Canal público'; + String get channels_publicChannel => 'Canal público'; @override String get channels_privateChannel => 'Canal privado'; @@ -895,19 +889,19 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get channels_addChannel => 'Añadir Canal'; + String get channels_addChannel => 'Añadir Canal'; @override - String get channels_channelIndexLabel => 'Índice de Canal'; + String get channels_channelIndexLabel => 'Índice de Canal'; @override String get channels_channelName => 'Nombre del canal'; @override - String get channels_usePublicChannel => 'Usar Canal Público'; + String get channels_usePublicChannel => 'Usar Canal Público'; @override - String get channels_standardPublicPsk => 'PSK estándar público'; + String get channels_standardPublicPsk => 'PSK estándar público'; @override String get channels_pskHex => 'PSK (Hex)'; @@ -925,7 +919,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String channels_channelAdded(String name) { - return 'Canal \"$name\" añadido'; + return 'Canal \"$name\" añadido'; } @override @@ -934,7 +928,7 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get channels_smazCompression => 'Compresión SMAZ'; + String get channels_smazCompression => 'Compresión SMAZ'; @override String channels_channelUpdated(String name) { @@ -942,7 +936,7 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get channels_publicChannelAdded => 'Canal público añadido'; + String get channels_publicChannelAdded => 'Canal público añadido'; @override String get channels_sortBy => 'Ordenar por'; @@ -954,7 +948,7 @@ class AppLocalizationsEs extends AppLocalizations { String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Últimos mensajes'; + String get channels_sortLatestMessages => 'Últimos mensajes'; @override String get channels_sortUnread => 'Sin leer'; @@ -967,31 +961,31 @@ class AppLocalizationsEs extends AppLocalizations { 'Cifrado con una clave secreta.'; @override - String get channels_joinPrivateChannel => 'Únete a un Canal Privado'; + String get channels_joinPrivateChannel => 'Únete a un Canal Privado'; @override String get channels_joinPrivateChannelDesc => 'Introducir manualmente una clave secreta.'; @override - String get channels_joinPublicChannel => 'Únete al Canal Público'; + String get channels_joinPublicChannel => 'Únete al Canal Público'; @override String get channels_joinPublicChannelDesc => 'Cualquiera puede unirse a este canal.'; @override - String get channels_joinHashtagChannel => 'Únete a un Canal con Hashtag'; + String get channels_joinHashtagChannel => 'Únete a un Canal con Hashtag'; @override String get channels_joinHashtagChannelDesc => 'Cualquiera puede unirse a los canales de hashtag.'; @override - String get channels_scanQrCode => 'Escanear un Código QR'; + String get channels_scanQrCode => 'Escanear un Código QR'; @override - String get channels_scanQrCodeComingSoon => 'Próximamente'; + String get channels_scanQrCodeComingSoon => 'Próximamente'; @override String get channels_enterHashtag => 'Introducir hashtag'; @@ -1000,7 +994,7 @@ class AppLocalizationsEs extends AppLocalizations { String get channels_hashtagHint => 'ej. #equipo'; @override - String get chat_noMessages => 'Aún no hay mensajes'; + String get chat_noMessages => 'Aún no hay mensajes'; @override String get chat_sendMessageToStart => 'Enviar un mensaje para comenzar'; @@ -1019,7 +1013,7 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get chat_location => 'Ubicación'; + String get chat_location => 'Ubicación'; @override String chat_sendMessageTo(String contactName) { @@ -1031,7 +1025,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String chat_messageTooLong(int maxBytes) { - return 'Mensaje demasiado largo (máximo $maxBytes bytes).'; + return 'Mensaje demasiado largo (máximo $maxBytes bytes).'; } @override @@ -1041,7 +1035,7 @@ class AppLocalizationsEs extends AppLocalizations { String get chat_messageDeleted => 'Mensaje borrado'; @override - String get chat_retryingMessage => 'Reintentando…'; + String get chat_retryingMessage => 'Reintentando…'; @override String chat_retryCount(int current, int max) { @@ -1055,7 +1049,7 @@ class AppLocalizationsEs extends AppLocalizations { String get chat_reply => 'Responder'; @override - String get chat_addReaction => 'Añadir Reacción'; + String get chat_addReaction => 'Añadir Reacción'; @override String get chat_me => 'Yo'; @@ -1091,13 +1085,13 @@ class AppLocalizationsEs extends AppLocalizations { String get gifPicker_failedSearch => 'No se encontraron GIFs'; @override - String get gifPicker_noInternet => 'No hay conexión a internet'; + String get gifPicker_noInternet => 'No hay conexión a internet'; @override - String get debugLog_appTitle => 'Registro de Depuración de la App'; + String get debugLog_appTitle => 'Registro de Depuración de la App'; @override - String get debugLog_bleTitle => 'Registro de Depuración BLE'; + String get debugLog_bleTitle => 'Registro de Depuración BLE'; @override String get debugLog_copyLog => 'Copiar registro'; @@ -1106,17 +1100,17 @@ class AppLocalizationsEs extends AppLocalizations { String get debugLog_clearLog => 'Borrar registro'; @override - String get debugLog_copied => 'Registro de depuración copiado'; + String get debugLog_copied => 'Registro de depuración copiado'; @override String get debugLog_bleCopied => 'Registro BLE copiado'; @override - String get debugLog_noEntries => 'Aún no hay registros de depuración.'; + String get debugLog_noEntries => 'Aún no hay registros de depuración.'; @override String get debugLog_enableInSettings => - 'Habilitar el registro de depuración de la aplicación en la configuración'; + 'Habilitar el registro de depuración de la aplicación en la configuración'; @override String get debugLog_frames => 'Marcos'; @@ -1125,7 +1119,7 @@ class AppLocalizationsEs extends AppLocalizations { String get debugLog_rawLogRx => 'Registro Crudo-RX'; @override - String get debugLog_noBleActivity => 'Aún no hay actividad BLE'; + String get debugLog_noBleActivity => 'Aún no hay actividad BLE'; @override String debugFrame_length(int count) { @@ -1175,7 +1169,7 @@ class AppLocalizationsEs extends AppLocalizations { String get debugFrame_hexDump => 'Mapeo Hexadecimal:'; @override - String get chat_pathManagement => 'Gestión de Rutas'; + String get chat_pathManagement => 'Gestión de Rutas'; @override String get chat_ShowAllPaths => 'Mostrar todos los caminos'; @@ -1187,14 +1181,14 @@ class AppLocalizationsEs extends AppLocalizations { String get chat_autoUseSavedPath => 'Auto (usar la ruta guardada)'; @override - String get chat_forceFloodMode => 'Modo Inundación Forzado'; + String get chat_forceFloodMode => 'Modo Inundación Forzado'; @override String get chat_recentAckPaths => 'Rutas de ACK Recientes (tocar para usar):'; @override String get chat_pathHistoryFull => - 'El historial de rutas está completo. Eliminar entradas para añadir nuevas.'; + 'El historial de rutas está completo. Eliminar entradas para añadir nuevas.'; @override String get chat_hopSingular => 'salta'; @@ -1214,14 +1208,14 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get chat_successes => 'Éxitos'; + String get chat_successes => 'Éxitos'; @override String get chat_removePath => 'Eliminar ruta'; @override String get chat_noPathHistoryYet => - 'Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.'; + 'Aún no hay historial de rutas.\nEnvía un mensaje para descubrir rutas.'; @override String get chat_pathActions => 'Acciones de Ruta:'; @@ -1238,11 +1232,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get chat_clearPathSubtitle => - 'Forzar redescubrimiento en el próximo envío'; + 'Forzar redescubrimiento en el próximo envío'; @override String get chat_pathCleared => - 'Ruta eliminada. El siguiente mensaje redescubrirá la ruta.'; + 'Ruta eliminada. El siguiente mensaje redescubrirá la ruta.'; @override String get chat_floodModeSubtitle => @@ -1250,14 +1244,14 @@ class AppLocalizationsEs extends AppLocalizations { @override String get chat_floodModeEnabled => - 'El modo de inundación está habilitado. Desactívalo mediante el icono de enrutamiento en la barra de herramientas de la aplicación.'; + 'El modo de inundación está habilitado. Desactívalo mediante el icono de enrutamiento en la barra de herramientas de la aplicación.'; @override String get chat_fullPath => 'Ruta completa'; @override String get chat_pathDetailsNotAvailable => - 'Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.'; + 'Los detalles de la ruta aún no están disponibles. Intenta enviar un mensaje para refrescar.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1272,13 +1266,13 @@ class AppLocalizationsEs extends AppLocalizations { @override String get chat_pathSavedLocally => - 'Guardado localmente. Conéctate para sincronizar.'; + 'Guardado localmente. Conéctate para sincronizar.'; @override String get chat_pathDeviceConfirmed => 'Dispositivo confirmado.'; @override - String get chat_pathDeviceNotConfirmed => 'Dispositivo aún no confirmado.'; + String get chat_pathDeviceNotConfirmed => 'Dispositivo aún no confirmado.'; @override String get chat_type => 'Escribe'; @@ -1287,13 +1281,13 @@ class AppLocalizationsEs extends AppLocalizations { String get chat_path => 'Ruta'; @override - String get chat_publicKey => 'Clave Pública'; + String get chat_publicKey => 'Clave Pública'; @override String get chat_compressOutgoingMessages => 'Comprimir mensajes salientes'; @override - String get chat_floodForced => 'Inundación (forzada)'; + String get chat_floodForced => 'Inundación (forzada)'; @override String get chat_directForced => 'Directo (forzado)'; @@ -1304,13 +1298,13 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get chat_floodAuto => 'Inundación (automática)'; + String get chat_floodAuto => 'Inundación (automática)'; @override String get chat_direct => 'Guardar'; @override - String get chat_poiShared => 'Punto de Interés Compartido'; + String get chat_poiShared => 'Punto de Interés Compartido'; @override String chat_unread(int count) { @@ -1318,11 +1312,11 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get chat_openLink => '¿Abrir enlace?'; + String get chat_openLink => '¿Abrir enlace?'; @override String get chat_openLinkConfirmation => - '¿Quiere abrir este enlace en su navegador?'; + '¿Quiere abrir este enlace en su navegador?'; @override String get chat_open => 'Abrir'; @@ -1333,19 +1327,19 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get chat_invalidLink => 'Formato de enlace no válido'; + String get chat_invalidLink => 'Formato de enlace no válido'; @override String get map_title => 'Mapa de Nodos'; @override - String get map_lineOfSight => 'Línea de visión'; + String get map_lineOfSight => 'Línea de visión'; @override - String get map_losScreenTitle => 'Línea de visión'; + String get map_losScreenTitle => 'Línea de visión'; @override - String get map_noNodesWithLocation => 'No hay nodos con datos de ubicación'; + String get map_noNodesWithLocation => 'No hay nodos con datos de ubicación'; @override String get map_nodesNeedGps => @@ -1368,7 +1362,7 @@ class AppLocalizationsEs extends AppLocalizations { String get map_repeater => 'Repetidor'; @override - String get map_room => 'Habitación'; + String get map_room => 'Habitación'; @override String get map_sensor => 'Sensor'; @@ -1380,14 +1374,14 @@ class AppLocalizationsEs extends AppLocalizations { String get map_pinPrivate => 'Bloqueo (Privado)'; @override - String get map_pinPublic => 'Clave (Pública)'; + String get map_pinPublic => 'Clave (Pública)'; @override - String get map_lastSeen => 'Última vez que se vio'; + String get map_lastSeen => 'Última vez que se vio'; @override String get map_disconnectConfirm => - '¿Está seguro de que desea desconectarse de este dispositivo?'; + '¿Está seguro de que desea desconectarse de este dispositivo?'; @override String get map_from => 'De'; @@ -1399,7 +1393,7 @@ class AppLocalizationsEs extends AppLocalizations { String get map_flags => 'Banderas'; @override - String get map_shareMarkerHere => 'Compartir marcador aquí'; + String get map_shareMarkerHere => 'Compartir marcador aquí'; @override String get map_pinLabel => 'Etiqueta de marcador'; @@ -1408,7 +1402,7 @@ class AppLocalizationsEs extends AppLocalizations { String get map_label => 'Etiqueta'; @override - String get map_pointOfInterest => 'Punto de interés'; + String get map_pointOfInterest => 'Punto de interés'; @override String get map_sendToContact => 'Enviar a contacto'; @@ -1420,16 +1414,16 @@ class AppLocalizationsEs extends AppLocalizations { String get map_noChannelsAvailable => 'No hay canales disponibles'; @override - String get map_publicLocationShare => 'Compartir ubicación pública'; + String get map_publicLocationShare => 'Compartir ubicación pública'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Estás a punto de compartir una ubicación en $channelLabel. Este canal es público y cualquiera con la PSK puede verlo.'; + return 'Estás a punto de compartir una ubicación en $channelLabel. Este canal es público y cualquiera con la PSK puede verlo.'; } @override String get map_connectToShareMarkers => - 'Conéctate a un dispositivo para compartir marcadores'; + 'Conéctate a un dispositivo para compartir marcadores'; @override String get map_filterNodes => 'Filtrar Nodos'; @@ -1453,7 +1447,7 @@ class AppLocalizationsEs extends AppLocalizations { String get map_filterByKeyPrefix => 'Filtrar por prefijo clave'; @override - String get map_publicKeyPrefix => 'Prefijo de clave pública'; + String get map_publicKeyPrefix => 'Prefijo de clave pública'; @override String get map_markers => 'Marcadores'; @@ -1462,13 +1456,13 @@ class AppLocalizationsEs extends AppLocalizations { String get map_showSharedMarkers => 'Mostrar marcadores compartidos'; @override - String get map_lastSeenTime => 'Última vez que se vio'; + String get map_lastSeenTime => 'Última vez que se vio'; @override String get map_sharedPin => 'Pin compartido'; @override - String get map_joinRoom => 'Únete a la sala'; + String get map_joinRoom => 'Únete a la sala'; @override String get map_manageRepeater => 'Gestionar Repetidor'; @@ -1480,28 +1474,28 @@ class AppLocalizationsEs extends AppLocalizations { String get map_runTrace => 'Ejecutar Rastreo de Ruta'; @override - String get map_removeLast => 'Eliminar último'; + String get map_removeLast => 'Eliminar último'; @override String get map_pathTraceCancelled => 'Rastreo de ruta cancelado.'; @override - String get mapCache_title => 'Caché de Mapa Offline'; + String get mapCache_title => 'Caché de Mapa Offline'; @override String get mapCache_selectAreaFirst => - 'Seleccionar un área para cachear primero'; + 'Seleccionar un área para cachear primero'; @override String get mapCache_noTilesToDownload => - 'No hay azulejos para descargar para este área.'; + 'No hay azulejos para descargar para este área.'; @override String get mapCache_downloadTilesTitle => 'Descargar ficheros'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Descargar $count ficheros para usar sin conexión?'; + return 'Descargar $count ficheros para usar sin conexión?'; } @override @@ -1518,21 +1512,21 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get mapCache_clearOfflineCacheTitle => 'Borrar caché offline'; + String get mapCache_clearOfflineCacheTitle => 'Borrar caché offline'; @override String get mapCache_clearOfflineCachePrompt => - 'Eliminar todas las baldosas en caché del mapa?'; + 'Eliminar todas las baldosas en caché del mapa?'; @override String get mapCache_offlineCacheCleared => - 'Almacén en caché sin conexión eliminado'; + 'Almacén en caché sin conexión eliminado'; @override - String get mapCache_noAreaSelected => 'No se ha seleccionado ningún área'; + String get mapCache_noAreaSelected => 'No se ha seleccionado ningún área'; @override - String get mapCache_cacheArea => 'Área de Caché'; + String get mapCache_cacheArea => 'Área de Caché'; @override String get mapCache_useCurrentView => 'Usar Vista Actual'; @@ -1554,7 +1548,7 @@ class AppLocalizationsEs extends AppLocalizations { String get mapCache_downloadTilesButton => 'Descargar Mosaicos'; @override - String get mapCache_clearCacheButton => 'Borrar Caché'; + String get mapCache_clearCacheButton => 'Borrar Caché'; @override String mapCache_failedDownloads(int count) { @@ -1586,7 +1580,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String time_daysAgo(int days) { - return '$days días hace'; + return '$days días hace'; } @override @@ -1596,10 +1590,10 @@ class AppLocalizationsEs extends AppLocalizations { String get time_hours => 'horas'; @override - String get time_day => 'día'; + String get time_day => 'día'; @override - String get time_days => 'días'; + String get time_days => 'días'; @override String get time_week => 'semana'; @@ -1624,34 +1618,34 @@ class AppLocalizationsEs extends AppLocalizations { @override String get dialog_disconnectConfirm => - '¿Está seguro de que desea desconectarse de este dispositivo?'; + '¿Está seguro de que desea desconectarse de este dispositivo?'; @override - String get login_repeaterLogin => 'Iniciar sesión en el Repetidor'; + String get login_repeaterLogin => 'Iniciar sesión en el Repetidor'; @override String get login_roomLogin => 'Inicio de Sala'; @override - String get login_password => 'Contraseña'; + String get login_password => 'Contraseña'; @override - String get login_enterPassword => 'Introducir contraseña'; + String get login_enterPassword => 'Introducir contraseña'; @override - String get login_savePassword => 'Guardar contraseña'; + String get login_savePassword => 'Guardar contraseña'; @override String get login_savePasswordSubtitle => - 'La contraseña se almacenará de forma segura en este dispositivo.'; + 'La contraseña se almacenará de forma segura en este dispositivo.'; @override String get login_repeaterDescription => - 'Ingrese la contraseña del repetidor para acceder a la configuración y el estado.'; + 'Ingrese la contraseña del repetidor para acceder a la configuración y el estado.'; @override String get login_roomDescription => - 'Ingrese la contraseña de la sala para acceder a la configuración y el estado.'; + 'Ingrese la contraseña de la sala para acceder a la configuración y el estado.'; @override String get login_routing => 'Enrutamiento'; @@ -1663,13 +1657,13 @@ class AppLocalizationsEs extends AppLocalizations { String get login_autoUseSavedPath => 'Auto (usar la ruta guardada)'; @override - String get login_forceFloodMode => 'Activar Modo Inundación Forzada'; + String get login_forceFloodMode => 'Activar Modo Inundación Forzada'; @override String get login_managePaths => 'Gestionar Rutas'; @override - String get login_login => 'Iniciar sesión'; + String get login_login => 'Iniciar sesión'; @override String login_attempt(int current, int max) { @@ -1683,7 +1677,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get login_failedMessage => - 'Inicio fallido. La contraseña es incorrecta o el repetidor no está disponible.'; + 'Inicio fallido. La contraseña es incorrecta o el repetidor no está disponible.'; @override String get common_reload => 'Recargar'; @@ -1719,14 +1713,14 @@ class AppLocalizationsEs extends AppLocalizations { @override String get path_hexPrefixExample => - 'Ejemplo: A1,F2,3C (cada nodo utiliza el primer byte de su clave pública).'; + 'Ejemplo: A1,F2,3C (cada nodo utiliza el primer byte de su clave pública).'; @override String get path_labelHexPrefixes => 'Prefijos hexadecimales'; @override String get path_helperMaxHops => - 'Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).'; + 'Máximo 64 saltos. Cada prefijo tiene 2 caracteres hexadecimales (1 byte).'; @override String get path_selectFromContacts => 'O seleccionar de contactos:'; @@ -1741,38 +1735,38 @@ class AppLocalizationsEs extends AppLocalizations { @override String path_invalidHexPrefixes(String prefixes) { - return 'Prefijos hexadecimales inválidos: $prefixes'; + return 'Prefijos hexadecimales inválidos: $prefixes'; } @override String get path_tooLong => - 'La ruta es demasiado larga. Se permiten un máximo de 64 saltos.'; + 'La ruta es demasiado larga. Se permiten un máximo de 64 saltos.'; @override String get path_setPath => 'Establecer Ruta'; @override - String get repeater_management => 'Gestión de Repetidores'; + String get repeater_management => 'Gestión de Repetidores'; @override - String get room_management => 'Administración del Servidor de Habitación'; + String get room_management => 'Administración del Servidor de Habitación'; @override - String get repeater_managementTools => 'Herramientas de Gestión'; + String get repeater_managementTools => 'Herramientas de Gestión'; @override String get repeater_status => 'Estado'; @override String get repeater_statusSubtitle => - 'Ver el estado, las estadísticas y los vecinos del repetidor'; + 'Ver el estado, las estadísticas y los vecinos del repetidor'; @override String get repeater_telemetry => 'Telemetry'; @override String get repeater_telemetrySubtitle => - 'Ver la telemetría de los sensores y las estadísticas del sistema'; + 'Ver la telemetría de los sensores y las estadísticas del sistema'; @override String get repeater_cli => 'CLI'; @@ -1787,10 +1781,11 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_neighborsSubtitle => 'Ver vecinos de salto cero.'; @override - String get repeater_settings => 'Configuración'; + String get repeater_settings => 'Configuración'; @override - String get repeater_settingsSubtitle => 'Configurar parámetros del repetidor'; + String get repeater_settingsSubtitle => + 'Configurar parámetros del repetidor'; @override String get repeater_statusTitle => 'Estado del Repetidor'; @@ -1802,16 +1797,16 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_autoUseSavedPath => 'Auto (usar la ruta guardada)'; @override - String get repeater_forceFloodMode => 'Modo Inundación Forzado'; + String get repeater_forceFloodMode => 'Modo Inundación Forzado'; @override - String get repeater_pathManagement => 'Gestión de rutas'; + String get repeater_pathManagement => 'Gestión de rutas'; @override String get repeater_refresh => 'Actualizar'; @override - String get repeater_statusRequestTimeout => 'Solicitud de estado caducó.'; + String get repeater_statusRequestTimeout => 'Solicitud de estado caducó.'; @override String repeater_errorLoadingStatus(String error) { @@ -1819,13 +1814,13 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get repeater_systemInformation => 'Información del sistema'; + String get repeater_systemInformation => 'Información del sistema'; @override - String get repeater_battery => 'Batería'; + String get repeater_battery => 'Batería'; @override - String get repeater_clockAtLogin => 'Reloj (al inicio de sesión)'; + String get repeater_clockAtLogin => 'Reloj (al inicio de sesión)'; @override String get repeater_uptime => 'Tiempo de actividad'; @@ -1834,16 +1829,16 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_queueLength => 'Longitud de la cola'; @override - String get repeater_debugFlags => 'Marcadores de Depuración'; + String get repeater_debugFlags => 'Marcadores de Depuración'; @override - String get repeater_radioStatistics => 'Estadísticas de Radio'; + String get repeater_radioStatistics => 'Estadísticas de Radio'; @override - String get repeater_lastRssi => 'Último RSSI'; + String get repeater_lastRssi => 'Último RSSI'; @override - String get repeater_lastSnr => 'Último SNR'; + String get repeater_lastSnr => 'Último SNR'; @override String get repeater_noiseFloor => 'Nivel de Ruido'; @@ -1855,7 +1850,7 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_rxAirtime => 'RX Airtime'; @override - String get repeater_packetStatistics => 'Estadísticas del Paquete'; + String get repeater_packetStatistics => 'Estadísticas del Paquete'; @override String get repeater_sent => 'Enviado'; @@ -1873,22 +1868,22 @@ class AppLocalizationsEs extends AppLocalizations { int minutes, int seconds, ) { - return '$days días ${hours}h ${minutes}m ${seconds}s'; + return '$days días ${hours}h ${minutes}m ${seconds}s'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Total: $total, Inundación: $flood, Directo: $direct'; + return 'Total: $total, Inundación: $flood, Directo: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Total: $total, Inundación: $flood, Directo: $direct'; + return 'Total: $total, Inundación: $flood, Directo: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Inundación: $flood, Directo: $direct'; + return 'Inundación: $flood, Directo: $direct'; } @override @@ -1897,10 +1892,10 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Configuración del Repetidor'; + String get repeater_settingsTitle => 'Configuración del Repetidor'; @override - String get repeater_basicSettings => 'Configuración Básica'; + String get repeater_basicSettings => 'Configuración Básica'; @override String get repeater_repeaterName => 'Nombre del Repetidor'; @@ -1910,20 +1905,20 @@ class AppLocalizationsEs extends AppLocalizations { 'Mostrar nombre para este repetidor'; @override - String get repeater_adminPassword => 'Contraseña de Administrador'; + String get repeater_adminPassword => 'Contraseña de Administrador'; @override - String get repeater_adminPasswordHelper => 'Contraseña de acceso completo'; + String get repeater_adminPasswordHelper => 'Contraseña de acceso completo'; @override - String get repeater_guestPassword => 'Contraseña de invitado'; + String get repeater_guestPassword => 'Contraseña de invitado'; @override String get repeater_guestPasswordHelper => - 'Acceso de solo lectura con contraseña'; + 'Acceso de solo lectura con contraseña'; @override - String get repeater_radioSettings => 'Configuración de Radio'; + String get repeater_radioSettings => 'Configuración de Radio'; @override String get repeater_frequencyMhz => 'Frecuencia (MHz)'; @@ -1941,13 +1936,13 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_bandwidth => 'Ancho de banda'; @override - String get repeater_spreadingFactor => 'Factor de propagación'; + String get repeater_spreadingFactor => 'Factor de propagación'; @override - String get repeater_codingRate => 'Tasa de Programación'; + String get repeater_codingRate => 'Tasa de Programación'; @override - String get repeater_locationSettings => 'Configuración de Ubicación'; + String get repeater_locationSettings => 'Configuración de Ubicación'; @override String get repeater_latitude => 'Latitud'; @@ -1964,7 +1959,7 @@ class AppLocalizationsEs extends AppLocalizations { 'Grados decimales (por ejemplo, -122.4194)'; @override - String get repeater_features => 'Características'; + String get repeater_features => 'Características'; @override String get repeater_packetForwarding => 'Enrutamiento de Paquetes'; @@ -1985,10 +1980,10 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_privacyModeSubtitle => - 'Ocultar nombre/ubicación en anuncios'; + 'Ocultar nombre/ubicación en anuncios'; @override - String get repeater_advertisementSettings => 'Configuración de Anuncios'; + String get repeater_advertisementSettings => 'Configuración de Anuncios'; @override String get repeater_localAdvertInterval => 'Intervalo de Anuncio Local'; @@ -2000,7 +1995,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Intervalo de Anuncio de Inundación'; + 'Intervalo de Anuncio de Inundación'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2022,18 +2017,18 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_rebootRepeaterConfirm => - '¿Está seguro de que desea reiniciar este repetidor?'; + '¿Está seguro de que desea reiniciar este repetidor?'; @override String get repeater_regenerateIdentityKey => 'Regenerar Clave de Identidad'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Generar nueva pareja de clave pública/privada'; + 'Generar nueva pareja de clave pública/privada'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Esto generará una nueva identidad para el repetidor. Continuar?'; + 'Esto generará una nueva identidad para el repetidor. Continuar?'; @override String get repeater_eraseFileSystem => 'Borrar Sistema de Archivos'; @@ -2044,11 +2039,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_eraseFileSystemConfirm => - 'ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!'; + 'ADVERTENCIA: Esto borrará todos los datos del repetidor. ¡Esto no se puede deshacer!'; @override String get repeater_eraseSerialOnly => - 'Borrar solo está disponible a través de la consola serial.'; + 'Borrar solo está disponible a través de la consola serial.'; @override String repeater_commandSent(String command) { @@ -2068,21 +2063,22 @@ class AppLocalizationsEs extends AppLocalizations { @override String repeater_errorSavingSettings(String error) { - return 'Error al guardar la configuración: $error'; + return 'Error al guardar la configuración: $error'; } @override - String get repeater_refreshBasicSettings => 'Actualizar Configuración Básica'; + String get repeater_refreshBasicSettings => + 'Actualizar Configuración Básica'; @override String get repeater_refreshRadioSettings => 'Actualizar Ajustes de Radio'; @override - String get repeater_refreshTxPower => 'Actualizar TX de energía'; + String get repeater_refreshTxPower => 'Actualizar TX de energía'; @override String get repeater_refreshLocationSettings => - 'Actualizar Configuración de Ubicación'; + 'Actualizar Configuración de Ubicación'; @override String get repeater_refreshPacketForwarding => @@ -2096,7 +2092,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_refreshAdvertisementSettings => - 'Actualizar Configuración de Anuncios'; + 'Actualizar Configuración de Anuncios'; @override String repeater_refreshed(String label) { @@ -2112,7 +2108,7 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_cliTitle => 'Repetidor CLI'; @override - String get repeater_debugNextCommand => 'Siguiente Comando de Depuración'; + String get repeater_debugNextCommand => 'Siguiente Comando de Depuración'; @override String get repeater_commandHelp => 'Ayuda'; @@ -2121,11 +2117,11 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_clearHistory => 'Borrar historial'; @override - String get repeater_noCommandsSent => 'Aún no se han enviado comandos.'; + String get repeater_noCommandsSent => 'Aún no se han enviado comandos.'; @override String get repeater_typeCommandOrUseQuick => - 'Escriba un comando a continuación o use comandos rápidos'; + 'Escriba un comando a continuación o use comandos rápidos'; @override String get repeater_enterCommandHint => 'Escribir comando...'; @@ -2160,7 +2156,7 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_cliQuickNeighbors => 'Vecinos'; @override - String get repeater_cliQuickVersion => 'Versión'; + String get repeater_cliQuickVersion => 'Versión'; @override String get repeater_cliQuickAdvertise => 'Anunciar'; @@ -2169,7 +2165,7 @@ class AppLocalizationsEs extends AppLocalizations { String get repeater_cliQuickClock => 'Reloj'; @override - String get repeater_cliHelpAdvert => 'Envía un paquete de publicidad'; + String get repeater_cliHelpAdvert => 'Envía un paquete de publicidad'; @override String get repeater_cliHelpReboot => @@ -2177,26 +2173,26 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpClock => - 'Muestra la hora actual según el reloj del dispositivo.'; + 'Muestra la hora actual según el reloj del dispositivo.'; @override String get repeater_cliHelpPassword => - 'Establece una nueva contraseña de administrador para el dispositivo.'; + 'Establece una nueva contraseña de administrador para el dispositivo.'; @override String get repeater_cliHelpVersion => - 'Muestra la versión del dispositivo y la fecha de compilación del firmware.'; + 'Muestra la versión del dispositivo y la fecha de compilación del firmware.'; @override String get repeater_cliHelpClearStats => - 'Reinicia varios contadores de estadísticas a cero.'; + 'Reinicia varios contadores de estadísticas a cero.'; @override String get repeater_cliHelpSetAf => 'Establece el factor de tiempo de aire.'; @override String get repeater_cliHelpSetTx => - 'Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).'; + 'Establece la potencia de transmisión LoRa en dBm (reboot para aplicar).'; @override String get repeater_cliHelpSetRepeat => @@ -2204,23 +2200,23 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpSetAllowReadOnly => - '(Servidor de la sala) Si está \"activado\", entonces el inicio de sesión con una contraseña en blanco estará permitido, pero no se podrá publicar en la sala. (solo lectura).'; + '(Servidor de la sala) Si está \"activado\", entonces el inicio de sesión con una contraseña en blanco estará permitido, pero no se podrá publicar en la sala. (solo lectura).'; @override String get repeater_cliHelpSetFloodMax => - 'Establece el número máximo de saltos de paquetes de inundación entrantes (si es >= máximo, el paquete no se enruta).'; + 'Establece el número máximo de saltos de paquetes de inundación entrantes (si es >= máximo, el paquete no se enruta).'; @override String get repeater_cliHelpSetIntThresh => - 'Establece el Umbral de Interferencia (en dB). El valor predeterminado es 14. Establecerlo en 0 desactiva la detección de interferencias del canal.'; + 'Establece el Umbral de Interferencia (en dB). El valor predeterminado es 14. Establecerlo en 0 desactiva la detección de interferencias del canal.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.'; + 'Establece el intervalo para restablecer el Control Automático de Ganancia. Establecer en 0 para desactivarlo.'; @override String get repeater_cliHelpSetMultiAcks => - 'Habilita o deshabilita la función de \'ACKs dobles\'.'; + 'Habilita o deshabilita la función de \'ACKs dobles\'.'; @override String get repeater_cliHelpSetAdvertInterval => @@ -2232,7 +2228,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpSetGuestPassword => - 'Establece/actualiza la contraseña del invitado. (para repetidores, los inicios de sesión de invitado pueden enviar la solicitud \"Obtener Estadísticas\")'; + 'Establece/actualiza la contraseña del invitado. (para repetidores, los inicios de sesión de invitado pueden enviar la solicitud \"Obtener Estadísticas\")'; @override String get repeater_cliHelpSetName => 'Establece el nombre del anuncio.'; @@ -2247,15 +2243,15 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpSetRadio => - 'Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.'; + 'Establece parámetros de radio completamente nuevos y los guarda en las preferencias. Requiere un comando \"reboot\" para aplicarlos.'; @override String get repeater_cliHelpSetRxDelay => - 'Configura (experimental) la base para aplicar un ligero retraso a los paquetes recibidos, según la fuerza de la señal/puntuación. Establece en 0 para desactivar.'; + 'Configura (experimental) la base para aplicar un ligero retraso a los paquetes recibidos, según la fuerza de la señal/puntuación. Establece en 0 para desactivar.'; @override String get repeater_cliHelpSetTxDelay => - 'Establece un factor multiplicado con el tiempo de aire para un paquete de modo de inundación y con un sistema de ranura aleatorio, para retrasar su reenvío (para disminuir la probabilidad de colisiones).'; + 'Establece un factor multiplicado con el tiempo de aire para un paquete de modo de inundación y con un sistema de ranura aleatorio, para retrasar su reenvío (para disminuir la probabilidad de colisiones).'; @override String get repeater_cliHelpSetDirectTxDelay => @@ -2271,7 +2267,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpSetBridgeSource => - 'Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.'; + 'Elige si el puente retransmitirá paquetes recibidos o paquetes transmitidos.'; @override String get repeater_cliHelpSetBridgeBaud => @@ -2283,15 +2279,15 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpSetAdcMultiplier => - 'Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).'; + 'Establece un factor personalizado para ajustar el voltaje de la batería reportado (solo soportado en selectas placas).'; @override String get repeater_cliHelpTempRadio => - 'Establece parámetros de radio temporales para el número dado de minutos, volviendo a los parámetros de radio originales posteriormente. (no guarda en preferencias).'; + 'Establece parámetros de radio temporales para el número dado de minutos, volviendo a los parámetros de radio originales posteriormente. (no guarda en preferencias).'; @override String get repeater_cliHelpSetPerm => - 'Modifica el ACL. Elimina la entrada coincidente (por prefijo de pubkey) si \"permissions\" es cero. Añade una nueva entrada si el pubkey-hex tiene longitud completa y no está actualmente en el ACL. Actualiza la entrada mediante el prefijo de pubkey coincidente. Los bits de permiso varían según el rol del firmware, pero los dos bits inferiores son: 0 (Invitado), 1 (Solo lectura), 2 (Lectura/escritura), 3 (Administrador).'; + 'Modifica el ACL. Elimina la entrada coincidente (por prefijo de pubkey) si \"permissions\" es cero. Añade una nueva entrada si el pubkey-hex tiene longitud completa y no está actualmente en el ACL. Actualiza la entrada mediante el prefijo de pubkey coincidente. Los bits de permiso varían según el rol del firmware, pero los dos bits inferiores son: 0 (Invitado), 1 (Solo lectura), 2 (Lectura/escritura), 3 (Administrador).'; @override String get repeater_cliHelpGetBridgeType => @@ -2311,7 +2307,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpNeighbors => - 'Muestra una lista de otros nodos repetidores escuchados a través de anuncios de un solo salto. Cada línea es id-prefijo-hex:marca de tiempo:times-snr-4'; + 'Muestra una lista de otros nodos repetidores escuchados a través de anuncios de un solo salto. Cada línea es id-prefijo-hex:marca de tiempo:times-snr-4'; @override String get repeater_cliHelpNeighborRemove => @@ -2319,38 +2315,38 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpRegion => - '(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.'; + '(solo serie) Lista todas las regiones definidas y los permisos de inundación actuales.'; @override String get repeater_cliHelpRegionLoad => - 'NOTA: este es un invocación multi-comando especial. Cada comando subsiguiente es un nombre de región (indentado con espacios para indicar la jerarquía padre, con un espacio mínimo). Terminado enviando una línea en blanco/comando.'; + 'NOTA: este es un invocación multi-comando especial. Cada comando subsiguiente es un nombre de región (indentado con espacios para indicar la jerarquía padre, con un espacio mínimo). Terminado enviando una línea en blanco/comando.'; @override String get repeater_cliHelpRegionGet => - 'Busca la región con el prefijo de nombre dado (o \"\" para el ámbito global). Responde con \"-> nombre-región (nombre-padre) \'F\'\"'; + 'Busca la región con el prefijo de nombre dado (o \"\" para el ámbito global). Responde con \"-> nombre-región (nombre-padre) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Agrega o actualiza una definición de región con el nombre dado.'; + 'Agrega o actualiza una definición de región con el nombre dado.'; @override String get repeater_cliHelpRegionRemove => - 'Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)'; + 'Elimina una definición de región con el nombre dado. (debe coincidir exactamente y no tener regiones hijas)'; @override String get repeater_cliHelpRegionAllowf => - 'Establece el permiso de \'F\'lujo para la región dada. (\'\' para el ámbito global/legado)'; + 'Establece el permiso de \'F\'lujo para la región dada. (\'\' para el ámbito global/legado)'; @override String get repeater_cliHelpRegionDenyf => - 'Elimina el permiso de \'F\'lood para la región especificada. (NOTA: en esta etapa NO se recomienda utilizarlo en el ámbito global/legado!!)'; + 'Elimina el permiso de \'F\'lood para la región especificada. (NOTA: en esta etapa NO se recomienda utilizarlo en el ámbito global/legado!!)'; @override String get repeater_cliHelpRegionHome => - 'Responde con la región \'home\' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).'; + 'Responde con la región \'home\' actual. (Aún no se ha aplicado en ninguna parte, reservado para el futuro).'; @override - String get repeater_cliHelpRegionHomeSet => 'Establece la región \'hogar\'.'; + String get repeater_cliHelpRegionHomeSet => 'Establece la región \'hogar\'.'; @override String get repeater_cliHelpRegionSave => @@ -2358,7 +2354,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpGps => - 'Muestra el estado del GPS. Cuando el GPS está apagado, responde solo con \"apagado\", si está encendido, responde con \"encendido\", estado, fijación, número de satélites.'; + 'Muestra el estado del GPS. Cuando el GPS está apagado, responde solo con \"apagado\", si está encendido, responde con \"encendido\", estado, fijación, número de satélites.'; @override String get repeater_cliHelpGpsOnOff => 'Activa o desactiva el modo GPS.'; @@ -2369,28 +2365,28 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_cliHelpGpsSetLoc => - 'Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.'; + 'Establece la posición del nodo a las coordenadas GPS y guarda las preferencias.'; @override String get repeater_cliHelpGpsAdvert => - 'Da la configuración de la publicidad del nodo de ubicación:\n- ninguno: no incluir la ubicación en las publicidad\n- compartir: compartir la ubicación GPS (del SensorManager)\n- preferencias: publicidad la ubicación almacenada en preferencias'; + 'Da la configuración de la publicidad del nodo de ubicación:\n- ninguno: no incluir la ubicación en las publicidad\n- compartir: compartir la ubicación GPS (del SensorManager)\n- preferencias: publicidad la ubicación almacenada en preferencias'; @override String get repeater_cliHelpGpsAdvertSet => - 'Configura la configuración de la publicidad de la ubicación.'; + 'Configura la configuración de la publicidad de la ubicación.'; @override String get repeater_commandsListTitle => 'Lista de comandos'; @override String get repeater_commandsListNote => - 'NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".'; + 'NOTA: para los diversos comandos \"set...\", también existe un comando \"get...\".'; @override String get repeater_general => 'General'; @override - String get repeater_settingsCategory => 'Configuración'; + String get repeater_settingsCategory => 'Configuración'; @override String get repeater_bridge => 'Puente'; @@ -2403,32 +2399,33 @@ class AppLocalizationsEs extends AppLocalizations { @override String get repeater_regionManagementRepeaterOnly => - 'Gestión de Regiones (solo Repetidor)'; + 'Gestión de Regiones (solo Repetidor)'; @override String get repeater_regionNote => - 'Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.'; + 'Se han introducido los comandos de región para gestionar las definiciones y permisos de la región.'; @override - String get repeater_gpsManagement => 'Gestión de GPS'; + String get repeater_gpsManagement => 'Gestión de GPS'; @override String get repeater_gpsNote => - 'Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.'; + 'Se ha introducido un comando GPS para gestionar temas relacionados con la ubicación.'; @override - String get telemetry_receivedData => 'Datos de Telemetría Recibidos'; + String get telemetry_receivedData => 'Datos de Telemetría Recibidos'; @override - String get telemetry_requestTimeout => 'Solicitud de telemetría ha expirado.'; + String get telemetry_requestTimeout => + 'Solicitud de telemetría ha expirado.'; @override String telemetry_errorLoading(String error) { - return 'Error al cargar la telemetría: $error'; + return 'Error al cargar la telemetría: $error'; } @override - String get telemetry_noData => 'No hay datos de telemetría disponibles.'; + String get telemetry_noData => 'No hay datos de telemetría disponibles.'; @override String telemetry_channelTitle(int channel) { @@ -2436,7 +2433,7 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get telemetry_batteryLabel => 'Batería'; + String get telemetry_batteryLabel => 'Batería'; @override String get telemetry_voltageLabel => 'Voltaje'; @@ -2467,7 +2464,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2490,12 +2487,12 @@ class AppLocalizationsEs extends AppLocalizations { @override String neighbors_unknownContact(String pubkey) { - return 'Clave pública desconocida $pubkey'; + return 'Clave pública desconocida $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Escuchado: $time hace atrás'; + return 'Escuchado: $time hace atrás'; } @override @@ -2512,7 +2509,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get channelPath_noHopDetails => - 'Los detalles del paquete no están disponibles.'; + 'Los detalles del paquete no están disponibles.'; @override String get channelPath_messageDetails => 'Detalles del mensaje'; @@ -2536,11 +2533,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Ruta observada $index • $hops'; + return 'Ruta observada $index • $hops'; } @override - String get channelPath_noLocationData => 'No datos de ubicación'; + String get channelPath_noLocationData => 'No datos de ubicación'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2556,7 +2553,7 @@ class AppLocalizationsEs extends AppLocalizations { String get channelPath_unknownPath => 'Desconocido'; @override - String get channelPath_floodPath => 'Inundación'; + String get channelPath_floodPath => 'Inundación'; @override String get channelPath_directPath => 'Guardar'; @@ -2591,7 +2588,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override @@ -2609,31 +2606,31 @@ class AppLocalizationsEs extends AppLocalizations { @override String get community_createDesc => - 'Crear una nueva comunidad y compartir a través de código QR.'; + 'Crear una nueva comunidad y compartir a través de código QR.'; @override - String get community_join => 'Únete'; + String get community_join => 'Únete'; @override - String get community_joinTitle => 'Únete a la comunidad'; + String get community_joinTitle => 'Únete a la comunidad'; @override String community_joinConfirmation(String name) { - return '¿Quieres unirte a la comunidad \"$name\"?'; + return '¿Quieres unirte a la comunidad \"$name\"?'; } @override - String get community_scanQr => 'Escanear Código QR de la Comunidad'; + String get community_scanQr => 'Escanear Código QR de la Comunidad'; @override String get community_scanInstructions => - 'Apunte la cámara a un código QR de la comunidad'; + 'Apunte la cámara a un código QR de la comunidad'; @override - String get community_showQr => 'Mostrar Código QR'; + String get community_showQr => 'Mostrar Código QR'; @override - String get community_publicChannel => 'Comunidad Pública'; + String get community_publicChannel => 'Comunidad Pública'; @override String get community_hashtagChannel => 'Hashtag de la Comunidad'; @@ -2651,7 +2648,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String community_joined(String name) { - return 'Se unió a la comunidad \"$name\"'; + return 'Se unió a la comunidad \"$name\"'; } @override @@ -2659,7 +2656,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String community_qrInstructions(String name) { - return 'Escanear este código QR para unirte a $name'; + return 'Escanear este código QR para unirte a $name'; } @override @@ -2667,7 +2664,7 @@ class AppLocalizationsEs extends AppLocalizations { 'Los canales de hashtag de la comunidad solo son accesibles para los miembros de la comunidad'; @override - String get community_invalidQrCode => 'Código QR de comunidad no válido'; + String get community_invalidQrCode => 'Código QR de comunidad no válido'; @override String get community_alreadyMember => 'Ya eres Miembro'; @@ -2679,18 +2676,18 @@ class AppLocalizationsEs extends AppLocalizations { @override String get community_addPublicChannel => - 'Añadir Canal Público de la Comunidad'; + 'Añadir Canal Público de la Comunidad'; @override String get community_addPublicChannelHint => - 'Añade automáticamente el canal público para esta comunidad.'; + 'Añade automáticamente el canal público para esta comunidad.'; @override - String get community_noCommunities => 'Aún no se han unido comunidades.'; + String get community_noCommunities => 'Aún no se han unido comunidades.'; @override String get community_scanOrCreate => - 'Escanear un código QR o crear una comunidad para comenzar'; + 'Escanear un código QR o crear una comunidad para comenzar'; @override String get community_manageCommunities => 'Gestionar Comunidades'; @@ -2700,12 +2697,12 @@ class AppLocalizationsEs extends AppLocalizations { @override String community_deleteConfirm(String name) { - return '¿Salir de \"$name\"?'; + return '¿Salir de \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Esto también eliminará $count canal(es) y sus mensajes.'; + return 'Esto también eliminará $count canal(es) y sus mensajes.'; } @override @@ -2714,11 +2711,11 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get community_regenerateSecret => 'Regenerar Contraseña Secreta'; + String get community_regenerateSecret => 'Regenerar Contraseña Secreta'; @override String community_regenerateSecretConfirm(String name) { - return 'Regenerar la clave secreta para \"$name\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.'; + return 'Regenerar la clave secreta para \"$name\"? Todos los miembros deberán escanear el nuevo código QR para seguir comunicándose.'; } @override @@ -2726,11 +2723,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String community_secretRegenerated(String name) { - return 'Código secreto regenerado para \"$name\"'; + return 'Código secreto regenerado para \"$name\"'; } @override - String get community_updateSecret => 'Actualizar Contraseña'; + String get community_updateSecret => 'Actualizar Contraseña'; @override String community_secretUpdated(String name) { @@ -2739,15 +2736,15 @@ class AppLocalizationsEs extends AppLocalizations { @override String community_scanToUpdateSecret(String name) { - return 'Escanear el nuevo código QR para actualizar el secreto de \"$name\"'; + return 'Escanear el nuevo código QR para actualizar el secreto de \"$name\"'; } @override - String get community_addHashtagChannel => 'Añadir Hashtag de la Comunidad'; + String get community_addHashtagChannel => 'Añadir Hashtag de la Comunidad'; @override String get community_addHashtagChannelDesc => - 'Añadir un canal con hashtag para esta comunidad'; + 'Añadir un canal con hashtag para esta comunidad'; @override String get community_selectCommunity => 'Seleccionar Comunidad'; @@ -2757,7 +2754,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get community_regularHashtagDesc => - 'Hashtag público (cualquiera puede unirse)'; + 'Hashtag público (cualquiera puede unirse)'; @override String get community_communityHashtag => 'Hashtag de la Comunidad'; @@ -2778,7 +2775,7 @@ class AppLocalizationsEs extends AppLocalizations { String get listFilter_sortBy => 'Ordenar por'; @override - String get listFilter_latestMessages => 'Últimos mensajes'; + String get listFilter_latestMessages => 'Últimos mensajes'; @override String get listFilter_heardRecently => 'Escuchado recientemente'; @@ -2796,7 +2793,7 @@ class AppLocalizationsEs extends AppLocalizations { String get listFilter_favorites => 'Favoritos'; @override - String get listFilter_addToFavorites => 'Añadir a favoritos'; + String get listFilter_addToFavorites => 'Añadir a favoritos'; @override String get listFilter_removeFromFavorites => 'Eliminar de las favoritas'; @@ -2817,20 +2814,21 @@ class AppLocalizationsEs extends AppLocalizations { String get listFilter_newGroup => 'Nuevo grupo'; @override - String get pathTrace_you => 'Tú'; + String get pathTrace_you => 'Tú'; @override - String get pathTrace_failed => 'El trazado de ruta falló.'; + String get pathTrace_failed => 'El trazado de ruta falló.'; @override - String get pathTrace_notAvailable => 'El trazado de ruta no está disponible.'; + String get pathTrace_notAvailable => + 'El trazado de ruta no está disponible.'; @override String get pathTrace_refreshTooltip => 'Actualizar Path Trace'; @override String get pathTrace_someHopsNoLocation => - 'Uno o más de los lúpulos carecen de una ubicación'; + 'Uno o más de los lúpulos carecen de una ubicación'; @override String get pathTrace_clearTooltip => 'Borrar ruta'; @@ -2841,7 +2839,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String losRunFailed(String error) { - return 'Error en la comprobación de la línea de visión: $error'; + return 'Error en la comprobación de la línea de visión: $error'; } @override @@ -2849,17 +2847,17 @@ class AppLocalizationsEs extends AppLocalizations { @override String get losRunToViewElevationProfile => - 'Ejecute LOS para ver el perfil de elevación'; + 'Ejecute LOS para ver el perfil de elevación'; @override - String get losMenuTitle => 'Menú LOS'; + String get losMenuTitle => 'Menú LOS'; @override String get losMenuSubtitle => 'Toque nodos o mantenga presionado el mapa para puntos personalizados'; @override - String get losShowDisplayNodes => 'Mostrar nodos de visualización'; + String get losShowDisplayNodes => 'Mostrar nodos de visualización'; @override String get losCustomPoints => 'Puntos personalizados'; @@ -2889,7 +2887,7 @@ class AppLocalizationsEs extends AppLocalizations { String get losRun => 'Ejecutar LOS'; @override - String get losNoElevationData => 'Sin datos de elevación'; + String get losNoElevationData => 'Sin datos de elevación'; @override String losProfileClear( @@ -2898,7 +2896,7 @@ class AppLocalizationsEs extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, despejar LOS, autorización mínima $clearance $heightUnit'; + return '$distance $distanceUnit, despejar LOS, autorización mínima $clearance $heightUnit'; } @override @@ -2924,11 +2922,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Datos de elevación no disponibles para una o más muestras.'; + 'Datos de elevación no disponibles para una o más muestras.'; @override String get losErrorInvalidInput => - 'Datos de puntos/elevación no válidos para el cálculo de LOS.'; + 'Datos de puntos/elevación no válidos para el cálculo de LOS.'; @override String get losRenameCustomPoint => @@ -2945,13 +2943,13 @@ class AppLocalizationsEs extends AppLocalizations { @override String get losElevationAttribution => - 'Datos de elevación: Open-Meteo (CC BY 4.0)'; + 'Datos de elevación: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Horizonte radioeléctrico'; + String get losLegendRadioHorizon => 'Horizonte radioeléctrico'; @override - String get losLegendLosBeam => 'Línea de visión'; + String get losLegendLosBeam => 'Línea de visión'; @override String get losLegendTerrain => 'Terreno'; @@ -2960,10 +2958,11 @@ class AppLocalizationsEs extends AppLocalizations { String get losFrequencyLabel => 'Frecuencia'; @override - String get losFrequencyInfoTooltip => 'Ver detalles del cálculo'; + String get losFrequencyInfoTooltip => 'Ver detalles del cálculo'; @override - String get losFrequencyDialogTitle => 'Cálculo del horizonte radioeléctrico'; + String get losFrequencyDialogTitle => + 'Cálculo del horizonte radioeléctrico'; @override String losFrequencyDialogDescription( @@ -2972,7 +2971,7 @@ class AppLocalizationsEs extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'A partir de k=$baselineK en $baselineFreq MHz, el cálculo ajusta el factor k para la banda actual de $frequencyMHz MHz, que define el límite curvo del horizonte de radio.'; + return 'A partir de k=$baselineK en $baselineFreq MHz, el cálculo ajusta el factor k para la banda actual de $frequencyMHz MHz, que define el límite curvo del horizonte de radio.'; } @override @@ -2989,7 +2988,7 @@ class AppLocalizationsEs extends AppLocalizations { @override String get contacts_roomPathTrace => - 'Rastreo de ruta al servidor de la habitación'; + 'Rastreo de ruta al servidor de la habitación'; @override String get contacts_roomPing => 'Pingar servidor de sala'; @@ -3003,23 +3002,23 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get contacts_clipboardEmpty => 'El portapapeles está vacío.'; + String get contacts_clipboardEmpty => 'El portapapeles está vacío.'; @override - String get contacts_invalidAdvertFormat => 'Datos de contacto no válidos'; + String get contacts_invalidAdvertFormat => 'Datos de contacto no válidos'; @override String get contacts_contactImported => 'El contacto ha sido importado.'; @override String get contacts_contactImportFailed => - 'Contacto no se importó correctamente.'; + 'Contacto no se importó correctamente.'; @override String get contacts_zeroHopAdvert => 'Anuncio de Zero Hop'; @override - String get contacts_floodAdvert => 'Anuncio de inundación'; + String get contacts_floodAdvert => 'Anuncio de inundación'; @override String get contacts_copyAdvertToClipboard => 'Copiar anuncio al portapapeles'; @@ -3035,7 +3034,8 @@ class AppLocalizationsEs extends AppLocalizations { String get contacts_ShareContactZeroHop => 'Compartir contacto por anuncio'; @override - String get contacts_zeroHopContactAdvertSent => 'Envió contacto por anuncio.'; + String get contacts_zeroHopContactAdvertSent => + 'Envió contacto por anuncio.'; @override String get contacts_zeroHopContactAdvertFailed => @@ -3098,24 +3098,24 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_gpxExportRepeatersSubtitle => - 'Exporta repetidores o roomserver con una ubicación a un archivo GPX.'; + 'Exporta repetidores o roomserver con una ubicación a un archivo GPX.'; @override - String get settings_gpxExportContacts => 'Exportar compañeros a GPX'; + String get settings_gpxExportContacts => 'Exportar compañeros a GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Exporta compañeros con una ubicación a archivo GPX.'; + 'Exporta compañeros con una ubicación a archivo GPX.'; @override String get settings_gpxExportAll => 'Exportar todos los contactos a GPX'; @override String get settings_gpxExportAllSubtitle => - 'Exporta todos los contactos con una ubicación a un archivo GPX.'; + 'Exporta todos los contactos con una ubicación a un archivo GPX.'; @override - String get settings_gpxExportSuccess => 'Archivo GPX exportado con éxito.'; + String get settings_gpxExportSuccess => 'Archivo GPX exportado con éxito.'; @override String get settings_gpxExportNoContacts => 'No hay contactos para exportar.'; @@ -3132,7 +3132,7 @@ class AppLocalizationsEs extends AppLocalizations { 'Ubicaciones del servidor de repetidor y sala'; @override - String get settings_gpxExportChat => 'Ubicaciones de compañero'; + String get settings_gpxExportChat => 'Ubicaciones de compañero'; @override String get settings_gpxExportAllContacts => @@ -3144,11 +3144,11 @@ class AppLocalizationsEs extends AppLocalizations { @override String get settings_gpxExportShareSubject => - 'meshcore-open exportación de datos de mapa GPX'; + 'meshcore-open exportación de datos de mapa GPX'; @override String get snrIndicator_nearByRepeaters => 'Repetidores cercanos'; @override - String get snrIndicator_lastSeen => 'Visto por última vez'; + String get snrIndicator_lastSeen => 'Visto por última vez'; } diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index aaca233..945a26b 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -48,19 +48,19 @@ class AppLocalizationsFr extends AppLocalizations { String get common_add => 'Ajouter'; @override - String get common_settings => 'Paramètres'; + String get common_settings => 'Paramètres'; @override - String get common_disconnect => 'Déconnecter'; + String get common_disconnect => 'Déconnecter'; @override - String get common_connected => 'Connecté'; + String get common_connected => 'Connecté'; @override - String get common_disconnected => 'Déconnecté'; + String get common_disconnected => 'Déconnecté'; @override - String get common_create => 'Créer'; + String get common_create => 'Créer'; @override String get common_continue => 'Continuer'; @@ -72,7 +72,7 @@ class AppLocalizationsFr extends AppLocalizations { String get common_copy => 'Copier'; @override - String get common_retry => 'Réessayer'; + String get common_retry => 'Réessayer'; @override String get common_hide => 'Masquer'; @@ -84,16 +84,16 @@ class AppLocalizationsFr extends AppLocalizations { String get common_enable => 'Activer'; @override - String get common_disable => 'Désactiver'; + String get common_disable => 'Désactiver'; @override - String get common_reboot => 'Redémarrer'; + String get common_reboot => 'Redémarrer'; @override String get common_loading => 'Chargement...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsFr extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Choisissez votre méthode de connexion.'; - - @override - String get connectionChoiceSubtitle => - 'Choisissez la méthode de connexion que vous préférez pour votre appareil MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,34 +119,34 @@ class AppLocalizationsFr extends AppLocalizations { @override String get usbScreenSubtitle => - 'Sélectionnez un périphérique série détecté et connectez-vous directement à votre nœud MeshCore.'; + 'Sélectionnez un périphérique série détecté et connectez-vous directement à votre nÅ“ud MeshCore.'; @override - String get usbScreenStatus => 'Sélectionnez un périphérique USB'; + String get usbScreenStatus => 'Sélectionnez un périphérique USB'; @override String get usbScreenNote => - 'La communication série USB est active sur les appareils Android et les plateformes de bureau pris en charge.'; + 'La communication série USB est active sur les appareils Android et les plateformes de bureau pris en charge.'; @override String get usbScreenEmptyState => - 'Aucun périphérique USB n\'a été trouvé. Veuillez connecter un périphérique et rafraîchir la page.'; + 'Aucun périphérique USB n\'a été trouvé. Veuillez connecter un périphérique et rafraîchir la page.'; @override - String get scanner_scanning => 'Recherche de périphériques...'; + String get scanner_scanning => 'Recherche de périphériques...'; @override String get scanner_connecting => 'Connexion en cours...'; @override - String get scanner_disconnecting => 'Déconnexion...'; + String get scanner_disconnecting => 'Déconnexion...'; @override - String get scanner_notConnected => 'Non connecté'; + String get scanner_notConnected => 'Non connecté'; @override String scanner_connectedTo(String deviceName) { - return 'Connecté à $deviceName'; + return 'Connecté à $deviceName'; } @override @@ -165,17 +158,17 @@ class AppLocalizationsFr extends AppLocalizations { @override String scanner_connectionFailed(String error) { - return 'Échec de la connexion : $error'; + return 'Échec de la connexion : $error'; } @override - String get scanner_stop => 'Arrêter'; + String get scanner_stop => 'Arrêter'; @override String get scanner_scan => 'Scanner'; @override - String get scanner_bluetoothOff => 'Le Bluetooth est désactivé.'; + String get scanner_bluetoothOff => 'Le Bluetooth est désactivé.'; @override String get scanner_bluetoothOffMessage => @@ -186,7 +179,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get scanner_chromeRequiredMessage => - 'Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.'; + 'Cette application web nécessite Google Chrome ou un navigateur basé sur Chromium pour le support Bluetooth.'; @override String get scanner_enableBluetooth => 'Activer le Bluetooth'; @@ -198,51 +191,51 @@ class AppLocalizationsFr extends AppLocalizations { String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Paramètres'; + String get settings_title => 'Paramètres'; @override - String get settings_deviceInfo => 'Informations du périphérique'; + String get settings_deviceInfo => 'Informations du périphérique'; @override - String get settings_appSettings => 'Paramètres de l\'application'; + String get settings_appSettings => 'Paramètres de l\'application'; @override String get settings_appSettingsSubtitle => - 'Notifications, messagerie et préférences de carte'; + 'Notifications, messagerie et préférences de carte'; @override - String get settings_nodeSettings => 'Paramètres du nœud'; + String get settings_nodeSettings => 'Paramètres du nÅ“ud'; @override - String get settings_nodeName => 'Nom du nœud'; + String get settings_nodeName => 'Nom du nÅ“ud'; @override - String get settings_nodeNameNotSet => 'Non défini'; + String get settings_nodeNameNotSet => 'Non défini'; @override - String get settings_nodeNameHint => 'Entrer le nom du nœud'; + String get settings_nodeNameHint => 'Entrer le nom du nÅ“ud'; @override - String get settings_nodeNameUpdated => 'Nom mis à jour'; + String get settings_nodeNameUpdated => 'Nom mis à jour'; @override - String get settings_radioSettings => 'Paramètres Radio'; + String get settings_radioSettings => 'Paramètres Radio'; @override String get settings_radioSettingsSubtitle => - 'Fréquence, puissance, facteur d\'espacement'; + 'Fréquence, puissance, facteur d\'espacement'; @override - String get settings_radioSettingsUpdated => 'Paramètres radio mis à jour'; + String get settings_radioSettingsUpdated => 'Paramètres radio mis à jour'; @override String get settings_location => 'Emplacement'; @override - String get settings_locationSubtitle => 'Coordonnées GPS'; + String get settings_locationSubtitle => 'Coordonnées GPS'; @override - String get settings_locationUpdated => 'Emplacement mis à jour'; + String get settings_locationUpdated => 'Emplacement mis à jour'; @override String get settings_locationBothRequired => @@ -256,15 +249,15 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_locationGPSEnableSubtitle => - 'Activer la mise à jour automatique de la position via GPS'; + 'Activer la mise à jour automatique de la position via GPS'; @override String get settings_locationIntervalSec => - 'Intervalle de mise-à-jour du GPS (Secondes)'; + 'Intervalle de mise-à-jour du GPS (Secondes)'; @override String get settings_locationIntervalInvalid => - 'L\'intervalle doit être compris entre 60 et 86400 secondes.'; + 'L\'intervalle doit être compris entre 60 et 86400 secondes.'; @override String get settings_latitude => 'Latitude'; @@ -273,7 +266,7 @@ class AppLocalizationsFr extends AppLocalizations { String get settings_longitude => 'Longitude'; @override - String get settings_privacyMode => 'Mode de confidentialité'; + String get settings_privacyMode => 'Mode de confidentialité'; @override String get settings_privacyModeSubtitle => @@ -281,14 +274,14 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_privacyModeToggle => - 'Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.'; + 'Activer le mode confidentialité pour masquer votre nom et votre localisation dans les annonces.'; @override - String get settings_privacyModeEnabled => 'Mode de confidentialité activé'; + String get settings_privacyModeEnabled => 'Mode de confidentialité activé'; @override String get settings_privacyModeDisabled => - 'Mode de confidentialité désactivé'; + 'Mode de confidentialité désactivé'; @override String get settings_actions => 'Actions'; @@ -298,57 +291,58 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_sendAdvertisementSubtitle => - 'Présence diffusée maintenant'; + 'Présence diffusée maintenant'; @override - String get settings_advertisementSent => 'Annonce envoyée'; + String get settings_advertisementSent => 'Annonce envoyée'; @override String get settings_syncTime => 'Temps de synchronisation'; @override String get settings_syncTimeSubtitle => - 'Définir l\'heure de l\'appareil sur l\'heure du téléphone.'; + 'Définir l\'heure de l\'appareil sur l\'heure du téléphone.'; @override String get settings_timeSynchronized => 'Synchronisation temporelle'; @override - String get settings_refreshContacts => 'Rafraîchir les Contacts'; + String get settings_refreshContacts => 'Rafraîchir les Contacts'; @override String get settings_refreshContactsSubtitle => 'Recharger la liste des contacts depuis l\'appareil'; @override - String get settings_rebootDevice => 'Redémarrer l\'appareil'; + String get settings_rebootDevice => 'Redémarrer l\'appareil'; @override - String get settings_rebootDeviceSubtitle => 'Redémarrer l\'appareil MeshCore'; + String get settings_rebootDeviceSubtitle => + 'Redémarrer l\'appareil MeshCore'; @override String get settings_rebootDeviceConfirm => - 'Êtes-vous sûr de vouloir redémarrer l\'appareil ? Vous serez déconnecté.'; + 'Êtes-vous sûr de vouloir redémarrer l\'appareil ? Vous serez déconnecté.'; @override - String get settings_debug => 'Déboguer'; + String get settings_debug => 'Déboguer'; @override - String get settings_bleDebugLog => 'Journal de débogage BLE'; + String get settings_bleDebugLog => 'Journal de débogage BLE'; @override String get settings_bleDebugLogSubtitle => - 'Commandes BLE, réponses et données brutes'; + 'Commandes BLE, réponses et données brutes'; @override - String get settings_appDebugLog => 'Journal de débogage de l\'application'; + String get settings_appDebugLog => 'Journal de débogage de l\'application'; @override String get settings_appDebugLogSubtitle => - 'Messages de débogage de l\'application'; + 'Messages de débogage de l\'application'; @override - String get settings_about => 'À propos'; + String get settings_about => 'À propos'; @override String settings_aboutVersion(String version) { @@ -360,11 +354,11 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_aboutDescription => - 'Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.'; + 'Un client Flutter open source pour les appareils de réseau mesh MeshCore LoRa.'; @override String get settings_aboutOpenMeteoAttribution => - 'Données d\'élévation LOS : Open-Meteo (CC BY 4.0)'; + 'Données d\'élévation LOS : Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Nom'; @@ -373,13 +367,13 @@ class AppLocalizationsFr extends AppLocalizations { String get settings_infoId => 'ID'; @override - String get settings_infoStatus => 'État'; + String get settings_infoStatus => 'État'; @override String get settings_infoBattery => 'Batterie'; @override - String get settings_infoPublicKey => 'Clé Publique'; + String get settings_infoPublicKey => 'Clé Publique'; @override String get settings_infoContactsCount => 'Nombre de contacts'; @@ -388,22 +382,22 @@ class AppLocalizationsFr extends AppLocalizations { String get settings_infoChannelCount => 'Nombre de canaux'; @override - String get settings_presets => 'Préréglages'; + String get settings_presets => 'Préréglages'; @override - String get settings_frequency => 'Fréquence (MHz)'; + String get settings_frequency => 'Fréquence (MHz)'; @override String get settings_frequencyHelper => '300,0 - 2 500,0'; @override - String get settings_frequencyInvalid => 'Fréquence invalide (300-2500 MHz)'; + String get settings_frequencyInvalid => 'Fréquence invalide (300-2500 MHz)'; @override String get settings_bandwidth => 'Bande passante'; @override - String get settings_spreadingFactor => 'Facteur de répartition'; + String get settings_spreadingFactor => 'Facteur de répartition'; @override String get settings_codingRate => 'Taux de codage'; @@ -418,15 +412,15 @@ class AppLocalizationsFr extends AppLocalizations { String get settings_txPowerInvalid => 'Puissance TX invalide (0-22 dBm)'; @override - String get settings_clientRepeat => 'Répétition hors réseau'; + String get settings_clientRepeat => 'Répétition hors réseau'; @override String get settings_clientRepeatSubtitle => - 'Permettez à cet appareil de répéter les paquets de données pour les autres.'; + 'Permettez à cet appareil de répéter les paquets de données pour les autres.'; @override String get settings_clientRepeatFreqWarning => - 'Pour les transmissions hors réseau, il est nécessaire d\'utiliser les fréquences de 433, 869 ou 918 MHz.'; + 'Pour les transmissions hors réseau, il est nécessaire d\'utiliser les fréquences de 433, 869 ou 918 MHz.'; @override String settings_error(String message) { @@ -434,19 +428,19 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get appSettings_title => 'Paramètres de l\'application'; + String get appSettings_title => 'Paramètres de l\'application'; @override String get appSettings_appearance => 'Apparence'; @override - String get appSettings_theme => 'Thème'; + String get appSettings_theme => 'Thème'; @override - String get appSettings_themeSystem => 'Défaut système'; + String get appSettings_themeSystem => 'Défaut système'; @override - String get appSettings_themeLight => 'Lumière'; + String get appSettings_themeLight => 'Lumière'; @override String get appSettings_themeDark => 'Sombre'; @@ -455,16 +449,16 @@ class AppLocalizationsFr extends AppLocalizations { String get appSettings_language => 'Langue'; @override - String get appSettings_languageSystem => 'Par défaut du système'; + String get appSettings_languageSystem => 'Par défaut du système'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -473,16 +467,16 @@ class AppLocalizationsFr extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -491,10 +485,10 @@ class AppLocalizationsFr extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russe'; @@ -504,11 +498,11 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_enableMessageTracing => - 'Activer le traçage des messages'; + 'Activer le traçage des messages'; @override String get appSettings_enableMessageTracingSubtitle => - 'Afficher les métadonnées détaillées de routage et de synchronisation des messages'; + 'Afficher les métadonnées détaillées de routage et de synchronisation des messages'; @override String get appSettings_notifications => 'Notifications'; @@ -522,20 +516,20 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_notificationPermissionDenied => - 'Permission de notification refusée'; + 'Permission de notification refusée'; @override - String get appSettings_notificationsEnabled => 'Notifications activées'; + String get appSettings_notificationsEnabled => 'Notifications activées'; @override - String get appSettings_notificationsDisabled => 'Notifications désactivées'; + String get appSettings_notificationsDisabled => 'Notifications désactivées'; @override String get appSettings_messageNotifications => 'Notifications de Messages'; @override String get appSettings_messageNotificationsSubtitle => - 'Afficher une notification lors de la réception de nouveaux messages'; + 'Afficher une notification lors de la réception de nouveaux messages'; @override String get appSettings_channelMessageNotifications => @@ -543,7 +537,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_channelMessageNotificationsSubtitle => - 'Afficher une notification lors de la réception des messages de canal'; + 'Afficher une notification lors de la réception des messages de canal'; @override String get appSettings_advertisementNotifications => @@ -551,7 +545,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_advertisementNotificationsSubtitle => - 'Afficher une notification lors de la découverte de nouveaux nœuds'; + 'Afficher une notification lors de la découverte de nouveaux nÅ“uds'; @override String get appSettings_messaging => 'Messagerie'; @@ -562,31 +556,31 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Réinitialiser le chemin de contact après 5 tentatives d\'envoi infructueuses'; + 'Réinitialiser le chemin de contact après 5 tentatives d\'envoi infructueuses'; @override String get appSettings_pathsWillBeCleared => - 'Les chemins seront effacés après 5 tentatives infructueuses.'; + 'Les chemins seront effacés après 5 tentatives infructueuses.'; @override String get appSettings_pathsWillNotBeCleared => - 'Les chemins ne seront pas effacés automatiquement.'; + 'Les chemins ne seront pas effacés automatiquement.'; @override String get appSettings_autoRouteRotation => - 'Rotation de l\'itinéraire automatique'; + 'Rotation de l\'itinéraire automatique'; @override String get appSettings_autoRouteRotationSubtitle => - 'Alterner entre les meilleurs chemins et le mode d\'envoi sur tout le réseau (flood)'; + 'Alterner entre les meilleurs chemins et le mode d\'envoi sur tout le réseau (flood)'; @override String get appSettings_autoRouteRotationEnabled => - 'Rotation du routage automatique activée'; + 'Rotation du routage automatique activée'; @override String get appSettings_autoRouteRotationDisabled => - 'Rotation de l\'itinéraire automatique désactivée'; + 'Rotation de l\'itinéraire automatique désactivée'; @override String get appSettings_battery => 'Batterie'; @@ -596,7 +590,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Définir par appareil ($deviceName)'; + return 'Définir par appareil ($deviceName)'; } @override @@ -616,35 +610,35 @@ class AppLocalizationsFr extends AppLocalizations { String get appSettings_mapDisplay => 'Affichage de la carte'; @override - String get appSettings_showRepeaters => 'Afficher les répéteurs'; + String get appSettings_showRepeaters => 'Afficher les répéteurs'; @override String get appSettings_showRepeatersSubtitle => - 'Afficher les nœuds répéteurs sur la carte'; + 'Afficher les nÅ“uds répéteurs sur la carte'; @override - String get appSettings_showChatNodes => 'Afficher les nœuds de discussion'; + String get appSettings_showChatNodes => 'Afficher les nÅ“uds de discussion'; @override String get appSettings_showChatNodesSubtitle => - 'Afficher les nœuds de chat sur la carte'; + 'Afficher les nÅ“uds de chat sur la carte'; @override - String get appSettings_showOtherNodes => 'Afficher d\'autres nœuds'; + String get appSettings_showOtherNodes => 'Afficher d\'autres nÅ“uds'; @override String get appSettings_showOtherNodesSubtitle => - 'Afficher d\'autres types de nœuds sur la carte'; + 'Afficher d\'autres types de nÅ“uds sur la carte'; @override String get appSettings_timeFilter => 'Filtre du temps'; @override - String get appSettings_timeFilterShowAll => 'Afficher tous les nœuds'; + String get appSettings_timeFilterShowAll => 'Afficher tous les nÅ“uds'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Afficher les nœuds des $hours dernières heures'; + return 'Afficher les nÅ“uds des $hours dernières heures'; } @override @@ -652,71 +646,71 @@ class AppLocalizationsFr extends AppLocalizations { @override String get appSettings_showNodesDiscoveredWithin => - 'Afficher les nœuds découverts dans :'; + 'Afficher les nÅ“uds découverts dans :'; @override String get appSettings_allTime => 'Tout le temps'; @override - String get appSettings_lastHour => 'Dernière heure'; + String get appSettings_lastHour => 'Dernière heure'; @override - String get appSettings_last6Hours => 'Dernières 6 heures'; + String get appSettings_last6Hours => 'Dernières 6 heures'; @override - String get appSettings_last24Hours => 'Dernières 24 heures'; + String get appSettings_last24Hours => 'Dernières 24 heures'; @override - String get appSettings_lastWeek => 'La semaine dernière'; + String get appSettings_lastWeek => 'La semaine dernière'; @override String get appSettings_offlineMapCache => 'Cache de Carte Hors Ligne'; @override - String get appSettings_unitsTitle => 'Unités'; + String get appSettings_unitsTitle => 'Unités'; @override - String get appSettings_unitsMetric => 'Métrique (m/km)'; + String get appSettings_unitsMetric => 'Métrique (m/km)'; @override - String get appSettings_unitsImperial => 'Impérial (ft / mi)'; + String get appSettings_unitsImperial => 'Impérial (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Aucune zone sélectionnée'; + String get appSettings_noAreaSelected => 'Aucune zone sélectionnée'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Zone sélectionnée (zoom $minZoom-$maxZoom)'; + return 'Zone sélectionnée (zoom $minZoom-$maxZoom)'; } @override - String get appSettings_debugCard => 'Déboguer'; + String get appSettings_debugCard => 'Déboguer'; @override String get appSettings_appDebugLogging => - 'Journalisation de débogage de l\'application'; + 'Journalisation de débogage de l\'application'; @override String get appSettings_appDebugLoggingSubtitle => - 'Enregistrez les messages de débogage de l\'application Log pour le dépannage.'; + 'Enregistrez les messages de débogage de l\'application Log pour le dépannage.'; @override String get appSettings_appDebugLoggingEnabled => - 'Journalisation de débogage de l\'application activée'; + 'Journalisation de débogage de l\'application activée'; @override String get appSettings_appDebugLoggingDisabled => - 'Le débogage de l\'application est désactivé.'; + 'Le débogage de l\'application est désactivé.'; @override String get contacts_title => 'Contacts'; @override - String get contacts_noContacts => 'Aucun contact trouvé.'; + String get contacts_noContacts => 'Aucun contact trouvé.'; @override String get contacts_contactsWillAppear => - 'Les contacts apparaîtront lorsque les appareils font leur annonce.'; + 'Les contacts apparaîtront lorsque les appareils font leur annonce.'; @override String get contacts_unread => 'Non lu'; @@ -741,7 +735,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String contacts_searchRepeaters(int number, String str) { - return 'Rechercher $number$str Répéteurs...'; + return 'Rechercher $number$str Répéteurs...'; } @override @@ -753,7 +747,7 @@ class AppLocalizationsFr extends AppLocalizations { String get contacts_noUnreadContacts => 'Aucun contact non lu'; @override - String get contacts_noContactsFound => 'Aucun contact ou groupe trouvé.'; + String get contacts_noContactsFound => 'Aucun contact ou groupe trouvé.'; @override String get contacts_deleteContact => 'Supprimer le contact'; @@ -764,10 +758,10 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get contacts_manageRepeater => 'Gérer le répéteur'; + String get contacts_manageRepeater => 'Gérer le répéteur'; @override - String get contacts_manageRoom => 'Gérer le Room Server'; + String get contacts_manageRoom => 'Gérer le Room Server'; @override String get contacts_roomLogin => 'Connexion Room Server'; @@ -797,7 +791,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String contacts_groupAlreadyExists(String name) { - return 'Le groupe \"$name\" existe déjà.'; + return 'Le groupe \"$name\" existe déjà.'; } @override @@ -805,7 +799,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get contacts_noContactsMatchFilter => - 'Aucun contact ne correspond à votre filtre.'; + 'Aucun contact ne correspond à votre filtre.'; @override String get contacts_noMembers => 'Aucun membre'; @@ -838,7 +832,7 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_title => 'Canaux'; @override - String get channels_noChannelsConfigured => 'Aucun canal configuré'; + String get channels_noChannelsConfigured => 'Aucun canal configuré'; @override String get channels_addPublicChannel => 'Ajouter un canal public'; @@ -847,7 +841,7 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_searchChannels => 'Rechercher des canaux...'; @override - String get channels_noChannelsFound => 'Aucun canal trouvé'; + String get channels_noChannelsFound => 'Aucun canal trouvé'; @override String channels_channelIndex(int index) { @@ -861,39 +855,39 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_public => 'Public'; @override - String get channels_private => 'Privé'; + String get channels_private => 'Privé'; @override String get channels_publicChannel => 'Canal public'; @override - String get channels_privateChannel => 'Canal privé'; + String get channels_privateChannel => 'Canal privé'; @override String get channels_editChannel => 'Modifier le canal'; @override - String get channels_muteChannel => 'Désactiver les notifications du canal'; + String get channels_muteChannel => 'Désactiver les notifications du canal'; @override - String get channels_unmuteChannel => 'Réactiver les notifications du canal'; + String get channels_unmuteChannel => 'Réactiver les notifications du canal'; @override String get channels_deleteChannel => 'Supprimer le canal'; @override String channels_deleteChannelConfirm(String name) { - return 'Supprimer $name? Cela ne peut pas être annulé.'; + return 'Supprimer $name? Cela ne peut pas être annulé.'; } @override String channels_channelDeleteFailed(String name) { - return 'Échec de la suppression de la chaîne \"$name\"'; + return 'Échec de la suppression de la chaîne \"$name\"'; } @override String channels_channelDeleted(String name) { - return 'Le canal \"$name\" a été supprimé'; + return 'Le canal \"$name\" a été supprimé'; } @override @@ -916,18 +910,18 @@ class AppLocalizationsFr extends AppLocalizations { @override String get channels_generateRandomPsk => - 'Générer une clé de modulation PSK aléatoire'; + 'Générer une clé de modulation PSK aléatoire'; @override String get channels_enterChannelName => 'Veuillez entrer un nom de canal'; @override String get channels_pskMustBe32Hex => - 'Le PKS doit être composé de 32 caractères hexadécimaux.'; + 'Le PKS doit être composé de 32 caractères hexadécimaux.'; @override String channels_channelAdded(String name) { - return 'Le canal \"$name\" a été ajouté'; + return 'Le canal \"$name\" a été ajouté'; } @override @@ -940,11 +934,11 @@ class AppLocalizationsFr extends AppLocalizations { @override String channels_channelUpdated(String name) { - return 'Le canal \"$name\" a été mis à jour'; + return 'Le canal \"$name\" a été mis à jour'; } @override - String get channels_publicChannelAdded => 'Le canal public a été ajouté'; + String get channels_publicChannelAdded => 'Le canal public a été ajouté'; @override String get channels_sortBy => 'Trier par'; @@ -953,7 +947,7 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_sortManual => 'Manuel'; @override - String get channels_sortAZ => 'A à Z'; + String get channels_sortAZ => 'A à Z'; @override String get channels_sortLatestMessages => 'Derniers messages'; @@ -962,18 +956,18 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_sortUnread => 'Non lu'; @override - String get channels_createPrivateChannel => 'Créer un Canal Privé'; + String get channels_createPrivateChannel => 'Créer un Canal Privé'; @override String get channels_createPrivateChannelDesc => - 'Sécurisé avec une clé secrète.'; + 'Sécurisé avec une clé secrète.'; @override - String get channels_joinPrivateChannel => 'Rejoindre un Canal Privé'; + String get channels_joinPrivateChannel => 'Rejoindre un Canal Privé'; @override String get channels_joinPrivateChannelDesc => - 'Entrer manuellement une clé secrète.'; + 'Entrer manuellement une clé secrète.'; @override String get channels_joinPublicChannel => 'Rejoindre le canal public'; @@ -993,7 +987,7 @@ class AppLocalizationsFr extends AppLocalizations { String get channels_scanQrCode => 'Scanner un code QR'; @override - String get channels_scanQrCodeComingSoon => 'Bientôt disponible'; + String get channels_scanQrCodeComingSoon => 'Bientôt disponible'; @override String get channels_enterHashtag => 'Entrez le hashtag'; @@ -1008,16 +1002,16 @@ class AppLocalizationsFr extends AppLocalizations { String get chat_sendMessageToStart => 'Envoyer un message pour commencer'; @override - String get chat_originalMessageNotFound => 'Message d\'origine non trouvé'; + String get chat_originalMessageNotFound => 'Message d\'origine non trouvé'; @override String chat_replyingTo(String name) { - return 'Répondre à $name'; + return 'Répondre à $name'; } @override String chat_replyTo(String name) { - return 'Répondre à $name'; + return 'Répondre à $name'; } @override @@ -1025,7 +1019,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String chat_sendMessageTo(String contactName) { - return 'Envoyer un message à $contactName'; + return 'Envoyer un message à $contactName'; } @override @@ -1037,13 +1031,13 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get chat_messageCopied => 'Message copié'; + String get chat_messageCopied => 'Message copié'; @override - String get chat_messageDeleted => 'Message supprimé'; + String get chat_messageDeleted => 'Message supprimé'; @override - String get chat_retryingMessage => 'Tentative de récupération.'; + String get chat_retryingMessage => 'Tentative de récupération.'; @override String chat_retryCount(int current, int max) { @@ -1054,22 +1048,22 @@ class AppLocalizationsFr extends AppLocalizations { String get chat_sendGif => 'Envoyer GIF'; @override - String get chat_reply => 'Répondre'; + String get chat_reply => 'Répondre'; @override - String get chat_addReaction => 'Ajouter une Réaction'; + String get chat_addReaction => 'Ajouter une Réaction'; @override String get chat_me => 'Moi'; @override - String get emojiCategorySmileys => 'Émojis'; + String get emojiCategorySmileys => 'Émojis'; @override String get emojiCategoryGestures => 'Gestes'; @override - String get emojiCategoryHearts => 'Cœurs'; + String get emojiCategoryHearts => 'CÅ“urs'; @override String get emojiCategoryObjects => 'Objets'; @@ -1081,25 +1075,25 @@ class AppLocalizationsFr extends AppLocalizations { String get gifPicker_searchHint => 'Rechercher des GIF...'; @override - String get gifPicker_poweredBy => 'Propulsé par GIPHY'; + String get gifPicker_poweredBy => 'Propulsé par GIPHY'; @override - String get gifPicker_noGifsFound => 'Aucun GIF trouvé'; + String get gifPicker_noGifsFound => 'Aucun GIF trouvé'; @override String get gifPicker_failedLoad => 'Impossible de charger les GIFs'; @override - String get gifPicker_failedSearch => 'Recherche de GIFs échouée'; + String get gifPicker_failedSearch => 'Recherche de GIFs échouée'; @override String get gifPicker_noInternet => 'Aucune connexion internet'; @override - String get debugLog_appTitle => 'Journal de débogage de l\'application'; + String get debugLog_appTitle => 'Journal de débogage de l\'application'; @override - String get debugLog_bleTitle => 'Journal de débogage BLE'; + String get debugLog_bleTitle => 'Journal de débogage BLE'; @override String get debugLog_copyLog => 'Copier le journal'; @@ -1108,17 +1102,17 @@ class AppLocalizationsFr extends AppLocalizations { String get debugLog_clearLog => 'Effacer le journal'; @override - String get debugLog_copied => 'Journal de débogage copié'; + String get debugLog_copied => 'Journal de débogage copié'; @override - String get debugLog_bleCopied => 'Journal BLE copié'; + String get debugLog_bleCopied => 'Journal BLE copié'; @override - String get debugLog_noEntries => 'Aucun journal de débogage pour le moment.'; + String get debugLog_noEntries => 'Aucun journal de débogage pour le moment.'; @override String get debugLog_enableInSettings => - 'Activer le débogage de l\'application dans les paramètres'; + 'Activer le débogage de l\'application dans les paramètres'; @override String get debugLog_frames => 'Cadres'; @@ -1128,11 +1122,11 @@ class AppLocalizationsFr extends AppLocalizations { @override String get debugLog_noBleActivity => - 'Pas d\'activité BLE enregistrée pour le moment.'; + 'Pas d\'activité BLE enregistrée pour le moment.'; @override String debugFrame_length(int count) { - return 'Longueur du cadre : $count octets'; + return 'Longueur du cadre : $count octets'; } @override @@ -1160,7 +1154,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String debugFrame_textType(int type, String label) { - return '- Type de texte : $type ($label)'; + return '- Type de texte : $type ($label)'; } @override @@ -1175,7 +1169,7 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get debugFrame_hexDump => 'Vidéo de Dump Hexadécimal :'; + String get debugFrame_hexDump => 'Vidéo de Dump Hexadécimal :'; @override String get chat_pathManagement => 'Gestion des chemins'; @@ -1187,18 +1181,18 @@ class AppLocalizationsFr extends AppLocalizations { String get chat_routingMode => 'Mode de routage'; @override - String get chat_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; + String get chat_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; @override - String get chat_forceFloodMode => 'Mode tout le réseau forcé'; + String get chat_forceFloodMode => 'Mode tout le réseau forcé'; @override String get chat_recentAckPaths => - 'Chemins ACK récents (touchez pour utiliser) :'; + 'Chemins ACK récents (touchez pour utiliser) :'; @override String get chat_pathHistoryFull => - 'L\'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.'; + 'L\'historique du chemin est plein. Supprimez les entrées pour en ajouter de nouvelles.'; @override String get chat_hopSingular => 'saut'; @@ -1218,35 +1212,35 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get chat_successes => 'Succès'; + String get chat_successes => 'Succès'; @override String get chat_removePath => 'Supprimer le chemin'; @override String get chat_noPathHistoryYet => - 'Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.'; + 'Aucune historique de parcours disponible.\nEnvoyez un message pour découvrir les parcours.'; @override - String get chat_pathActions => 'Actions du chemin :'; + String get chat_pathActions => 'Actions du chemin :'; @override - String get chat_setCustomPath => 'Définir un chemin personnalisé'; + String get chat_setCustomPath => 'Définir un chemin personnalisé'; @override String get chat_setCustomPathSubtitle => - 'Spécifier manuellement le chemin de routage'; + 'Spécifier manuellement le chemin de routage'; @override String get chat_clearPath => 'Effacer le chemin'; @override String get chat_clearPathSubtitle => - 'Forcer la redécouverte lors de la prochaine envoi'; + 'Forcer la redécouverte lors de la prochaine envoi'; @override String get chat_pathCleared => - 'Le chemin est dégagé. Le prochain message redécouvrira le tracé.'; + 'Le chemin est dégagé. Le prochain message redécouvrira le tracé.'; @override String get chat_floodModeSubtitle => @@ -1254,14 +1248,14 @@ class AppLocalizationsFr extends AppLocalizations { @override String get chat_floodModeEnabled => - 'Le mode envoi à tout le réseau est activé. Changer via l\'icône de routage dans la barre d\'outils.'; + 'Le mode envoi à tout le réseau est activé. Changer via l\'icône de routage dans la barre d\'outils.'; @override String get chat_fullPath => 'Chemin complet'; @override String get chat_pathDetailsNotAvailable => - 'Les détails du chemin ne sont pas encore disponibles. Essayez d\'envoyer un message pour rafraîchir.'; + 'Les détails du chemin ne sont pas encore disponibles. Essayez d\'envoyer un message pour rafraîchir.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1271,19 +1265,19 @@ class AppLocalizationsFr extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Chemin défini : $hopCount $_temp0 - $status'; + return 'Chemin défini : $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Sauvegardé localement. Connectez-vous pour synchroniser.'; + 'Sauvegardé localement. Connectez-vous pour synchroniser.'; @override - String get chat_pathDeviceConfirmed => 'Appareil confirmé.'; + String get chat_pathDeviceConfirmed => 'Appareil confirmé.'; @override String get chat_pathDeviceNotConfirmed => - 'L\'appareil n\'a pas encore été confirmé.'; + 'L\'appareil n\'a pas encore été confirmé.'; @override String get chat_type => 'Saisir'; @@ -1292,31 +1286,31 @@ class AppLocalizationsFr extends AppLocalizations { String get chat_path => 'Chemin'; @override - String get chat_publicKey => 'Clé Publique'; + String get chat_publicKey => 'Clé Publique'; @override String get chat_compressOutgoingMessages => 'Compresser les messages sortants'; @override - String get chat_floodForced => 'Tout le réseau (forcée)'; + String get chat_floodForced => 'Tout le réseau (forcée)'; @override - String get chat_directForced => 'Direct (forcé)'; + String get chat_directForced => 'Direct (forcé)'; @override String chat_hopsForced(int count) { - return '$count sauts (forcés)'; + return '$count sauts (forcés)'; } @override - String get chat_floodAuto => 'Tout le réseau (auto)'; + String get chat_floodAuto => 'Tout le réseau (auto)'; @override String get chat_direct => 'Afficher'; @override - String get chat_poiShared => 'Point d\'intérêt Partagé'; + String get chat_poiShared => 'Point d\'intérêt Partagé'; @override String chat_unread(int count) { @@ -1342,7 +1336,7 @@ class AppLocalizationsFr extends AppLocalizations { String get chat_invalidLink => 'Format de lien invalide'; @override - String get map_title => 'Carte des nœuds'; + String get map_title => 'Carte des nÅ“uds'; @override String get map_lineOfSight => 'Ligne de vue'; @@ -1352,15 +1346,15 @@ class AppLocalizationsFr extends AppLocalizations { @override String get map_noNodesWithLocation => - 'Aucun nœud avec des données de localisation'; + 'Aucun nÅ“ud avec des données de localisation'; @override String get map_nodesNeedGps => - 'Les nœuds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.'; + 'Les nÅ“uds doivent partager leurs coordonnées GPS\npour apparaître sur la carte.'; @override String map_nodesCount(int count) { - return 'Nœuds : $count'; + return 'NÅ“uds : $count'; } @override @@ -1372,7 +1366,7 @@ class AppLocalizationsFr extends AppLocalizations { String get map_chat => 'Chat'; @override - String get map_repeater => 'Répéteur'; + String get map_repeater => 'Répéteur'; @override String get map_room => 'Salle'; @@ -1381,23 +1375,23 @@ class AppLocalizationsFr extends AppLocalizations { String get map_sensor => 'Capteur'; @override - String get map_pinDm => 'Clé (DM)'; + String get map_pinDm => 'Clé (DM)'; @override - String get map_pinPrivate => 'Verrouiller (Privé)'; + String get map_pinPrivate => 'Verrouiller (Privé)'; @override - String get map_pinPublic => 'Clé (Public)'; + String get map_pinPublic => 'Clé (Public)'; @override - String get map_lastSeen => 'Dernière fois vu'; + String get map_lastSeen => 'Dernière fois vu'; @override String get map_disconnectConfirm => - 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; + 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; @override - String get map_from => 'À partir de'; + String get map_from => 'À partir de'; @override String get map_source => 'Source'; @@ -1409,13 +1403,13 @@ class AppLocalizationsFr extends AppLocalizations { String get map_shareMarkerHere => 'Partager le marqueur ici'; @override - String get map_pinLabel => 'Étiquete de repin'; + String get map_pinLabel => 'Étiquete de repin'; @override - String get map_label => 'Étiquette'; + String get map_label => 'Étiquette'; @override - String get map_pointOfInterest => 'Point d\'intérêt'; + String get map_pointOfInterest => 'Point d\'intérêt'; @override String get map_sendToContact => 'Envoyer au contact'; @@ -1431,89 +1425,89 @@ class AppLocalizationsFr extends AppLocalizations { @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Vous êtes sur le point de partager un emplacement dans $channelLabel. Ce canal est public et toute personne disposant de la clé PSK peut le voir.'; + return 'Vous êtes sur le point de partager un emplacement dans $channelLabel. Ce canal est public et toute personne disposant de la clé PSK peut le voir.'; } @override String get map_connectToShareMarkers => - 'Connectez-vous à un appareil pour partager des marqueurs'; + 'Connectez-vous à un appareil pour partager des marqueurs'; @override - String get map_filterNodes => 'Filtrer les nœuds'; + String get map_filterNodes => 'Filtrer les nÅ“uds'; @override - String get map_nodeTypes => 'Types de nœuds'; + String get map_nodeTypes => 'Types de nÅ“uds'; @override - String get map_chatNodes => 'Nœuds de Chat'; + String get map_chatNodes => 'NÅ“uds de Chat'; @override - String get map_repeaters => 'Répéteurs'; + String get map_repeaters => 'Répéteurs'; @override - String get map_otherNodes => 'Autres nœuds'; + String get map_otherNodes => 'Autres nÅ“uds'; @override - String get map_keyPrefix => 'Préfixe clé'; + String get map_keyPrefix => 'Préfixe clé'; @override - String get map_filterByKeyPrefix => 'Filtrer par préfixe de clé'; + String get map_filterByKeyPrefix => 'Filtrer par préfixe de clé'; @override - String get map_publicKeyPrefix => 'Préfixe de clé publique'; + String get map_publicKeyPrefix => 'Préfixe de clé publique'; @override String get map_markers => 'Marqueurs'; @override - String get map_showSharedMarkers => 'Afficher les marqueurs partagés'; + String get map_showSharedMarkers => 'Afficher les marqueurs partagés'; @override - String get map_lastSeenTime => 'Dernière fois vu'; + String get map_lastSeenTime => 'Dernière fois vu'; @override - String get map_sharedPin => 'Clé partagée'; + String get map_sharedPin => 'Clé partagée'; @override String get map_joinRoom => 'Rejoindre la salle'; @override - String get map_manageRepeater => 'Gérer le répéteur'; + String get map_manageRepeater => 'Gérer le répéteur'; @override String get map_tapToAdd => - 'Appuyez sur les nœuds pour les ajouter au chemin.'; + 'Appuyez sur les nÅ“uds pour les ajouter au chemin.'; @override - String get map_runTrace => 'Exécuter la traçage de chemin'; + String get map_runTrace => 'Exécuter la traçage de chemin'; @override String get map_removeLast => 'Supprimer le dernier'; @override - String get map_pathTraceCancelled => 'Traçage de chemin annulé'; + String get map_pathTraceCancelled => 'Traçage de chemin annulé'; @override String get mapCache_title => 'Cache de Carte Hors Ligne'; @override String get mapCache_selectAreaFirst => - 'Sélectionner une zone pour la mise en cache en premier'; + 'Sélectionner une zone pour la mise en cache en premier'; @override String get mapCache_noTilesToDownload => - 'Aucun tuilage à télécharger pour cette zone.'; + 'Aucun tuilage à télécharger pour cette zone.'; @override - String get mapCache_downloadTilesTitle => 'Télécharger les tuiles'; + String get mapCache_downloadTilesTitle => 'Télécharger les tuiles'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Télécharger $count tuiles pour un usage hors ligne ?'; + return 'Télécharger $count tuiles pour un usage hors ligne ?'; } @override - String get mapCache_downloadAction => 'Télécharger'; + String get mapCache_downloadAction => 'Télécharger'; @override String mapCache_cachedTiles(int count) { @@ -1522,7 +1516,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Tuiles mis en cache ($downloaded) ($failed ratés)'; + return 'Tuiles mis en cache ($downloaded) ($failed ratés)'; } @override @@ -1530,14 +1524,14 @@ class AppLocalizationsFr extends AppLocalizations { @override String get mapCache_clearOfflineCachePrompt => - 'Supprimer toutes les tuiles de carte mises en cache ?'; + 'Supprimer toutes les tuiles de carte mises en cache ?'; @override String get mapCache_offlineCacheCleared => - 'Le cache hors ligne a été effacé.'; + 'Le cache hors ligne a été effacé.'; @override - String get mapCache_noAreaSelected => 'Aucune zone sélectionnée'; + String get mapCache_noAreaSelected => 'Aucune zone sélectionnée'; @override String get mapCache_cacheArea => 'Zone de cache'; @@ -1555,18 +1549,18 @@ class AppLocalizationsFr extends AppLocalizations { @override String mapCache_downloadedTiles(int completed, int total) { - return 'Téléchargé $completed / $total'; + return 'Téléchargé $completed / $total'; } @override - String get mapCache_downloadTilesButton => 'Télécharger les tuiles'; + String get mapCache_downloadTilesButton => 'Télécharger les tuiles'; @override String get mapCache_clearCacheButton => 'Vider le Cache'; @override String mapCache_failedDownloads(int count) { - return 'Téléchargements échoués : $count'; + return 'Téléchargements échoués : $count'; } @override @@ -1628,14 +1622,14 @@ class AppLocalizationsFr extends AppLocalizations { String get time_allTime => 'Tout le temps'; @override - String get dialog_disconnect => 'Déconnecter'; + String get dialog_disconnect => 'Déconnecter'; @override String get dialog_disconnectConfirm => - 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; + 'Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?'; @override - String get login_repeaterLogin => 'Connexion au répéteur'; + String get login_repeaterLogin => 'Connexion au répéteur'; @override String get login_roomLogin => 'Connexion Room Server'; @@ -1651,15 +1645,15 @@ class AppLocalizationsFr extends AppLocalizations { @override String get login_savePasswordSubtitle => - 'Le mot de passe sera stocké en toute sécurité sur cet appareil.'; + 'Le mot de passe sera stocké en toute sécurité sur cet appareil.'; @override String get login_repeaterDescription => - 'Entrez le mot de passe du répéteur pour accéder aux paramètres et à l\'état.'; + 'Entrez le mot de passe du répéteur pour accéder aux paramètres et à l\'état.'; @override String get login_roomDescription => - 'Entrez le mot de passe de la pièce pour accéder aux paramètres et à l\'état.'; + 'Entrez le mot de passe de la pièce pour accéder aux paramètres et à l\'état.'; @override String get login_routing => 'Redirection'; @@ -1668,13 +1662,13 @@ class AppLocalizationsFr extends AppLocalizations { String get login_routingMode => 'Mode de routage'; @override - String get login_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; + String get login_autoUseSavedPath => 'Auto (utiliser le chemin sauvegardé)'; @override - String get login_forceFloodMode => 'Mode tout le réseau forcé'; + String get login_forceFloodMode => 'Mode tout le réseau forcé'; @override - String get login_managePaths => 'Gérer les chemins'; + String get login_managePaths => 'Gérer les chemins'; @override String get login_login => 'Connexion'; @@ -1686,12 +1680,12 @@ class AppLocalizationsFr extends AppLocalizations { @override String login_failed(String error) { - return 'Connexion échouée : $error'; + return 'Connexion échouée : $error'; } @override String get login_failedMessage => - 'Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.'; + 'Connexion échouée. Soit le mot de passe est incorrect, soit le relais est injoignable.'; @override String get common_reload => 'Recharger'; @@ -1716,51 +1710,52 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get path_enterCustomPath => 'Entrer un chemin personnalisé'; + String get path_enterCustomPath => 'Entrer un chemin personnalisé'; @override String get path_currentPathLabel => 'Chemin actuel'; @override String get path_hexPrefixInstructions => - 'Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.'; + 'Entrez les préfixes hexadécimaux de 2 caractères pour chaque saut, séparés par des virgules.'; @override String get path_hexPrefixExample => - 'Exemple : A1,F2,3C (chaque nœud utilise le premier octet de sa clé publique).'; + 'Exemple : A1,F2,3C (chaque nÅ“ud utilise le premier octet de sa clé publique).'; @override - String get path_labelHexPrefixes => 'Préfixes hexadécimaux'; + String get path_labelHexPrefixes => 'Préfixes hexadécimaux'; @override String get path_helperMaxHops => - 'Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)'; + 'Max 64 sauts. Chaque préfixe fait 2 caractères hexadécimaux (1 octet)'; @override - String get path_selectFromContacts => 'Sélectionner à partir des contacts :'; + String get path_selectFromContacts => + 'Sélectionner à partir des contacts :'; @override String get path_noRepeatersFound => - 'Aucun répéteur ou serveur de salle n\'a été trouvé.'; + 'Aucun répéteur ou serveur de salle n\'a été trouvé.'; @override String get path_customPathsRequire => - 'Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.'; + 'Les chemins personnalisés nécessitent des sauts intermédiaires qui peuvent transmettre des messages.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Préfixes hexadécimaux invalides : $prefixes'; + return 'Préfixes hexadécimaux invalides : $prefixes'; } @override String get path_tooLong => - 'Le chemin est trop long. Maximum 64 sauts autorisés.'; + 'Le chemin est trop long. Maximum 64 sauts autorisés.'; @override - String get path_setPath => 'Définir le chemin'; + String get path_setPath => 'Définir le chemin'; @override - String get repeater_management => 'Gestion des répéteurs'; + String get repeater_management => 'Gestion des répéteurs'; @override String get room_management => 'Administrattion Room Server'; @@ -1769,24 +1764,24 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_managementTools => 'Outils de Gestion'; @override - String get repeater_status => 'État'; + String get repeater_status => 'État'; @override String get repeater_statusSubtitle => - 'Afficher l\'état, les statistiques et les voisins du répéteur'; + 'Afficher l\'état, les statistiques et les voisins du répéteur'; @override - String get repeater_telemetry => 'Télémetrie'; + String get repeater_telemetry => 'Télémetrie'; @override String get repeater_telemetrySubtitle => - 'Afficher la télémétrie des capteurs et les statistiques du système'; + 'Afficher la télémétrie des capteurs et les statistiques du système'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Envoyer des commandes au répéteur'; + String get repeater_cliSubtitle => 'Envoyer des commandes au répéteur'; @override String get repeater_neighbors => 'Voisins'; @@ -1795,34 +1790,34 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_neighborsSubtitle => 'Afficher les voisins de saut nuls.'; @override - String get repeater_settings => 'Paramètres'; + String get repeater_settings => 'Paramètres'; @override String get repeater_settingsSubtitle => - 'Configurer les paramètres du répéteur'; + 'Configurer les paramètres du répéteur'; @override - String get repeater_statusTitle => 'État du répéteur'; + String get repeater_statusTitle => 'État du répéteur'; @override String get repeater_routingMode => 'Mode de routage'; @override String get repeater_autoUseSavedPath => - 'Auto (utiliser le chemin sauvegardé)'; + 'Auto (utiliser le chemin sauvegardé)'; @override - String get repeater_forceFloodMode => 'Mode tout le réseau forcé'; + String get repeater_forceFloodMode => 'Mode tout le réseau forcé'; @override String get repeater_pathManagement => 'Gestion des chemins'; @override - String get repeater_refresh => 'Rafraîchir'; + String get repeater_refresh => 'Rafraîchir'; @override String get repeater_statusRequestTimeout => - 'Demande de statut délai dépassé.'; + 'Demande de statut délai dépassé.'; @override String repeater_errorLoadingStatus(String error) { @@ -1830,22 +1825,22 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get repeater_systemInformation => 'Informations Système'; + String get repeater_systemInformation => 'Informations Système'; @override String get repeater_battery => 'Batterie'; @override - String get repeater_clockAtLogin => 'Horloge (au démarrage)'; + String get repeater_clockAtLogin => 'Horloge (au démarrage)'; @override - String get repeater_uptime => 'Disponibilité'; + String get repeater_uptime => 'Disponibilité'; @override String get repeater_queueLength => 'Longueur de la file d\'attente'; @override - String get repeater_debugFlags => 'Marqueurs de débogage'; + String get repeater_debugFlags => 'Marqueurs de débogage'; @override String get repeater_radioStatistics => 'Statistiques Radio'; @@ -1869,10 +1864,10 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_packetStatistics => 'Statistiques des paquets'; @override - String get repeater_sent => 'Envoyé'; + String get repeater_sent => 'Envoyé'; @override - String get repeater_received => 'Reçu'; + String get repeater_received => 'Reçu'; @override String get repeater_duplicates => 'Doublons'; @@ -1889,17 +1884,17 @@ class AppLocalizationsFr extends AppLocalizations { @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; + return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; + return 'Total : $total, Tout le réseau : $flood, Direct : $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Tout le réseau : $flood, Direct : $direct'; + return 'Tout le réseau : $flood, Direct : $direct'; } @override @@ -1908,35 +1903,35 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Paramètres du répéteur'; + String get repeater_settingsTitle => 'Paramètres du répéteur'; @override - String get repeater_basicSettings => 'Paramètres de base'; + String get repeater_basicSettings => 'Paramètres de base'; @override - String get repeater_repeaterName => 'Nom du répéteur'; + String get repeater_repeaterName => 'Nom du répéteur'; @override - String get repeater_repeaterNameHelper => 'Afficher le nom de ce répéteur'; + String get repeater_repeaterNameHelper => 'Afficher le nom de ce répéteur'; @override String get repeater_adminPassword => 'Mot de passe Administrateur'; @override - String get repeater_adminPasswordHelper => 'Mot de passe d\'accès complet'; + String get repeater_adminPasswordHelper => 'Mot de passe d\'accès complet'; @override - String get repeater_guestPassword => 'Mot de passe invité'; + String get repeater_guestPassword => 'Mot de passe invité'; @override String get repeater_guestPasswordHelper => - 'Accès en lecture seule avec mot de passe'; + 'Accès en lecture seule avec mot de passe'; @override - String get repeater_radioSettings => 'Paramètres Radio'; + String get repeater_radioSettings => 'Paramètres Radio'; @override - String get repeater_frequencyMhz => 'Fréquence (MHz)'; + String get repeater_frequencyMhz => 'Fréquence (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @@ -1951,54 +1946,54 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_bandwidth => 'Bande passante'; @override - String get repeater_spreadingFactor => 'Facteur de répartition'; + String get repeater_spreadingFactor => 'Facteur de répartition'; @override String get repeater_codingRate => 'Taux de codage'; @override - String get repeater_locationSettings => 'Paramètres de localisation'; + String get repeater_locationSettings => 'Paramètres de localisation'; @override String get repeater_latitude => 'Latitude'; @override String get repeater_latitudeHelper => - 'Degrés décimaux (par exemple, 37.7749)'; + 'Degrés décimaux (par exemple, 37.7749)'; @override String get repeater_longitude => 'Longitude'; @override String get repeater_longitudeHelper => - 'Degrés décimaux (par exemple, -122,4194)'; + 'Degrés décimaux (par exemple, -122,4194)'; @override - String get repeater_features => 'Fonctionnalités'; + String get repeater_features => 'Fonctionnalités'; @override String get repeater_packetForwarding => 'Transfert de paquets'; @override String get repeater_packetForwardingSubtitle => - 'Activer le répéteur pour transmettre des paquets'; + 'Activer le répéteur pour transmettre des paquets'; @override - String get repeater_guestAccess => 'Accès Invité'; + String get repeater_guestAccess => 'Accès Invité'; @override String get repeater_guestAccessSubtitle => - 'Autoriser l\'accès invité en lecture seule'; + 'Autoriser l\'accès invité en lecture seule'; @override - String get repeater_privacyMode => 'Mode de confidentialité'; + String get repeater_privacyMode => 'Mode de confidentialité'; @override String get repeater_privacyModeSubtitle => 'Cacher le nom/l\'emplacement dans les annonces'; @override - String get repeater_advertisementSettings => 'Paramètres d\'annonces'; + String get repeater_advertisementSettings => 'Paramètres d\'annonces'; @override String get repeater_localAdvertInterval => @@ -2011,7 +2006,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Intervalle des annonces à tout le réseau (flood)'; + 'Intervalle des annonces à tout le réseau (flood)'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2020,51 +2015,52 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_encryptedAdvertInterval => - 'Intervalle d\'annonces cryptées'; + 'Intervalle d\'annonces cryptées'; @override String get repeater_dangerZone => 'Zone dangereuse'; @override - String get repeater_rebootRepeater => 'Redémarrer Répéteur'; + String get repeater_rebootRepeater => 'Redémarrer Répéteur'; @override String get repeater_rebootRepeaterSubtitle => - 'Réinitialiser l\'appareil répéteur'; + 'Réinitialiser l\'appareil répéteur'; @override String get repeater_rebootRepeaterConfirm => - 'Êtes-vous sûr de vouloir redémarrer ce répéteur ?'; + 'Êtes-vous sûr de vouloir redémarrer ce répéteur ?'; @override - String get repeater_regenerateIdentityKey => 'Ré générer la clé d\'identité'; + String get repeater_regenerateIdentityKey => + 'Ré générer la clé d\'identité'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Générer une nouvelle paire de clés publique/privée'; + 'Générer une nouvelle paire de clés publique/privée'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Cela générera une nouvelle identité pour le répéteur. Continuer ?'; + 'Cela générera une nouvelle identité pour le répéteur. Continuer ?'; @override - String get repeater_eraseFileSystem => 'Supprimer le système de fichiers'; + String get repeater_eraseFileSystem => 'Supprimer le système de fichiers'; @override String get repeater_eraseFileSystemSubtitle => - 'Formater le système de fichiers du répéteur'; + 'Formater le système de fichiers du répéteur'; @override String get repeater_eraseFileSystemConfirm => - 'AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !'; + 'AVERTISSEMENT : Cela effacera toutes les données du répéteur. Cela ne peut pas être annulé !'; @override String get repeater_eraseSerialOnly => - 'Erase n\'est disponible que via la console série.'; + 'Erase n\'est disponible que via la console série.'; @override String repeater_commandSent(String command) { - return 'Commande envoyée : $command'; + return 'Commande envoyée : $command'; } @override @@ -2077,57 +2073,58 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_settingsSaved => - 'Les paramètres ont été enregistrés avec succès.'; + 'Les paramètres ont été enregistrés avec succès.'; @override String repeater_errorSavingSettings(String error) { - return 'Erreur lors de la sauvegarde des paramètres : $error'; + return 'Erreur lors de la sauvegarde des paramètres : $error'; } @override String get repeater_refreshBasicSettings => - 'Rafraîchir les paramètres de base'; + 'Rafraîchir les paramètres de base'; @override - String get repeater_refreshRadioSettings => 'Rafraîchir les paramètres Radio'; + String get repeater_refreshRadioSettings => + 'Rafraîchir les paramètres Radio'; @override - String get repeater_refreshTxPower => 'Rafraîchir la tension TX'; + String get repeater_refreshTxPower => 'Rafraîchir la tension TX'; @override String get repeater_refreshLocationSettings => - 'Rafraîchir les paramètres de localisation'; + 'Rafraîchir les paramètres de localisation'; @override String get repeater_refreshPacketForwarding => - 'Rafraîchir le routage des paquets'; + 'Rafraîchir le routage des paquets'; @override - String get repeater_refreshGuestAccess => 'Rafraîchir l\'accès invité'; + String get repeater_refreshGuestAccess => 'Rafraîchir l\'accès invité'; @override String get repeater_refreshPrivacyMode => - 'Rafraîchir le Mode Confidentialité'; + 'Rafraîchir le Mode Confidentialité'; @override String get repeater_refreshAdvertisementSettings => - 'Rafraîchir les Paramètres des annonces'; + 'Rafraîchir les Paramètres des annonces'; @override String repeater_refreshed(String label) { - return '$label rafraîchi'; + return '$label rafraîchi'; } @override String repeater_errorRefreshing(String label) { - return 'Erreur lors du rafraîchissement de $label'; + return 'Erreur lors du rafraîchissement de $label'; } @override - String get repeater_cliTitle => 'Répéteur CLI'; + String get repeater_cliTitle => 'Répéteur CLI'; @override - String get repeater_debugNextCommand => 'Déboguer Prochaine Commande'; + String get repeater_debugNextCommand => 'Déboguer Prochaine Commande'; @override String get repeater_commandHelp => 'Aide'; @@ -2137,7 +2134,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_noCommandsSent => - 'Aucune commande n\'a encore été envoyée.'; + 'Aucune commande n\'a encore été envoyée.'; @override String get repeater_typeCommandOrUseQuick => @@ -2147,7 +2144,7 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_enterCommandHint => 'Entrer la commande...'; @override - String get repeater_previousCommand => 'Commande précédente'; + String get repeater_previousCommand => 'Commande précédente'; @override String get repeater_nextCommand => 'Prochaine commande'; @@ -2189,7 +2186,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_cliHelpReboot => - 'Redémarre l\'appareil. (Note, vous risquez d\'obtenir \'Timeout\' ce qui est normal)'; + 'Redémarre l\'appareil. (Note, vous risquez d\'obtenir \'Timeout\' ce qui est normal)'; @override String get repeater_cliHelpClock => @@ -2197,116 +2194,116 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_cliHelpPassword => - 'Définit un nouveau mot de passe administrateur pour l\'appareil.'; + 'Définit un nouveau mot de passe administrateur pour l\'appareil.'; @override String get repeater_cliHelpVersion => - 'Affiche la version du périphérique et la date de construction du micrologiciel.'; + 'Affiche la version du périphérique et la date de construction du micrologiciel.'; @override String get repeater_cliHelpClearStats => - 'Réinitialise divers compteurs de statistiques à zéro.'; + 'Réinitialise divers compteurs de statistiques à zéro.'; @override - String get repeater_cliHelpSetAf => 'Définit le facteur de temps d\'air.'; + String get repeater_cliHelpSetAf => 'Définit le facteur de temps d\'air.'; @override String get repeater_cliHelpSetTx => - 'Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).'; + 'Définit la puissance de transmission LoRa en dBm (réinitialisation requise pour appliquer).'; @override String get repeater_cliHelpSetRepeat => - 'Active ou désactive le rôle du répéteur pour ce nœud.'; + 'Active ou désactive le rôle du répéteur pour ce nÅ“ud.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Room server) Si \"activé\", alors un mot de passe vide permettra la connexion, mais ne permettra pas de publier dans la pièce. (lecture seule uniquement)'; + '(Room server) Si \"activé\", alors un mot de passe vide permettra la connexion, mais ne permettra pas de publier dans la pièce. (lecture seule uniquement)'; @override String get repeater_cliHelpSetFloodMax => - 'Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n\'est pas acheminé).'; + 'Définit le nombre maximal de sauts pour les paquets de balayage entrants (si >= max, le paquet n\'est pas acheminé).'; @override String get repeater_cliHelpSetIntThresh => - 'Définit le seuil d\'interférence (en dB). La valeur par défaut est de 14. Définir sur 0 désactive la détection des interférences de canal.'; + 'Définit le seuil d\'interférence (en dB). La valeur par défaut est de 14. Définir sur 0 désactive la détection des interférences de canal.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Définit l\'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.'; + 'Définit l\'intervalle pour réinitialiser le contrôleur de gain automatique. Mettez à 0 pour désactiver.'; @override String get repeater_cliHelpSetMultiAcks => - 'Active ou désactive la fonctionnalité « double ACKs ».'; + 'Active ou désactive la fonctionnalité « double ACKs ».'; @override String get repeater_cliHelpSetAdvertInterval => - 'Définit l\'intervalle entre chaque émission d\'une annonce locale (sans relais). Définir sur 0 pour désactiver.'; + 'Définit l\'intervalle entre chaque émission d\'une annonce locale (sans relais). Définir sur 0 pour désactiver.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Définit l\'intervalle du minuteur en heures pour envoyer un paquet d\'annonce massive. Définir sur 0 pour désactiver.'; + 'Définit l\'intervalle du minuteur en heures pour envoyer un paquet d\'annonce massive. Définir sur 0 pour désactiver.'; @override String get repeater_cliHelpSetGuestPassword => - 'Définit/met à jour le mot de passe de l\'invité. (pour les répéteurs, les connexions d\'invités peuvent envoyer la requête \"Get Stats\")'; + 'Définit/met à jour le mot de passe de l\'invité. (pour les répéteurs, les connexions d\'invités peuvent envoyer la requête \"Get Stats\")'; @override - String get repeater_cliHelpSetName => 'Définit le nom de l\'annonce.'; + String get repeater_cliHelpSetName => 'Définit le nom de l\'annonce.'; @override String get repeater_cliHelpSetLat => - 'Définit la latitude de la carte des annonces. (degrés décimaux)'; + 'Définit la latitude de la carte des annonces. (degrés décimaux)'; @override String get repeater_cliHelpSetLon => - 'Définit la longitude de la carte de l\'annonce. (degrés décimaux)'; + 'Définit la longitude de la carte de l\'annonce. (degrés décimaux)'; @override String get repeater_cliHelpSetRadio => - 'Définit complètement de nouveaux paramètres de radio et les enregistre dans les préférences. Nécessite une commande \"redémarrage\" pour les appliquer.'; + 'Définit complètement de nouveaux paramètres de radio et les enregistre dans les préférences. Nécessite une commande \"redémarrage\" pour les appliquer.'; @override String get repeater_cliHelpSetRxDelay => - 'Paramètres (expérimental) de base pour appliquer un léger délai aux paquets reçus, en fonction de la force du signal/score. Définir sur 0 pour désactiver.'; + 'Paramètres (expérimental) de base pour appliquer un léger délai aux paquets reçus, en fonction de la force du signal/score. Définir sur 0 pour désactiver.'; @override String get repeater_cliHelpSetTxDelay => - 'Définit un facteur multiplié par le temps de fonctionnement en mode vers tout le réseau (flood) pour un paquet et avec un système de slot aléatoire, afin de retarder son envoi (pour diminuer la probabilité de collisions).'; + 'Définit un facteur multiplié par le temps de fonctionnement en mode vers tout le réseau (flood) pour un paquet et avec un système de slot aléatoire, afin de retarder son envoi (pour diminuer la probabilité de collisions).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.'; + 'Identique à txdelay, mais pour appliquer un délai aléatoire au transfert des paquets en mode direct.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Activer/Désactiver le pont.'; + String get repeater_cliHelpSetBridgeEnabled => 'Activer/Désactiver le pont.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Définir le délai avant de renvoyer les paquets.'; + 'Définir le délai avant de renvoyer les paquets.'; @override String get repeater_cliHelpSetBridgeSource => - 'Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.'; + 'Choisissez si le pont retransmettra les paquets reçus ou les paquets transmis.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Définir la vitesse de communication série pour les ponts Rs232.'; + 'Définir la vitesse de communication série pour les ponts Rs232.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Définir le secret du pont pour les ponts espnow.'; + 'Définir le secret du pont pour les ponts espnow.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).'; + 'Définit un facteur personnalisé pour ajuster la tension de la batterie signalée (uniquement pris en charge sur certains cartes).'; @override String get repeater_cliHelpTempRadio => - 'Définit des paramètres radio temporaires pour le nombre de minutes donné, puis revient aux paramètres radio d\'origine. (ne sauvegarde pas dans les préférences).'; + 'Définit des paramètres radio temporaires pour le nombre de minutes donné, puis revient aux paramètres radio d\'origine. (ne sauvegarde pas dans les préférences).'; @override String get repeater_cliHelpSetPerm => - 'Modifie l’ACL. Supprime l’entrée correspondante (par préfixe de clé publique) si \"permissions\" est égal à zéro. Ajoute une nouvelle entrée si la clé publique hexadécimale a une longueur complète et n’est pas actuellement dans l’ACL. Met à jour l’entrée en fonction du préfixe de clé publique. Les bits de permission varient en fonction du rôle du firmware, mais les 2 bits inférieurs sont : 0 (Invité), 1 (Lecture seule), 2 (Lecture/écriture), 3 (Administrateur).'; + 'Modifie l’ACL. Supprime l’entrée correspondante (par préfixe de clé publique) si \"permissions\" est égal à zéro. Ajoute une nouvelle entrée si la clé publique hexadécimale a une longueur complète et n’est pas actuellement dans l’ACL. Met à jour l’entrée en fonction du préfixe de clé publique. Les bits de permission varient en fonction du rôle du firmware, mais les 2 bits inférieurs sont : 0 (Invité), 1 (Lecture seule), 2 (Lecture/écriture), 3 (Administrateur).'; @override String get repeater_cliHelpGetBridgeType => @@ -2314,98 +2311,98 @@ class AppLocalizationsFr extends AppLocalizations { @override String get repeater_cliHelpLogStart => - 'Démarre l\'enregistrement des paquets dans le système de fichiers.'; + 'Démarre l\'enregistrement des paquets dans le système de fichiers.'; @override String get repeater_cliHelpLogStop => - 'Arrêter de journaliser les paquets vers le système de fichiers.'; + 'Arrêter de journaliser les paquets vers le système de fichiers.'; @override String get repeater_cliHelpLogErase => - 'Supprime les journaux de paquets du système de fichiers.'; + 'Supprime les journaux de paquets du système de fichiers.'; @override String get repeater_cliHelpNeighbors => - 'Affiche une liste d\'autres nœuds répéteurs entendus via des annonces sans relais. Chaque ligne est id-préfixe-hexadécimal:timestamp:snr-fois-4'; + 'Affiche une liste d\'autres nÅ“uds répéteurs entendus via des annonces sans relais. Chaque ligne est id-préfixe-hexadécimal:timestamp:snr-fois-4'; @override String get repeater_cliHelpNeighborRemove => - 'Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.'; + 'Supprime la première entrée correspondante (par préfixe de clé publique (hexadécimal)) de la liste des voisins.'; @override String get repeater_cliHelpRegion => - '(série uniquement) Liste toutes les régions définies et les autorisations actuelles d\'annonces sur tout le réseau (flood).'; + '(série uniquement) Liste toutes les régions définies et les autorisations actuelles d\'annonces sur tout le réseau (flood).'; @override String get repeater_cliHelpRegionLoad => - 'REMARQUE : il s\'agit d\'une invocation multi-commande spéciale. Chaque commande subséquente est un nom de région (indenté avec des espaces pour indiquer la hiérarchie parent, avec un minimum d\'un espace). Terminé par l\'envoi d\'une ligne vide/commande.'; + 'REMARQUE : il s\'agit d\'une invocation multi-commande spéciale. Chaque commande subséquente est un nom de région (indenté avec des espaces pour indiquer la hiérarchie parent, avec un minimum d\'un espace). Terminé par l\'envoi d\'une ligne vide/commande.'; @override String get repeater_cliHelpRegionGet => - 'Recherche la région avec le préfixe de nom donné (ou \"\" pour l\'étendue globale). Répond avec \"-> nom-de-région (nom-parent) \'F\'\"'; + 'Recherche la région avec le préfixe de nom donné (ou \"\" pour l\'étendue globale). Répond avec \"-> nom-de-région (nom-parent) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Ajoute ou met à jour une définition de région avec le nom donné.'; + 'Ajoute ou met à jour une définition de région avec le nom donné.'; @override String get repeater_cliHelpRegionRemove => - 'Supprime une définition de région avec le nom donné.'; + 'Supprime une définition de région avec le nom donné.'; @override String get repeater_cliHelpRegionAllowf => - 'Définit les autorisations de \"Flot\" pour la région donnée. (\'\' pour la portée globale/héritée)'; + 'Définit les autorisations de \"Flot\" pour la région donnée. (\'\' pour la portée globale/héritée)'; @override String get repeater_cliHelpRegionDenyf => - 'Supprime l\'autorisation \'F\'lood\' pour la région donnée. (NOTE : à ce stade, il n\'est pas conseillé de l\'utiliser sur l\'étendue globale/héritée !! )'; + 'Supprime l\'autorisation \'F\'lood\' pour la région donnée. (NOTE : à ce stade, il n\'est pas conseillé de l\'utiliser sur l\'étendue globale/héritée !! )'; @override String get repeater_cliHelpRegionHome => - 'Répond avec la région \'maison\' actuelle. (Note appliquée nulle part pour l\'instant, réservée à une utilisation future)'; + 'Répond avec la région \'maison\' actuelle. (Note appliquée nulle part pour l\'instant, réservée à une utilisation future)'; @override - String get repeater_cliHelpRegionHomeSet => 'Définit la région \'maison\'.'; + String get repeater_cliHelpRegionHomeSet => 'Définit la région \'maison\'.'; @override String get repeater_cliHelpRegionSave => - 'Conserve la liste/la carte des régions dans le stockage.'; + 'Conserve la liste/la carte des régions dans le stockage.'; @override String get repeater_cliHelpGps => - 'Affiche l’état du GPS. Lorsque le GPS est éteint, il répond uniquement « éteint », si allumé, il répond avec « allumé », l’état, la correction, le nombre de satellites.'; + 'Affiche l’état du GPS. Lorsque le GPS est éteint, il répond uniquement « éteint », si allumé, il répond avec « allumé », l’état, la correction, le nombre de satellites.'; @override - String get repeater_cliHelpGpsOnOff => 'Activer/désactiver le GPS.'; + String get repeater_cliHelpGpsOnOff => 'Activer/désactiver le GPS.'; @override String get repeater_cliHelpGpsSync => - 'Synchronise l\'heure du nœud avec l\'horloge GPS.'; + 'Synchronise l\'heure du nÅ“ud avec l\'horloge GPS.'; @override String get repeater_cliHelpGpsSetLoc => - 'Définit la position du nœud aux coordonnées GPS et enregistre les préférences.'; + 'Définit la position du nÅ“ud aux coordonnées GPS et enregistre les préférences.'; @override String get repeater_cliHelpGpsAdvert => - 'Donne la configuration de l\'annonce de la localisation du nœud :\n- none : ne pas inclure la localisation dans les annonces\n- share : partager la localisation GPS (du SensorManager)\n- prefs : annoncer la localisation stockée dans les préférences'; + 'Donne la configuration de l\'annonce de la localisation du nÅ“ud :\n- none : ne pas inclure la localisation dans les annonces\n- share : partager la localisation GPS (du SensorManager)\n- prefs : annoncer la localisation stockée dans les préférences'; @override String get repeater_cliHelpGpsAdvertSet => - 'Définit la configuration de l\'annonce de localisation.'; + 'Définit la configuration de l\'annonce de localisation.'; @override String get repeater_commandsListTitle => 'Liste des commandes'; @override String get repeater_commandsListNote => - 'NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...'; + 'NOTE : pour les diverses commandes « set »..., il existe également une commande « get »...'; @override - String get repeater_general => 'Général'; + String get repeater_general => 'Général'; @override - String get repeater_settingsCategory => 'Paramètres'; + String get repeater_settingsCategory => 'Paramètres'; @override String get repeater_bridge => 'Pont'; @@ -2414,36 +2411,37 @@ class AppLocalizationsFr extends AppLocalizations { String get repeater_logging => 'Journalisation'; @override - String get repeater_neighborsRepeaterOnly => 'Voisins (Uniquement répéteur)'; + String get repeater_neighborsRepeaterOnly => + 'Voisins (Uniquement répéteur)'; @override String get repeater_regionManagementRepeaterOnly => - 'Gestion des régions (uniquement pour le répéteur)'; + 'Gestion des régions (uniquement pour le répéteur)'; @override String get repeater_regionNote => - 'Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.'; + 'Les commandes de région ont été introduites pour gérer les définitions et les autorisations des régions.'; @override String get repeater_gpsManagement => 'Gestion GPS'; @override String get repeater_gpsNote => - 'La commande GPS a été introduite pour gérer les sujets liés à la localisation.'; + 'La commande GPS a été introduite pour gérer les sujets liés à la localisation.'; @override - String get telemetry_receivedData => 'Données de télémétrie reçues'; + String get telemetry_receivedData => 'Données de télémétrie reçues'; @override - String get telemetry_requestTimeout => 'Demande de télémétrie expirée.'; + String get telemetry_requestTimeout => 'Demande de télémétrie expirée.'; @override String telemetry_errorLoading(String error) { - return 'Erreur lors du chargement de la télémétrie : $error'; + return 'Erreur lors du chargement de la télémétrie : $error'; } @override - String get telemetry_noData => 'Aucune donnée de télémétrie disponible.'; + String get telemetry_noData => 'Aucune donnée de télémétrie disponible.'; @override String telemetry_channelTitle(int channel) { @@ -2457,10 +2455,10 @@ class AppLocalizationsFr extends AppLocalizations { String get telemetry_voltageLabel => 'Tension'; @override - String get telemetry_mcuTemperatureLabel => 'Température du MCU'; + String get telemetry_mcuTemperatureLabel => 'Température du MCU'; @override - String get telemetry_temperatureLabel => 'Température'; + String get telemetry_temperatureLabel => 'Température'; @override String get telemetry_currentLabel => 'Actuellement'; @@ -2482,14 +2480,14 @@ class AppLocalizationsFr extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Données des voisins reçues'; + String get neighbors_receivedData => 'Données des voisins reçues'; @override - String get neighbors_requestTimedOut => 'Les voisins demandent un délai.'; + String get neighbors_requestTimedOut => 'Les voisins demandent un délai.'; @override String neighbors_errorLoading(String error) { @@ -2497,20 +2495,20 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get neighbors_repeatersNeighbors => 'Répéteurs Voisins'; + String get neighbors_repeatersNeighbors => 'Répéteurs Voisins'; @override String get neighbors_noData => - 'Aucune donnée concernant les voisins disponible.'; + 'Aucune donnée concernant les voisins disponible.'; @override String neighbors_unknownContact(String pubkey) { - return 'Clé publique inconnue $pubkey'; + return 'Clé publique inconnue $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Écouté : $time auparavant'; + return 'Écouté : $time auparavant'; } @override @@ -2520,26 +2518,26 @@ class AppLocalizationsFr extends AppLocalizations { String get channelPath_viewMap => 'Afficher la carte'; @override - String get channelPath_otherObservedPaths => 'Autres chemins observés'; + String get channelPath_otherObservedPaths => 'Autres chemins observés'; @override - String get channelPath_repeaterHops => 'Sauts du répéteur'; + String get channelPath_repeaterHops => 'Sauts du répéteur'; @override String get channelPath_noHopDetails => - 'Les détails de l\'envoi ne sont pas fournis pour ce paquet.'; + 'Les détails de l\'envoi ne sont pas fournis pour ce paquet.'; @override - String get channelPath_messageDetails => 'Détails du message'; + String get channelPath_messageDetails => 'Détails du message'; @override - String get channelPath_senderLabel => 'Expéditeur'; + String get channelPath_senderLabel => 'Expéditeur'; @override String get channelPath_timeLabel => 'Temps'; @override - String get channelPath_repeatsLabel => 'Répétitions'; + String get channelPath_repeatsLabel => 'Répétitions'; @override String channelPath_pathLabel(int index) { @@ -2547,15 +2545,15 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get channelPath_observedLabel => 'Observé'; + String get channelPath_observedLabel => 'Observé'; @override String channelPath_observedPathTitle(int index, String hops) { - return 'Chemin observé $index • $hops'; + return 'Chemin observé $index • $hops'; } @override - String get channelPath_noLocationData => 'Aucune donnée de localisation'; + String get channelPath_noLocationData => 'Aucune donnée de localisation'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2571,7 +2569,7 @@ class AppLocalizationsFr extends AppLocalizations { String get channelPath_unknownPath => 'Inconnu'; @override - String get channelPath_floodPath => 'Tout le réseau'; + String get channelPath_floodPath => 'Tout le réseau'; @override String get channelPath_directPath => 'Afficher'; @@ -2591,7 +2589,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get channelPath_noRepeaterLocations => - 'Aucune position de répéteur disponible pour ce chemin.'; + 'Aucune position de répéteur disponible pour ce chemin.'; @override String channelPath_primaryPath(int index) { @@ -2602,43 +2600,43 @@ class AppLocalizationsFr extends AppLocalizations { String get channelPath_pathLabelTitle => 'Chemin'; @override - String get channelPath_observedPathHeader => 'Chemin observé'; + String get channelPath_observedPathHeader => 'Chemin observé'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Aucun détail de saut disponible pour ce paquet.'; + 'Aucun détail de saut disponible pour ce paquet.'; @override - String get channelPath_unknownRepeater => 'Répéteur Inconnu'; + String get channelPath_unknownRepeater => 'Répéteur Inconnu'; @override - String get community_title => 'Communauté'; + String get community_title => 'Communauté'; @override - String get community_create => 'Créer une Communauté'; + String get community_create => 'Créer une Communauté'; @override String get community_createDesc => - 'Créer une nouvelle communauté et la partager via QR code.'; + 'Créer une nouvelle communauté et la partager via QR code.'; @override String get community_join => 'Rejoindre'; @override - String get community_joinTitle => 'Rejoindre la communauté'; + String get community_joinTitle => 'Rejoindre la communauté'; @override String community_joinConfirmation(String name) { - return 'Souhaitez-vous rejoindre la communauté \"$name\" ?'; + return 'Souhaitez-vous rejoindre la communauté \"$name\" ?'; } @override - String get community_scanQr => 'Scanner la communauté QR'; + String get community_scanQr => 'Scanner la communauté QR'; @override String get community_scanInstructions => @@ -2648,29 +2646,29 @@ class AppLocalizationsFr extends AppLocalizations { String get community_showQr => 'Afficher le QR Code'; @override - String get community_publicChannel => 'Communauté Publique'; + String get community_publicChannel => 'Communauté Publique'; @override - String get community_hashtagChannel => 'Hashtag Communauté'; + String get community_hashtagChannel => 'Hashtag Communauté'; @override - String get community_name => 'Nom de la communauté'; + String get community_name => 'Nom de la communauté'; @override - String get community_enterName => 'Entrez le nom de la communauté'; + String get community_enterName => 'Entrez le nom de la communauté'; @override String community_created(String name) { - return 'Communauté \"$name\" créée'; + return 'Communauté \"$name\" créée'; } @override String community_joined(String name) { - return 'Rejoint la communauté \"$name\"'; + return 'Rejoint la communauté \"$name\"'; } @override - String get community_qrTitle => 'Partager Communauté'; + String get community_qrTitle => 'Partager Communauté'; @override String community_qrInstructions(String name) { @@ -2679,40 +2677,40 @@ class AppLocalizationsFr extends AppLocalizations { @override String get community_hashtagPrivacyHint => - 'Les canaux hashtag de la communauté ne sont accessibles qu\'aux membres de la communauté'; + 'Les canaux hashtag de la communauté ne sont accessibles qu\'aux membres de la communauté'; @override - String get community_invalidQrCode => 'Code QR de communauté non valide'; + String get community_invalidQrCode => 'Code QR de communauté non valide'; @override - String get community_alreadyMember => 'Déjà membre'; + String get community_alreadyMember => 'Déjà membre'; @override String community_alreadyMemberMessage(String name) { - return 'Vous êtes déjà membre de \"$name\".'; + return 'Vous êtes déjà membre de \"$name\".'; } @override String get community_addPublicChannel => - 'Ajouter un Canal Public de la Communauté'; + 'Ajouter un Canal Public de la Communauté'; @override String get community_addPublicChannelHint => - 'Ajouter automatiquement le canal public pour cette communauté'; + 'Ajouter automatiquement le canal public pour cette communauté'; @override String get community_noCommunities => - 'Aucun groupe n\'a été rejoint pour le moment.'; + 'Aucun groupe n\'a été rejoint pour le moment.'; @override String get community_scanOrCreate => - 'Scanner un code QR ou créer une communauté pour commencer'; + 'Scanner un code QR ou créer une communauté pour commencer'; @override - String get community_manageCommunities => 'Gérer les Communautés'; + String get community_manageCommunities => 'Gérer les Communautés'; @override - String get community_delete => 'Quitter la communauté'; + String get community_delete => 'Quitter la communauté'; @override String community_deleteConfirm(String name) { @@ -2721,66 +2719,66 @@ class AppLocalizationsFr extends AppLocalizations { @override String community_deleteChannelsWarning(int count) { - return 'Cela supprimera également $count canal/canaux et leurs messages.'; + return 'Cela supprimera également $count canal/canaux et leurs messages.'; } @override String community_deleted(String name) { - return 'Communauté \"$name\" quittée'; + return 'Communauté \"$name\" quittée'; } @override - String get community_regenerateSecret => 'Régénérer le secret'; + String get community_regenerateSecret => 'Régénérer le secret'; @override String community_regenerateSecretConfirm(String name) { - return 'Régénérer la clé secrète pour \"$name\" ? Tous les membres devront scanner le nouveau code QR pour continuer à communiquer.'; + return 'Régénérer la clé secrète pour \"$name\" ? Tous les membres devront scanner le nouveau code QR pour continuer à communiquer.'; } @override - String get community_regenerate => 'Régénérer'; + String get community_regenerate => 'Régénérer'; @override String community_secretRegenerated(String name) { - return 'Mot de passe secret régénéré pour \"$name\"'; + return 'Mot de passe secret régénéré pour \"$name\"'; } @override - String get community_updateSecret => 'Mettre à jour le secret'; + String get community_updateSecret => 'Mettre à jour le secret'; @override String community_secretUpdated(String name) { - return 'Modification secrète mise à jour pour \"$name\"'; + return 'Modification secrète mise à jour pour \"$name\"'; } @override String community_scanToUpdateSecret(String name) { - return 'Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"$name\"'; + return 'Scanner le nouveau code QR pour mettre à jour le mot de passe pour \"$name\"'; } @override - String get community_addHashtagChannel => 'Ajouter un Hashtag Communauté'; + String get community_addHashtagChannel => 'Ajouter un Hashtag Communauté'; @override String get community_addHashtagChannelDesc => - 'Ajouter un canal hashtag pour cette communauté'; + 'Ajouter un canal hashtag pour cette communauté'; @override - String get community_selectCommunity => 'Sélectionner Communauté'; + String get community_selectCommunity => 'Sélectionner Communauté'; @override - String get community_regularHashtag => 'Hashtag régulier'; + String get community_regularHashtag => 'Hashtag régulier'; @override String get community_regularHashtagDesc => 'Hashtag public (tout le monde peut rejoindre)'; @override - String get community_communityHashtag => 'Hashtag de la communauté'; + String get community_communityHashtag => 'Hashtag de la communauté'; @override String get community_communityHashtagDesc => - 'Exclusif aux membres de la communauté'; + 'Exclusif aux membres de la communauté'; @override String community_forCommunity(String name) { @@ -2797,10 +2795,10 @@ class AppLocalizationsFr extends AppLocalizations { String get listFilter_latestMessages => 'Derniers messages'; @override - String get listFilter_heardRecently => 'Écoute récemment'; + String get listFilter_heardRecently => 'Écoute récemment'; @override - String get listFilter_az => 'A à Z'; + String get listFilter_az => 'A à Z'; @override String get listFilter_filters => 'Filtres'; @@ -2809,10 +2807,10 @@ class AppLocalizationsFr extends AppLocalizations { String get listFilter_all => 'Tout'; @override - String get listFilter_favorites => 'Préférences'; + String get listFilter_favorites => 'Préférences'; @override - String get listFilter_addToFavorites => 'Ajouter à mes favoris'; + String get listFilter_addToFavorites => 'Ajouter à mes favoris'; @override String get listFilter_removeFromFavorites => 'Supprimer des favoris'; @@ -2821,7 +2819,7 @@ class AppLocalizationsFr extends AppLocalizations { String get listFilter_users => 'Utilisateurs'; @override - String get listFilter_repeaters => 'Répéteurs'; + String get listFilter_repeaters => 'Répéteurs'; @override String get listFilter_roomServers => 'Room servers'; @@ -2836,10 +2834,10 @@ class AppLocalizationsFr extends AppLocalizations { String get pathTrace_you => 'Vous'; @override - String get pathTrace_failed => 'Traçage du chemin échoué.'; + String get pathTrace_failed => 'Traçage du chemin échoué.'; @override - String get pathTrace_notAvailable => 'Tracé de chemin non disponible.'; + String get pathTrace_notAvailable => 'Tracé de chemin non disponible.'; @override String get pathTrace_refreshTooltip => 'Actualiser Path Trace'; @@ -2853,11 +2851,11 @@ class AppLocalizationsFr extends AppLocalizations { @override String get losSelectStartEnd => - 'Sélectionnez les nœuds de début et de fin pour LOS.'; + 'Sélectionnez les nÅ“uds de début et de fin pour LOS.'; @override String losRunFailed(String error) { - return 'Échec de la vérification de la ligne de vue : $error'; + return 'Échec de la vérification de la ligne de vue : $error'; } @override @@ -2865,24 +2863,24 @@ class AppLocalizationsFr extends AppLocalizations { @override String get losRunToViewElevationProfile => - 'Exécutez LOS pour afficher le profil d\'altitude'; + 'Exécutez LOS pour afficher le profil d\'altitude'; @override String get losMenuTitle => 'Menu LOS'; @override String get losMenuSubtitle => - 'Appuyez sur les nœuds ou appuyez longuement sur la carte pour des points personnalisés'; + 'Appuyez sur les nÅ“uds ou appuyez longuement sur la carte pour des points personnalisés'; @override - String get losShowDisplayNodes => 'Afficher les nœuds d\'affichage'; + String get losShowDisplayNodes => 'Afficher les nÅ“uds d\'affichage'; @override - String get losCustomPoints => 'Points personnalisés'; + String get losCustomPoints => 'Points personnalisés'; @override String losCustomPointLabel(int index) { - return 'Personnalisé $index'; + return 'Personnalisé $index'; } @override @@ -2893,19 +2891,19 @@ class AppLocalizationsFr extends AppLocalizations { @override String losAntennaA(String value, String unit) { - return 'Antenne A : $value $unit'; + return 'Antenne A : $value $unit'; } @override String losAntennaB(String value, String unit) { - return 'Antenne B : $value $unit'; + return 'Antenne B : $value $unit'; } @override - String get losRun => 'Exécuter la LOS'; + String get losRun => 'Exécuter la LOS'; @override - String get losNoElevationData => 'Aucune donnée d\'altitude'; + String get losNoElevationData => 'Aucune donnée d\'altitude'; @override String losProfileClear( @@ -2924,30 +2922,30 @@ class AppLocalizationsFr extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit, bloqué par $obstruction $heightUnit'; + return '$distance $distanceUnit, bloqué par $obstruction $heightUnit'; } @override - String get losStatusChecking => 'LOS : vérification...'; + String get losStatusChecking => 'LOS : vérification...'; @override - String get losStatusNoData => 'LOS : aucune donnée'; + String get losStatusNoData => 'LOS : aucune donnée'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS : $clear/$total clair, $blocked bloqué, $unknown inconnu'; + return 'LOS : $clear/$total clair, $blocked bloqué, $unknown inconnu'; } @override String get losErrorElevationUnavailable => - 'Données d\'altitude indisponibles pour un ou plusieurs échantillons.'; + 'Données d\'altitude indisponibles pour un ou plusieurs échantillons.'; @override String get losErrorInvalidInput => - 'Données de points/d\'altitude non valides pour le calcul de la LOS.'; + 'Données de points/d\'altitude non valides pour le calcul de la LOS.'; @override - String get losRenameCustomPoint => 'Renommer le point personnalisé'; + String get losRenameCustomPoint => 'Renommer le point personnalisé'; @override String get losPointName => 'Nom du point'; @@ -2960,25 +2958,25 @@ class AppLocalizationsFr extends AppLocalizations { @override String get losElevationAttribution => - 'Données d’altitude : Open-Meteo (CC BY 4.0)'; + 'Données d’altitude : Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Horizon radio'; @override - String get losLegendLosBeam => 'Ligne de visée'; + String get losLegendLosBeam => 'Ligne de visée'; @override String get losLegendTerrain => 'Terrain'; @override - String get losFrequencyLabel => 'Fréquence'; + String get losFrequencyLabel => 'Fréquence'; @override - String get losFrequencyInfoTooltip => 'Voir les détails du calcul'; + String get losFrequencyInfoTooltip => 'Voir les détails du calcul'; @override - String get losFrequencyDialogTitle => 'Calcul de l’horizon radio'; + String get losFrequencyDialogTitle => 'Calcul de l’horizon radio'; @override String losFrequencyDialogDescription( @@ -2987,24 +2985,25 @@ class AppLocalizationsFr extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'À partir de k=$baselineK à $baselineFreq MHz, le calcul ajuste le facteur k pour la bande actuelle de $frequencyMHz MHz, ce qui définit la limite incurvée de l\'horizon radio.'; + return 'À partir de k=$baselineK à $baselineFreq MHz, le calcul ajuste le facteur k pour la bande actuelle de $frequencyMHz MHz, ce qui définit la limite incurvée de l\'horizon radio.'; } @override - String get contacts_pathTrace => 'Traçage de chemin'; + String get contacts_pathTrace => 'Traçage de chemin'; @override String get contacts_ping => 'Ping'; @override - String get contacts_repeaterPathTrace => 'Tracer le chemin vers le répéteur'; + String get contacts_repeaterPathTrace => + 'Tracer le chemin vers le répéteur'; @override - String get contacts_repeaterPing => 'Pinguer le répéteur'; + String get contacts_repeaterPing => 'Pinguer le répéteur'; @override String get contacts_roomPathTrace => - 'Traçage du chemin vers le serveur de la salle'; + 'Traçage du chemin vers le serveur de la salle'; @override String get contacts_roomPing => 'Pinguer le serveur de la salle'; @@ -3014,27 +3013,27 @@ class AppLocalizationsFr extends AppLocalizations { @override String contacts_pathTraceTo(String name) { - return 'Tracer l\'itinéraire vers $name'; + return 'Tracer l\'itinéraire vers $name'; } @override String get contacts_clipboardEmpty => 'Le presse-papiers est vide.'; @override - String get contacts_invalidAdvertFormat => 'Données de contact non valides'; + String get contacts_invalidAdvertFormat => 'Données de contact non valides'; @override - String get contacts_contactImported => 'Le contact a été importé.'; + String get contacts_contactImported => 'Le contact a été importé.'; @override String get contacts_contactImportFailed => - 'Échec de l\'importation du contact.'; + 'Échec de l\'importation du contact.'; @override String get contacts_zeroHopAdvert => 'Annonce Zero saut'; @override - String get contacts_floodAdvert => 'Annonce à tout le réseau'; + String get contacts_floodAdvert => 'Annonce à tout le réseau'; @override String get contacts_copyAdvertToClipboard => @@ -3057,18 +3056,18 @@ class AppLocalizationsFr extends AppLocalizations { @override String get contacts_zeroHopContactAdvertFailed => - 'Échec de l\'envoi du contact.'; + 'Échec de l\'envoi du contact.'; @override String get contacts_contactAdvertCopied => - 'Annonce copiée dans le presse-papiers.'; + 'Annonce copiée dans le presse-papiers.'; @override String get contacts_contactAdvertCopyFailed => - 'La copie de l\'annonce vers le presse-papiers a échoué.'; + 'La copie de l\'annonce vers le presse-papiers a échoué.'; @override - String get notification_activityTitle => 'Activité MeshCore'; + String get notification_activityTitle => 'Activité MeshCore'; @override String notification_messagesCount(int count) { @@ -3097,27 +3096,27 @@ class AppLocalizationsFr extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'nouveaux nœuds', - one: 'nouveau nœud', + other: 'nouveaux nÅ“uds', + one: 'nouveau nÅ“ud', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { - return 'Nouveau $contactType découvert'; + return 'Nouveau $contactType découvert'; } @override - String get notification_receivedNewMessage => 'Nouveau message reçu'; + String get notification_receivedNewMessage => 'Nouveau message reçu'; @override String get settings_gpxExportRepeaters => - 'Exporter les répéteurs / serveur de salle au format GPX'; + 'Exporter les répéteurs / serveur de salle au format GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.'; + 'Exporte les répéteurs / roomserver avec une localisation vers un fichier GPX.'; @override String get settings_gpxExportContacts => @@ -3136,14 +3135,14 @@ class AppLocalizationsFr extends AppLocalizations { 'Exporte tous les contacts avec une localisation vers un fichier GPX.'; @override - String get settings_gpxExportSuccess => 'Fichier GPX exporté avec succès.'; + String get settings_gpxExportSuccess => 'Fichier GPX exporté avec succès.'; @override - String get settings_gpxExportNoContacts => 'Aucun contact à exporter.'; + String get settings_gpxExportNoContacts => 'Aucun contact à exporter.'; @override String get settings_gpxExportNotAvailable => - 'Non pris en charge sur votre appareil/Système d\'exploitation'; + 'Non pris en charge sur votre appareil/Système d\'exploitation'; @override String get settings_gpxExportError => @@ -3151,7 +3150,7 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_gpxExportRepeatersRoom => - 'Emplacements des serveurs de répéteur et de salle'; + 'Emplacements des serveurs de répéteur et de salle'; @override String get settings_gpxExportChat => 'Emplacements des compagnons'; @@ -3162,15 +3161,15 @@ class AppLocalizationsFr extends AppLocalizations { @override String get settings_gpxExportShareText => - 'Données de carte exportées à partir de meshcore-open'; + 'Données de carte exportées à partir de meshcore-open'; @override String get settings_gpxExportShareSubject => - 'meshcore-open exporter les données de carte GPX'; + 'meshcore-open exporter les données de carte GPX'; @override - String get snrIndicator_nearByRepeaters => 'Répéteurs à proximité'; + String get snrIndicator_nearByRepeaters => 'Répéteurs à proximité'; @override - String get snrIndicator_lastSeen => 'Dernière fois vu'; + String get snrIndicator_lastSeen => 'Dernière fois vu'; } diff --git a/lib/l10n/app_localizations_it.dart b/lib/l10n/app_localizations_it.dart index aef53e1..128f6e4 100644 --- a/lib/l10n/app_localizations_it.dart +++ b/lib/l10n/app_localizations_it.dart @@ -93,7 +93,7 @@ class AppLocalizationsIt extends AppLocalizations { String get common_loading => 'Caricamento...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,14 +108,6 @@ class AppLocalizationsIt extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => - 'Scegli il metodo di connessione che preferisci.'; - - @override - String get connectionChoiceSubtitle => - 'Seleziona il metodo che preferisci per accedere al tuo dispositivo MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -134,7 +126,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get usbScreenNote => - 'La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.'; + 'La comunicazione seriale USB è attiva sui dispositivi Android supportati e sulle piattaforme desktop.'; @override String get usbScreenEmptyState => @@ -176,7 +168,7 @@ class AppLocalizationsIt extends AppLocalizations { String get scanner_scan => 'Scansiona'; @override - String get scanner_bluetoothOff => 'Il Bluetooth è disattivato.'; + String get scanner_bluetoothOff => 'Il Bluetooth è disattivato.'; @override String get scanner_bluetoothOffMessage => @@ -273,7 +265,7 @@ class AppLocalizationsIt extends AppLocalizations { String get settings_longitude => 'Longitudine'; @override - String get settings_privacyMode => 'Modalità Privacy'; + String get settings_privacyMode => 'Modalità Privacy'; @override String get settings_privacyModeSubtitle => @@ -281,13 +273,13 @@ class AppLocalizationsIt extends AppLocalizations { @override String get settings_privacyModeToggle => - 'Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.'; + 'Attiva la modalità privacy per nascondere il tuo nome e la tua posizione negli annunci.'; @override - String get settings_privacyModeEnabled => 'Modalità privacy abilitata'; + String get settings_privacyModeEnabled => 'Modalità privacy abilitata'; @override - String get settings_privacyModeDisabled => 'Modalità privacy disabilitata'; + String get settings_privacyModeDisabled => 'Modalità privacy disabilitata'; @override String get settings_actions => 'Azioni'; @@ -425,7 +417,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get settings_clientRepeatFreqWarning => - 'Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.'; + 'Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.'; @override String settings_error(String message) { @@ -460,10 +452,10 @@ class AppLocalizationsIt extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -472,16 +464,16 @@ class AppLocalizationsIt extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -490,10 +482,10 @@ class AppLocalizationsIt extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russo'; @@ -576,7 +568,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get appSettings_autoRouteRotationSubtitle => - 'Alterna tra i percorsi migliori e la modalità alluvione'; + 'Alterna tra i percorsi migliori e la modalità alluvione'; @override String get appSettings_autoRouteRotationEnabled => @@ -671,7 +663,7 @@ class AppLocalizationsIt extends AppLocalizations { String get appSettings_offlineMapCache => 'Cache Mappa Offline'; @override - String get appSettings_unitsTitle => 'Unità'; + String get appSettings_unitsTitle => 'Unità'; @override String get appSettings_unitsMetric => 'Metrico (m/km)'; @@ -790,11 +782,12 @@ class AppLocalizationsIt extends AppLocalizations { String get contacts_groupName => 'Nome gruppo'; @override - String get contacts_groupNameRequired => 'Il nome del gruppo è obbligatorio.'; + String get contacts_groupNameRequired => + 'Il nome del gruppo è obbligatorio.'; @override String contacts_groupAlreadyExists(String name) { - return 'Il gruppo \"$name\" esiste già.'; + return 'Il gruppo \"$name\" esiste già.'; } @override @@ -880,7 +873,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String channels_deleteChannelConfirm(String name) { - return 'Eliminare \"$name\"? Non può essere annullato.'; + return 'Eliminare \"$name\"? Non può essere annullato.'; } @override @@ -977,20 +970,20 @@ class AppLocalizationsIt extends AppLocalizations { @override String get channels_joinPublicChannelDesc => - 'Chiunque può unirsi a questo canale.'; + 'Chiunque può unirsi a questo canale.'; @override String get channels_joinHashtagChannel => 'Unisciti a un Canale con Hashtag'; @override String get channels_joinHashtagChannelDesc => - 'Chiunque può unirsi ai canali hashtag.'; + 'Chiunque può unirsi ai canali hashtag.'; @override String get channels_scanQrCode => 'Scansiona un codice QR'; @override - String get channels_scanQrCodeComingSoon => 'Arriverà presto'; + String get channels_scanQrCodeComingSoon => 'Arriverà presto'; @override String get channels_enterHashtag => 'Inserisci hashtag'; @@ -1124,7 +1117,7 @@ class AppLocalizationsIt extends AppLocalizations { String get debugLog_rawLogRx => 'Log Raw-RX'; @override - String get debugLog_noBleActivity => 'Nessuna attività BLE rilevata ancora.'; + String get debugLog_noBleActivity => 'Nessuna attività BLE rilevata ancora.'; @override String debugFrame_length(int count) { @@ -1180,20 +1173,20 @@ class AppLocalizationsIt extends AppLocalizations { String get chat_ShowAllPaths => 'Mostra tutti i percorsi'; @override - String get chat_routingMode => 'Modalità di routing'; + String get chat_routingMode => 'Modalità di routing'; @override String get chat_autoUseSavedPath => 'Utilizza il percorso salvato'; @override - String get chat_forceFloodMode => 'Modalità Inondamento Forzato'; + String get chat_forceFloodMode => 'Modalità Inondamento Forzato'; @override String get chat_recentAckPaths => 'Percorsi ACK Recenti (tocca per usare):'; @override String get chat_pathHistoryFull => - 'La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.'; + 'La cronologia del percorso è piena. Rimuovi gli elementi per aggiungere nuovi.'; @override String get chat_hopSingular => 'salta'; @@ -1220,7 +1213,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get chat_noPathHistoryYet => - 'Non c\'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.'; + 'Non c\'è ancora una cronologia del percorso.\nInvia un messaggio per scoprire i percorsi.'; @override String get chat_pathActions => 'Azioni Percorso:'; @@ -1241,7 +1234,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get chat_pathCleared => - 'Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.'; + 'Percorso sgomberato. Il prossimo messaggio riidentifierà il percorso.'; @override String get chat_floodModeSubtitle => @@ -1249,7 +1242,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get chat_floodModeEnabled => - 'Modalità alluvione abilitata. Disattivala tramite l\'icona di routing nella barra in alto.'; + 'Modalità alluvione abilitata. Disattivala tramite l\'icona di routing nella barra in alto.'; @override String get chat_fullPath => 'Percorso Completo'; @@ -1424,7 +1417,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Stai per condividere una posizione in $channelLabel. Questo canale è pubblico e chiunque abbia la PSK può vederlo.'; + return 'Stai per condividere una posizione in $channelLabel. Questo canale è pubblico e chiunque abbia la PSK può vederlo.'; } @override @@ -1642,7 +1635,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get login_savePasswordSubtitle => - 'La password verrà memorizzata in modo sicuro su questo dispositivo.'; + 'La password verrà memorizzata in modo sicuro su questo dispositivo.'; @override String get login_repeaterDescription => @@ -1656,13 +1649,13 @@ class AppLocalizationsIt extends AppLocalizations { String get login_routing => 'Instradamento'; @override - String get login_routingMode => 'Modalità di routing'; + String get login_routingMode => 'Modalità di routing'; @override String get login_autoUseSavedPath => 'Utilizza il percorso salvato'; @override - String get login_forceFloodMode => 'Modalità Inondamento Forzato'; + String get login_forceFloodMode => 'Modalità Inondamento Forzato'; @override String get login_managePaths => 'Gestisci Percorsi'; @@ -1682,7 +1675,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get login_failedMessage => - 'Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.'; + 'Accesso fallito. La password non è corretta oppure il ripetitore non è raggiungibile.'; @override String get common_reload => 'Ricaricare'; @@ -1725,7 +1718,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get path_helperMaxHops => - 'Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)'; + 'Massimo 64 salti. Ogni prefisso è composto da 2 caratteri esadecimali (1 byte)'; @override String get path_selectFromContacts => 'Seleziona da contatti:'; @@ -1745,7 +1738,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get path_tooLong => - 'Il percorso è troppo lungo. Massimo 64 salti consentiti.'; + 'Il percorso è troppo lungo. Massimo 64 salti consentiti.'; @override String get path_setPath => 'Imposta Percorso'; @@ -1797,13 +1790,13 @@ class AppLocalizationsIt extends AppLocalizations { String get repeater_statusTitle => 'Stato del Ripetitore'; @override - String get repeater_routingMode => 'Modalità di routing'; + String get repeater_routingMode => 'Modalità di routing'; @override String get repeater_autoUseSavedPath => 'Percorso salvato automatico'; @override - String get repeater_forceFloodMode => 'Modalità Inondamento Forzato'; + String get repeater_forceFloodMode => 'Modalità Inondamento Forzato'; @override String get repeater_pathManagement => 'Gestione dei percorsi'; @@ -1829,7 +1822,7 @@ class AppLocalizationsIt extends AppLocalizations { String get repeater_clockAtLogin => 'Orologio (all\'accesso)'; @override - String get repeater_uptime => 'Disponibilità'; + String get repeater_uptime => 'Disponibilità'; @override String get repeater_queueLength => 'Lunghezza della coda'; @@ -1981,7 +1974,7 @@ class AppLocalizationsIt extends AppLocalizations { 'Consenti l\'accesso ospite in sola lettura'; @override - String get repeater_privacyMode => 'Modalità Privacy'; + String get repeater_privacyMode => 'Modalità Privacy'; @override String get repeater_privacyModeSubtitle => @@ -1991,7 +1984,7 @@ class AppLocalizationsIt extends AppLocalizations { String get repeater_advertisementSettings => 'Impostazioni Annuncio'; @override - String get repeater_localAdvertInterval => 'Intervallo Pubblicità Locale'; + String get repeater_localAdvertInterval => 'Intervallo Pubblicità Locale'; @override String repeater_localAdvertIntervalMinutes(int minutes) { @@ -2000,7 +1993,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Intervallo Pubblicità Inondazione'; + 'Intervallo Pubblicità Inondazione'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2026,7 +2019,7 @@ class AppLocalizationsIt extends AppLocalizations { 'Sei sicuro di voler riavviare questo ripetitore?'; @override - String get repeater_regenerateIdentityKey => 'Rigenera Chiave Identità'; + String get repeater_regenerateIdentityKey => 'Rigenera Chiave Identità'; @override String get repeater_regenerateIdentityKeySubtitle => @@ -2034,7 +2027,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_regenerateIdentityKeyConfirm => - 'Questo genererà una nuova identità per il ripetitore. Procedere?'; + 'Questo genererà una nuova identità per il ripetitore. Procedere?'; @override String get repeater_eraseFileSystem => 'Elimina File System'; @@ -2045,11 +2038,11 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_eraseFileSystemConfirm => - 'ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!'; + 'ATTENZIONE: Ciò cancellerà tutti i dati sul ripetitore. Non può essere annullato!'; @override String get repeater_eraseSerialOnly => - 'Elimina è disponibile solo tramite console seriale.'; + 'Elimina è disponibile solo tramite console seriale.'; @override String repeater_commandSent(String command) { @@ -2093,7 +2086,7 @@ class AppLocalizationsIt extends AppLocalizations { String get repeater_refreshGuestAccess => 'Aggiorna Accesso Ospite'; @override - String get repeater_refreshPrivacyMode => 'Aggiorna Modalità Privacy'; + String get repeater_refreshPrivacyMode => 'Aggiorna Modalità Privacy'; @override String get repeater_refreshAdvertisementSettings => @@ -2174,7 +2167,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpReboot => - 'Riavvia il dispositivo. (nota, potresti ottenere \'Timeout\' che è normale)'; + 'Riavvia il dispositivo. (nota, potresti ottenere \'Timeout\' che è normale)'; @override String get repeater_cliHelpClock => @@ -2206,7 +2199,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetAllowReadOnly => - '(Server della stanza) Se \'on\', allora l\'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).'; + '(Server della stanza) Se \'on\', allora l\'accesso con una password vuota sarà consentito, ma non sarà possibile pubblicare nella stanza. (solo lettura).'; @override String get repeater_cliHelpSetFloodMax => @@ -2214,7 +2207,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetIntThresh => - 'Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.'; + 'Imposta il Limite di Interferenza (in dB). Il valore predefinito è 14. Imposta su 0 per disabilitare il rilevamento delle interferenze del canale.'; @override String get repeater_cliHelpSetAgcResetInterval => @@ -2226,7 +2219,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetAdvertInterval => - 'Imposta l\'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.'; + 'Imposta l\'intervallo del timer in minuti per inviare un pacchetto di pubblicità locale (senza salto). Imposta su 0 per disabilitare.'; @override String get repeater_cliHelpSetFloodAdvertInterval => @@ -2257,11 +2250,11 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetTxDelay => - 'Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).'; + 'Imposta un fattore moltiplicato con il tempo di mantenimento per un pacchetto di modalità allagamento e con un sistema di slot casuale, per ritardarne la trasmissione (per diminuire la probabilità di collisioni).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.'; + 'Uguale a txdelay, ma per applicare un ritardo casuale alla inoltrata di pacchetti in modalità diretta.'; @override String get repeater_cliHelpSetBridgeEnabled => 'Abilita/Disabilita ponte.'; @@ -2272,11 +2265,11 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetBridgeSource => - 'Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.'; + 'Scegliere se il ponte dovrà ritrasmettere i pacchetti ricevuti o i pacchetti trasmessi.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Imposta la velocità di trasmissione per i ponti rs232.'; + 'Imposta la velocità di trasmissione per i ponti rs232.'; @override String get repeater_cliHelpSetBridgeSecret => @@ -2292,7 +2285,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpSetPerm => - 'Modifica l\'ACL. Rimuove l\'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell\'ACL. Aggiorna l\'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)'; + 'Modifica l\'ACL. Rimuove l\'entrata corrispondente (per prefisso di pubkey) se \"permissions\" è zero. Aggiunge una nuova entrata se il pubkey-hex ha lunghezza completa e non è attualmente nell\'ACL. Aggiorna l\'entrata per corrispondenza del prefisso di pubkey. I bit di permesso variano per ogni ruolo di firmware, ma i primi 2 bit sono: 0 (Guest), 1 (solo lettura), 2 (lettura/scrittura), 3 (Admin)'; @override String get repeater_cliHelpGetBridgeType => @@ -2312,7 +2305,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpNeighbors => - 'Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4'; + 'Mostra un elenco di altri nodi repeater ricevuti tramite annunci zero-hop. Ogni riga è id-prefisso-esadecimale:timestamp:snr-volte-4'; @override String get repeater_cliHelpNeighborRemove => @@ -2324,7 +2317,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpRegionLoad => - 'NOTA: questo è un\'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.'; + 'NOTA: questo è un\'invocazione multi-comando speciale. Ogni comando successivo è un nome di regione (indentato con spazi per indicare la gerarchia parentale, con almeno uno spazio). Terminata inviando una riga vuota/comando.'; @override String get repeater_cliHelpRegionGet => @@ -2344,7 +2337,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpRegionDenyf => - 'Rimuove il permesso \'F\'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).'; + 'Rimuove il permesso \'F\'lood per la regione specificata. (NOTA: a questo stadio non è consigliato utilizzarlo sullo scope globale/legacy!!).'; @override String get repeater_cliHelpRegionHome => @@ -2359,7 +2352,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_cliHelpGps => - 'Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.'; + 'Mostra lo stato del GPS. Quando il GPS è spento, risponde solo \"spento\", se è acceso risponde con \"acceso\", \"stato\", \"fix\" e numero di satelliti.'; @override String get repeater_cliHelpGpsOnOff => @@ -2416,7 +2409,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get repeater_gpsNote => - 'è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.'; + 'è stata introdotta una funzione gps per gestire le tematiche relative alla posizione.'; @override String get telemetry_receivedData => 'Dati Telemetria Ricevuti'; @@ -2469,7 +2462,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2537,7 +2530,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Percorso osservato $index • $hops'; + return 'Percorso osservato $index • $hops'; } @override @@ -2592,7 +2585,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override @@ -2603,14 +2596,14 @@ class AppLocalizationsIt extends AppLocalizations { String get channelPath_unknownRepeater => 'Ripetitore sconosciuto'; @override - String get community_title => 'Comunità'; + String get community_title => 'Comunità'; @override - String get community_create => 'Crea Comunità'; + String get community_create => 'Crea Comunità'; @override String get community_createDesc => - 'Crea una nuova comunità e condividila tramite codice QR.'; + 'Crea una nuova comunità e condividila tramite codice QR.'; @override String get community_join => 'Unisciti'; @@ -2628,35 +2621,35 @@ class AppLocalizationsIt extends AppLocalizations { @override String get community_scanInstructions => - 'Punta la fotocamera su un codice QR della comunità'; + 'Punta la fotocamera su un codice QR della comunità'; @override String get community_showQr => 'Mostra il codice QR'; @override - String get community_publicChannel => 'Comunità Pubblica'; + String get community_publicChannel => 'Comunità Pubblica'; @override - String get community_hashtagChannel => 'Hashtag della Comunità'; + String get community_hashtagChannel => 'Hashtag della Comunità'; @override - String get community_name => 'Nome della Comunità'; + String get community_name => 'Nome della Comunità'; @override - String get community_enterName => 'Inserisci il nome della comunità'; + String get community_enterName => 'Inserisci il nome della comunità'; @override String community_created(String name) { - return 'Comunità \"$name\" creata'; + return 'Comunità \"$name\" creata'; } @override String community_joined(String name) { - return 'Unito alla comunità \"$name\"'; + return 'Unito alla comunità \"$name\"'; } @override - String get community_qrTitle => 'Condividi Comunità'; + String get community_qrTitle => 'Condividi Comunità'; @override String community_qrInstructions(String name) { @@ -2671,16 +2664,16 @@ class AppLocalizationsIt extends AppLocalizations { String get community_invalidQrCode => 'Codice QR della community non valido'; @override - String get community_alreadyMember => 'Già membro'; + String get community_alreadyMember => 'Già membro'; @override String community_alreadyMemberMessage(String name) { - return 'Sei già un membro di \"$name\".'; + return 'Sei già un membro di \"$name\".'; } @override String get community_addPublicChannel => - 'Aggiungi Canale Pubblico della Comunità'; + 'Aggiungi Canale Pubblico della Comunità'; @override String get community_addPublicChannelHint => @@ -2694,10 +2687,10 @@ class AppLocalizationsIt extends AppLocalizations { 'Scansiona un codice QR o crea una community per iniziare.'; @override - String get community_manageCommunities => 'Gestisci Comunità'; + String get community_manageCommunities => 'Gestisci Comunità'; @override - String get community_delete => 'Lascia la Comunità'; + String get community_delete => 'Lascia la Comunità'; @override String community_deleteConfirm(String name) { @@ -2706,12 +2699,12 @@ class AppLocalizationsIt extends AppLocalizations { @override String community_deleteChannelsWarning(int count) { - return 'Questo eliminerà anche $count canale/i e i loro messaggi.'; + return 'Questo eliminerà anche $count canale/i e i loro messaggi.'; } @override String community_deleted(String name) { - return 'Hai lasciato la comunità \"$name\"'; + return 'Hai lasciato la comunità \"$name\"'; } @override @@ -2751,21 +2744,21 @@ class AppLocalizationsIt extends AppLocalizations { 'Aggiungi un canale con hashtag per questa community'; @override - String get community_selectCommunity => 'Seleziona Comunità'; + String get community_selectCommunity => 'Seleziona Comunità'; @override String get community_regularHashtag => 'Hashtag regolare'; @override String get community_regularHashtagDesc => - 'Hashtag pubblico (chiunque può unirsi)'; + 'Hashtag pubblico (chiunque può unirsi)'; @override - String get community_communityHashtag => 'Hashtag della Comunità'; + String get community_communityHashtag => 'Hashtag della Comunità'; @override String get community_communityHashtagDesc => - 'Visibile solo ai membri della comunità'; + 'Visibile solo ai membri della comunità'; @override String community_forCommunity(String name) { @@ -2832,7 +2825,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get pathTrace_someHopsNoLocation => - 'Uno o più dei luppoli mancano di una posizione!'; + 'Uno o più dei luppoli mancano di una posizione!'; @override String get pathTrace_clearTooltip => 'Pulisci percorso'; @@ -2854,7 +2847,7 @@ class AppLocalizationsIt extends AppLocalizations { 'Eseguire LOS per visualizzare il profilo altimetrico'; @override - String get losMenuTitle => 'Menù LOS'; + String get losMenuTitle => 'Menù LOS'; @override String get losMenuSubtitle => @@ -2926,7 +2919,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Dati di elevazione non disponibili per uno o più campioni.'; + 'Dati di elevazione non disponibili per uno o più campioni.'; @override String get losErrorInvalidInput => @@ -2964,7 +2957,7 @@ class AppLocalizationsIt extends AppLocalizations { String get losFrequencyInfoTooltip => 'Visualizza i dettagli del calcolo'; @override - String get losFrequencyDialogTitle => 'Calcolo dell’orizzonte radio'; + String get losFrequencyDialogTitle => 'Calcolo dell’orizzonte radio'; @override String losFrequencyDialogDescription( @@ -3004,13 +2997,13 @@ class AppLocalizationsIt extends AppLocalizations { } @override - String get contacts_clipboardEmpty => 'La clipboard è vuota.'; + String get contacts_clipboardEmpty => 'La clipboard è vuota.'; @override String get contacts_invalidAdvertFormat => 'Dati di contatto non validi'; @override - String get contacts_contactImported => 'Il contatto è stato importato.'; + String get contacts_contactImported => 'Il contatto è stato importato.'; @override String get contacts_contactImportFailed => @@ -3052,7 +3045,7 @@ class AppLocalizationsIt extends AppLocalizations { 'Copia dell\'annuncio nella Clipboard non riuscita.'; @override - String get notification_activityTitle => 'Attività MeshCore'; + String get notification_activityTitle => 'Attività MeshCore'; @override String notification_messagesCount(int count) { @@ -3130,7 +3123,7 @@ class AppLocalizationsIt extends AppLocalizations { @override String get settings_gpxExportError => - 'Si è verificato un errore durante l\'esportazione.'; + 'Si è verificato un errore durante l\'esportazione.'; @override String get settings_gpxExportRepeatersRoom => diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index b1c3452..21d2fd4 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -69,7 +69,7 @@ class AppLocalizationsNl extends AppLocalizations { String get common_share => 'Delen'; @override - String get common_copy => 'Kopiëren'; + String get common_copy => 'Kopiëren'; @override String get common_retry => 'Nogmaals proberen'; @@ -93,7 +93,7 @@ class AppLocalizationsNl extends AppLocalizations { String get common_loading => 'Laden...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsNl extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Kies uw verbindingsmethode'; - - @override - String get connectionChoiceSubtitle => - 'Kies hoe u uw MeshCore-apparaat wilt bereiken.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,7 +119,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get usbScreenSubtitle => - 'Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.'; + 'Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.'; @override String get usbScreenStatus => 'Selecteer een USB-apparaat'; @@ -238,7 +231,7 @@ class AppLocalizationsNl extends AppLocalizations { String get settings_location => 'Locatie'; @override - String get settings_locationSubtitle => 'GPS coördinaten'; + String get settings_locationSubtitle => 'GPS coördinaten'; @override String get settings_locationUpdated => 'Locatie bijgewerkt'; @@ -457,10 +450,10 @@ class AppLocalizationsNl extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -469,16 +462,16 @@ class AppLocalizationsNl extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -487,16 +480,16 @@ class AppLocalizationsNl extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russisch'; @override - String get appSettings_languageUk => 'Oekraïens'; + String get appSettings_languageUk => 'Oekraïens'; @override String get appSettings_enableMessageTracing => 'Berichttracking inschakelen'; @@ -854,7 +847,7 @@ class AppLocalizationsNl extends AppLocalizations { String get channels_public => 'Openbaar'; @override - String get channels_private => 'Privé'; + String get channels_private => 'Privé'; @override String get channels_publicChannel => 'Open kanaal'; @@ -954,14 +947,14 @@ class AppLocalizationsNl extends AppLocalizations { String get channels_sortUnread => 'Ongelezen'; @override - String get channels_createPrivateChannel => 'Maak een Privé Kanaal'; + String get channels_createPrivateChannel => 'Maak een Privé Kanaal'; @override String get channels_createPrivateChannelDesc => 'Beveiligd met een geheime sleutel.'; @override - String get channels_joinPrivateChannel => 'Sluit een Privé Kanaal aan'; + String get channels_joinPrivateChannel => 'Sluit een Privé Kanaal aan'; @override String get channels_joinPrivateChannelDesc => @@ -1343,7 +1336,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get map_nodesNeedGps => - 'Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen'; + 'Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen'; @override String map_nodesCount(int count) { @@ -1371,7 +1364,7 @@ class AppLocalizationsNl extends AppLocalizations { String get map_pinDm => 'Verzenden als bericht (DM)'; @override - String get map_pinPrivate => 'Beveiligd (Privé)'; + String get map_pinPrivate => 'Beveiligd (Privé)'; @override String get map_pinPublic => 'Openbaar spikken'; @@ -2038,7 +2031,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_eraseSerialOnly => - 'Verwijderen is alleen beschikbaar via de seriële console.'; + 'Verwijderen is alleen beschikbaar via de seriële console.'; @override String repeater_commandSent(String command) { @@ -2266,7 +2259,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_cliHelpSetBridgeBaud => - 'Stel de seriële link baudrate in voor rs232 bruggen.'; + 'Stel de seriële link baudrate in voor rs232 bruggen.'; @override String get repeater_cliHelpSetBridgeSecret => @@ -2282,7 +2275,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_cliHelpSetPerm => - 'Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)'; + 'Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)'; @override String get repeater_cliHelpGetBridgeType => @@ -2314,7 +2307,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_cliHelpRegionLoad => - 'LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.'; + 'LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.'; @override String get repeater_cliHelpRegionGet => @@ -2359,7 +2352,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_cliHelpGpsSetLoc => - 'Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.'; + 'Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.'; @override String get repeater_cliHelpGpsAdvert => @@ -2397,14 +2390,14 @@ class AppLocalizationsNl extends AppLocalizations { @override String get repeater_regionNote => - 'Regio-commando\'s zijn geïntroduceerd om regio-definities en permissies te beheren.'; + 'Regio-commando\'s zijn geïntroduceerd om regio-definities en permissies te beheren.'; @override String get repeater_gpsManagement => 'Beheer GPS'; @override String get repeater_gpsNote => - 'De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.'; + 'De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.'; @override String get telemetry_receivedData => 'Ontvangen Telemetriedata'; @@ -2457,7 +2450,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2526,7 +2519,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Waargenomen pad $index • $hops'; + return 'Waargenomen pad $index • $hops'; } @override @@ -2581,7 +2574,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override @@ -2998,11 +2991,11 @@ class AppLocalizationsNl extends AppLocalizations { String get contacts_invalidAdvertFormat => 'Ongeldige contactgegevens'; @override - String get contacts_contactImported => 'Contact is geïmporteerd.'; + String get contacts_contactImported => 'Contact is geïmporteerd.'; @override String get contacts_contactImportFailed => - 'Contact kon niet geïmporteerd worden.'; + 'Contact kon niet geïmporteerd worden.'; @override String get contacts_zeroHopAdvert => 'Zero Hop Reclame'; @@ -3011,14 +3004,14 @@ class AppLocalizationsNl extends AppLocalizations { String get contacts_floodAdvert => 'Overstromingsadvertentie'; @override - String get contacts_copyAdvertToClipboard => 'Advert naar klembord kopiëren'; + String get contacts_copyAdvertToClipboard => 'Advert naar klembord kopiëren'; @override String get contacts_addContactFromClipboard => 'Contact uit klembord toevoegen'; @override - String get contacts_ShareContact => 'Kontakt naar Klembord kopiëren'; + String get contacts_ShareContact => 'Kontakt naar Klembord kopiëren'; @override String get contacts_ShareContactZeroHop => 'Contact delen via advertentie'; @@ -3037,7 +3030,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get contacts_contactAdvertCopyFailed => - 'Kopiëren van advertentie naar Clipboard is mislukt.'; + 'Kopiëren van advertentie naar Clipboard is mislukt.'; @override String get notification_activityTitle => 'MeshCore Activiteit'; @@ -3106,7 +3099,8 @@ class AppLocalizationsNl extends AppLocalizations { 'Exporteert alle contacten met een locatie naar een GPX-bestand.'; @override - String get settings_gpxExportSuccess => 'Succesvol GPX-bestand geëxporteerd.'; + String get settings_gpxExportSuccess => + 'Succesvol GPX-bestand geëxporteerd.'; @override String get settings_gpxExportNoContacts => 'Geen contacten om te exporteren.'; @@ -3130,7 +3124,7 @@ class AppLocalizationsNl extends AppLocalizations { @override String get settings_gpxExportShareText => - 'Kaartgegevens geëxporteerd uit meshcore-open'; + 'Kaartgegevens geëxporteerd uit meshcore-open'; @override String get settings_gpxExportShareSubject => diff --git a/lib/l10n/app_localizations_pl.dart b/lib/l10n/app_localizations_pl.dart index 5b1712f..8f26f1c 100644 --- a/lib/l10n/app_localizations_pl.dart +++ b/lib/l10n/app_localizations_pl.dart @@ -15,7 +15,7 @@ class AppLocalizationsPl extends AppLocalizations { String get nav_contacts => 'Kontakty'; @override - String get nav_channels => 'Kanały'; + String get nav_channels => 'KanaÅ‚y'; @override String get nav_map => 'Mapa'; @@ -27,19 +27,19 @@ class AppLocalizationsPl extends AppLocalizations { String get common_ok => 'OK'; @override - String get common_connect => 'Połącz'; + String get common_connect => 'Połącz'; @override - String get common_unknownDevice => 'Nieznane urządzenie'; + String get common_unknownDevice => 'Nieznane urzÄ…dzenie'; @override String get common_save => 'Zapisz'; @override - String get common_delete => 'Usuń'; + String get common_delete => 'UsuÅ„'; @override - String get common_close => 'Zamknąć'; + String get common_close => 'Zamknąć'; @override String get common_edit => 'Edytuj'; @@ -51,49 +51,49 @@ class AppLocalizationsPl extends AppLocalizations { String get common_settings => 'Ustawienia'; @override - String get common_disconnect => 'Odłącz'; + String get common_disconnect => 'Odłącz'; @override - String get common_connected => 'Połączono'; + String get common_connected => 'Połączono'; @override - String get common_disconnected => 'Odłączony'; + String get common_disconnected => 'Odłączony'; @override - String get common_create => 'Utwórz'; + String get common_create => 'Utwórz'; @override String get common_continue => 'Kontynuuj'; @override - String get common_share => 'Udostępnij'; + String get common_share => 'UdostÄ™pnij'; @override String get common_copy => 'Kopiuj'; @override - String get common_retry => 'Spróbować'; + String get common_retry => 'Spróbować'; @override String get common_hide => 'Ukryj'; @override - String get common_remove => 'Usuń'; + String get common_remove => 'UsuÅ„'; @override - String get common_enable => 'Włącz'; + String get common_enable => 'Włącz'; @override - String get common_disable => 'Wyłączyć'; + String get common_disable => 'Wyłączyć'; @override - String get common_reboot => 'Zrestartować'; + String get common_reboot => 'Zrestartować'; @override - String get common_loading => 'Ładowanie...'; + String get common_loading => 'Ładowanie...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsPl extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Wybierz metodę połączenia.'; - - @override - String get connectionChoiceSubtitle => - 'Wybierz, w jaki sposób chcesz uzyskać dostęp do swojego urządzenia MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -122,50 +115,50 @@ class AppLocalizationsPl extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Połącz przez USB'; + String get usbScreenTitle => 'Połącz przez USB'; @override String get usbScreenSubtitle => - 'Wybierz wykryty urządzenie szeregowe i podłącz je bezpośrednio do swojego węzła MeshCore.'; + 'Wybierz wykryty urzÄ…dzenie szeregowe i podłącz je bezpoÅ›rednio do swojego wÄ™zÅ‚a MeshCore.'; @override - String get usbScreenStatus => 'Wybierz urządzenie USB'; + String get usbScreenStatus => 'Wybierz urzÄ…dzenie USB'; @override String get usbScreenNote => - 'Port szeregowy USB jest aktywny na urządzeniach z Androidem i platformach stacjonarnych, które obsługują tę funkcję.'; + 'Port szeregowy USB jest aktywny na urzÄ…dzeniach z Androidem i platformach stacjonarnych, które obsÅ‚ugujÄ… tÄ™ funkcjÄ™.'; @override String get usbScreenEmptyState => - 'Nie znaleziono żadnych urządzeń USB. Podłącz jedno i zaktualizuj.'; + 'Nie znaleziono żadnych urzÄ…dzeÅ„ USB. Podłącz jedno i zaktualizuj.'; @override - String get scanner_scanning => 'Skanowanie urządzeń...'; + String get scanner_scanning => 'Skanowanie urzÄ…dzeÅ„...'; @override - String get scanner_connecting => 'Łączenie...'; + String get scanner_connecting => 'Łączenie...'; @override - String get scanner_disconnecting => 'Odłączanie...'; + String get scanner_disconnecting => 'Odłączanie...'; @override - String get scanner_notConnected => 'Niepołączony'; + String get scanner_notConnected => 'Niepołączony'; @override String scanner_connectedTo(String deviceName) { - return 'Połączono z $deviceName'; + return 'Połączono z $deviceName'; } @override - String get scanner_searchingDevices => 'Wyszukiwanie urządzeń MeshCore...'; + String get scanner_searchingDevices => 'Wyszukiwanie urzÄ…dzeÅ„ MeshCore...'; @override String get scanner_tapToScan => - 'Naciśnij Skan, aby znaleźć urządzenia MeshCore'; + 'NaciÅ›nij Skan, aby znaleźć urzÄ…dzenia MeshCore'; @override String scanner_connectionFailed(String error) { - return 'Połączenie nieudane: $error'; + return 'Połączenie nieudane: $error'; } @override @@ -175,21 +168,21 @@ class AppLocalizationsPl extends AppLocalizations { String get scanner_scan => 'Przeskanuj'; @override - String get scanner_bluetoothOff => 'Bluetooth jest wyłączony'; + String get scanner_bluetoothOff => 'Bluetooth jest wyłączony'; @override String get scanner_bluetoothOffMessage => - 'Prosimy włączyć Bluetooth, aby przeskanować urządzenia.'; + 'Prosimy włączyć Bluetooth, aby przeskanować urzÄ…dzenia.'; @override - String get scanner_chromeRequired => 'Wymagana przeglądarka Chrome'; + String get scanner_chromeRequired => 'Wymagana przeglÄ…darka Chrome'; @override String get scanner_chromeRequiredMessage => - 'Ta aplikacja internetowa wymaga przeglądarki Google Chrome lub opartej na Chromium do obsługi Bluetooth.'; + 'Ta aplikacja internetowa wymaga przeglÄ…darki Google Chrome lub opartej na Chromium do obsÅ‚ugi Bluetooth.'; @override - String get scanner_enableBluetooth => 'Włącz Bluetooth'; + String get scanner_enableBluetooth => 'Włącz Bluetooth'; @override String get device_quickSwitch => 'Szybka zmiana'; @@ -201,40 +194,40 @@ class AppLocalizationsPl extends AppLocalizations { String get settings_title => 'Ustawienia'; @override - String get settings_deviceInfo => 'Informacje o urządzeniu'; + String get settings_deviceInfo => 'Informacje o urzÄ…dzeniu'; @override String get settings_appSettings => 'Ustawienia aplikacji'; @override String get settings_appSettingsSubtitle => - 'Powiadomienia, wiadomości i preferencje mapy'; + 'Powiadomienia, wiadomoÅ›ci i preferencje mapy'; @override - String get settings_nodeSettings => 'Ustawienia węzła'; + String get settings_nodeSettings => 'Ustawienia wÄ™zÅ‚a'; @override - String get settings_nodeName => 'Nazwa węzła'; + String get settings_nodeName => 'Nazwa wÄ™zÅ‚a'; @override String get settings_nodeNameNotSet => 'Nie ustawione'; @override - String get settings_nodeNameHint => 'Wprowadź nazwę węzła'; + String get settings_nodeNameHint => 'Wprowadź nazwÄ™ wÄ™zÅ‚a'; @override - String get settings_nodeNameUpdated => 'Imię zaktualizowane'; + String get settings_nodeNameUpdated => 'ImiÄ™ zaktualizowane'; @override String get settings_radioSettings => 'Ustawienia radia'; @override String get settings_radioSettingsSubtitle => - 'Częstotliwość, moc, współczynnik rozpraszania'; + 'CzÄ™stotliwość, moc, współczynnik rozpraszania'; @override String get settings_radioSettingsUpdated => - 'Ustawienia radia zostały zaktualizowane'; + 'Ustawienia radia zostaÅ‚y zaktualizowane'; @override String get settings_location => 'Lokalizacja'; @@ -247,94 +240,94 @@ class AppLocalizationsPl extends AppLocalizations { @override String get settings_locationBothRequired => - 'Wprowadź zarówno szerokość, jak i długość geograficzną.'; + 'Wprowadź zarówno szerokość, jak i dÅ‚ugość geograficznÄ….'; @override String get settings_locationInvalid => - 'Nieprawidłowa szerokość geograficzna lub długość geograficzna.'; + 'NieprawidÅ‚owa szerokość geograficzna lub dÅ‚ugość geograficzna.'; @override - String get settings_locationGPSEnable => 'Włącz GPS'; + String get settings_locationGPSEnable => 'Włącz GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Włącza automatyczne aktualizowanie pozycji za pomocą GPS.'; + 'Włącza automatyczne aktualizowanie pozycji za pomocÄ… GPS.'; @override - String get settings_locationIntervalSec => 'Interwał dla GPS (Sekundy)'; + String get settings_locationIntervalSec => 'InterwaÅ‚ dla GPS (Sekundy)'; @override String get settings_locationIntervalInvalid => - 'Interwał musi wynosić co najmniej 60 sekund i mniej niż 86400 sekund.'; + 'InterwaÅ‚ musi wynosić co najmniej 60 sekund i mniej niż 86400 sekund.'; @override - String get settings_latitude => 'Szerokość'; + String get settings_latitude => 'Szerokość'; @override - String get settings_longitude => 'Długość'; + String get settings_longitude => 'DÅ‚ugość'; @override String get settings_privacyMode => 'Tryb Prywatny'; @override String get settings_privacyModeSubtitle => - 'Ukryj imię/lokalizację w reklamach'; + 'Ukryj imiÄ™/lokalizacjÄ™ w reklamach'; @override String get settings_privacyModeToggle => - 'Włącz tryb prywatności, aby ukryć swoje imię i lokalizację w reklamach.'; + 'Włącz tryb prywatnoÅ›ci, aby ukryć swoje imiÄ™ i lokalizacjÄ™ w reklamach.'; @override - String get settings_privacyModeEnabled => 'Tryb prywatności włączony'; + String get settings_privacyModeEnabled => 'Tryb prywatnoÅ›ci włączony'; @override - String get settings_privacyModeDisabled => 'Tryb prywatności wyłączony'; + String get settings_privacyModeDisabled => 'Tryb prywatnoÅ›ci wyłączony'; @override - String get settings_actions => 'Działania'; + String get settings_actions => 'DziaÅ‚ania'; @override - String get settings_sendAdvertisement => 'Wyślij Reklamę'; + String get settings_sendAdvertisement => 'WyÅ›lij ReklamÄ™'; @override String get settings_sendAdvertisementSubtitle => - 'Obecność transmisji jest teraz'; + 'Obecność transmisji jest teraz'; @override - String get settings_advertisementSent => 'Reklama wysłana'; + String get settings_advertisementSent => 'Reklama wysÅ‚ana'; @override String get settings_syncTime => 'Czas synchronizacji'; @override String get settings_syncTimeSubtitle => - 'Ustaw zegar urządzenia na czas telefonu.'; + 'Ustaw zegar urzÄ…dzenia na czas telefonu.'; @override String get settings_timeSynchronized => 'Synchronizacja czasu'; @override - String get settings_refreshContacts => 'Odśwież Kontakty'; + String get settings_refreshContacts => 'OdÅ›wież Kontakty'; @override String get settings_refreshContactsSubtitle => - 'Odśwież listę kontaktów z urządzenia'; + 'OdÅ›wież listÄ™ kontaktów z urzÄ…dzenia'; @override - String get settings_rebootDevice => 'Zrestartuj Urządzenie'; + String get settings_rebootDevice => 'Zrestartuj UrzÄ…dzenie'; @override - String get settings_rebootDeviceSubtitle => 'Zrestartuj urządzenie MeshCore'; + String get settings_rebootDeviceSubtitle => 'Zrestartuj urzÄ…dzenie MeshCore'; @override String get settings_rebootDeviceConfirm => - 'Czy na pewno chcesz zrestartować urządzenie? Będziesz odłączony.'; + 'Czy na pewno chcesz zrestartować urzÄ…dzenie? BÄ™dziesz odłączony.'; @override String get settings_debug => 'Debug'; @override - String get settings_bleDebugLog => 'Log błędów BLE'; + String get settings_bleDebugLog => 'Log błędów BLE'; @override String get settings_bleDebugLogSubtitle => @@ -359,14 +352,14 @@ class AppLocalizationsPl extends AppLocalizations { @override String get settings_aboutDescription => - 'Otwarty kod źródłowy klient Flutter dla urządzeń do sieci mesh LoRa MeshCore.'; + 'Otwarty kod źródÅ‚owy klient Flutter dla urzÄ…dzeÅ„ do sieci mesh LoRa MeshCore.'; @override String get settings_aboutOpenMeteoAttribution => - 'Dane wysokościowe LOS: Open-Meteo (CC BY 4.0)'; + 'Dane wysokoÅ›ciowe LOS: Open-Meteo (CC BY 4.0)'; @override - String get settings_infoName => 'Imię'; + String get settings_infoName => 'ImiÄ™'; @override String get settings_infoId => 'ID'; @@ -381,29 +374,29 @@ class AppLocalizationsPl extends AppLocalizations { String get settings_infoPublicKey => 'Klucz Publiczny'; @override - String get settings_infoContactsCount => 'Liczba kontaktów'; + String get settings_infoContactsCount => 'Liczba kontaktów'; @override - String get settings_infoChannelCount => 'Liczba kanałów'; + String get settings_infoChannelCount => 'Liczba kanałów'; @override String get settings_presets => 'Preset'; @override - String get settings_frequency => 'Częstotliwość (MHz)'; + String get settings_frequency => 'CzÄ™stotliwość (MHz)'; @override String get settings_frequencyHelper => '300,0 - 2500,0'; @override String get settings_frequencyInvalid => - 'Nieprawidłowa częstotliwość (300-2500 MHz)'; + 'NieprawidÅ‚owa czÄ™stotliwość (300-2500 MHz)'; @override - String get settings_bandwidth => 'Przepustowość'; + String get settings_bandwidth => 'Przepustowość'; @override - String get settings_spreadingFactor => 'Rozkład Czynnika'; + String get settings_spreadingFactor => 'RozkÅ‚ad Czynnika'; @override String get settings_codingRate => 'Stawka Kodowania'; @@ -415,35 +408,35 @@ class AppLocalizationsPl extends AppLocalizations { String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Nieprawidłowa moc TX (0-22 dBm)'; + String get settings_txPowerInvalid => 'NieprawidÅ‚owa moc TX (0-22 dBm)'; @override - String get settings_clientRepeat => 'Powtórzenie: Niezależne od sieci'; + String get settings_clientRepeat => 'Powtórzenie: Niezależne od sieci'; @override String get settings_clientRepeatSubtitle => - 'Pozwól temu urządzeniu powtarzać pakiety danych dla innych urządzeń.'; + 'Pozwól temu urzÄ…dzeniu powtarzać pakiety danych dla innych urzÄ…dzeÅ„.'; @override String get settings_clientRepeatFreqWarning => - 'Powtórka poza siecią wymaga częstotliwości 433, 869 lub 918 MHz.'; + 'Powtórka poza sieciÄ… wymaga czÄ™stotliwoÅ›ci 433, 869 lub 918 MHz.'; @override String settings_error(String message) { - return 'Błąd: $message'; + return 'Błąd: $message'; } @override String get appSettings_title => 'Ustawienia aplikacji'; @override - String get appSettings_appearance => 'Wygląd'; + String get appSettings_appearance => 'WyglÄ…d'; @override String get appSettings_theme => 'Motyw'; @override - String get appSettings_themeSystem => 'Domyślne ustawienia systemu'; + String get appSettings_themeSystem => 'DomyÅ›lne ustawienia systemu'; @override String get appSettings_themeLight => 'Jasne'; @@ -452,19 +445,19 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_themeDark => 'Ciemny'; @override - String get appSettings_language => 'Język'; + String get appSettings_language => 'JÄ™zyk'; @override - String get appSettings_languageSystem => 'Domyślny systemowy'; + String get appSettings_languageSystem => 'DomyÅ›lny systemowy'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -473,16 +466,16 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -491,59 +484,60 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Rosyjski'; @override - String get appSettings_languageUk => 'Ukraińska'; + String get appSettings_languageUk => 'UkraiÅ„ska'; @override - String get appSettings_enableMessageTracing => 'Włącz śledzenie wiadomości'; + String get appSettings_enableMessageTracing => + 'Włącz Å›ledzenie wiadomoÅ›ci'; @override String get appSettings_enableMessageTracingSubtitle => - 'Pokaż szczegółowe metadane trasowania i czasu dla wiadomości'; + 'Pokaż szczegółowe metadane trasowania i czasu dla wiadomoÅ›ci'; @override String get appSettings_notifications => 'Powiadomienia'; @override - String get appSettings_enableNotifications => 'Włącz Powiadomienia'; + String get appSettings_enableNotifications => 'Włącz Powiadomienia'; @override String get appSettings_enableNotificationsSubtitle => - 'Otrzymuj powiadomienia o wiadomościach i reklamach.'; + 'Otrzymuj powiadomienia o wiadomoÅ›ciach i reklamach.'; @override String get appSettings_notificationPermissionDenied => 'Odmowa zezwolenia na powiadomienia'; @override - String get appSettings_notificationsEnabled => 'Powiadomienia włączone'; + String get appSettings_notificationsEnabled => 'Powiadomienia włączone'; @override - String get appSettings_notificationsDisabled => 'Powiadomienia wyłączone'; + String get appSettings_notificationsDisabled => 'Powiadomienia wyłączone'; @override String get appSettings_messageNotifications => - 'Powiadomienia o wiadomościach'; + 'Powiadomienia o wiadomoÅ›ciach'; @override String get appSettings_messageNotificationsSubtitle => - 'Pokaż powiadomienie przy otrzymywaniu nowych wiadomości'; + 'Pokaż powiadomienie przy otrzymywaniu nowych wiadomoÅ›ci'; @override String get appSettings_channelMessageNotifications => - 'Powiadomienia o Wiadomościach na Kanałach'; + 'Powiadomienia o WiadomoÅ›ciach na KanaÅ‚ach'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Pokaż powiadomienie przy odbieraniu wiadomości z kanału'; + 'Pokaż powiadomienie przy odbieraniu wiadomoÅ›ci z kanaÅ‚u'; @override String get appSettings_advertisementNotifications => @@ -551,22 +545,22 @@ class AppLocalizationsPl extends AppLocalizations { @override String get appSettings_advertisementNotificationsSubtitle => - 'Wyświetl powiadomienie, gdy zostaną odkryte nowe węzły.'; + 'WyÅ›wietl powiadomienie, gdy zostanÄ… odkryte nowe wÄ™zÅ‚y.'; @override - String get appSettings_messaging => 'Wiadomości'; + String get appSettings_messaging => 'WiadomoÅ›ci'; @override String get appSettings_clearPathOnMaxRetry => - 'Wyczyść Ścieżkę na Maksymalnej Próbie'; + 'Wyczyść ÅšcieżkÄ™ na Maksymalnej Próbie'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Resetuj ścieżkę kontaktu po 5 nieudanych próbach wysłania'; + 'Resetuj Å›cieżkÄ™ kontaktu po 5 nieudanych próbach wysÅ‚ania'; @override String get appSettings_pathsWillBeCleared => - 'Droga będzie wyczyszczona po 5 nieudanych próbach.'; + 'Droga bÄ™dzie wyczyszczona po 5 nieudanych próbach.'; @override String get appSettings_pathsWillNotBeCleared => @@ -577,15 +571,15 @@ class AppLocalizationsPl extends AppLocalizations { @override String get appSettings_autoRouteRotationSubtitle => - 'Przełączaj się między najlepszymi ścieżkami a trybem zalewowym.'; + 'Przełączaj siÄ™ miÄ™dzy najlepszymi Å›cieżkami a trybem zalewowym.'; @override String get appSettings_autoRouteRotationEnabled => - 'Automatyczne obracanie tras włączone'; + 'Automatyczne obracanie tras włączone'; @override String get appSettings_autoRouteRotationDisabled => - 'Automatyczne obracanie tras wyłączone'; + 'Automatyczne obracanie tras wyłączone'; @override String get appSettings_battery => 'Bateria'; @@ -595,12 +589,12 @@ class AppLocalizationsPl extends AppLocalizations { @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Ustawione na urządzenie ($deviceName)'; + return 'Ustawione na urzÄ…dzenie ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Połącz się z urządzeniem, aby wybrać'; + 'Połącz siÄ™ z urzÄ…dzeniem, aby wybrać'; @override String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)'; @@ -612,45 +606,46 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)'; @override - String get appSettings_mapDisplay => 'Wyświetlanie mapy'; + String get appSettings_mapDisplay => 'WyÅ›wietlanie mapy'; @override - String get appSettings_showRepeaters => 'Pokaż Powtórniki'; + String get appSettings_showRepeaters => 'Pokaż Powtórniki'; @override String get appSettings_showRepeatersSubtitle => - 'Wyświetl węzły powtarzające się na mapie'; + 'WyÅ›wietl wÄ™zÅ‚y powtarzajÄ…ce siÄ™ na mapie'; @override - String get appSettings_showChatNodes => 'Pokaż Węzły Rozmowy'; + String get appSettings_showChatNodes => 'Pokaż WÄ™zÅ‚y Rozmowy'; @override String get appSettings_showChatNodesSubtitle => - 'Wyświetl węzły czatu na mapie'; + 'WyÅ›wietl wÄ™zÅ‚y czatu na mapie'; @override - String get appSettings_showOtherNodes => 'Pokaż inne węzły'; + String get appSettings_showOtherNodes => 'Pokaż inne wÄ™zÅ‚y'; @override String get appSettings_showOtherNodesSubtitle => - 'Wyświetl inne typy węzłów na mapie'; + 'WyÅ›wietl inne typy wÄ™złów na mapie'; @override String get appSettings_timeFilter => 'Filtrowanie Czasu'; @override - String get appSettings_timeFilterShowAll => 'Pokaż wszystkie węzły'; + String get appSettings_timeFilterShowAll => 'Pokaż wszystkie wÄ™zÅ‚y'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Pokaż węzły z ostatnich $hours godzin'; + return 'Pokaż wÄ™zÅ‚y z ostatnich $hours godzin'; } @override String get appSettings_mapTimeFilter => 'Filtrowanie Czasu Mapy'; @override - String get appSettings_showNodesDiscoveredWithin => 'Pokaż węzły odkryte w:'; + String get appSettings_showNodesDiscoveredWithin => + 'Pokaż wÄ™zÅ‚y odkryte w:'; @override String get appSettings_allTime => 'Wszystko czasowo'; @@ -665,7 +660,7 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_last24Hours => 'Ostatnie 24 godziny'; @override - String get appSettings_lastWeek => 'Tydzień temu'; + String get appSettings_lastWeek => 'TydzieÅ„ temu'; @override String get appSettings_offlineMapCache => 'Bufor Map Offline'; @@ -680,7 +675,8 @@ class AppLocalizationsPl extends AppLocalizations { String get appSettings_unitsImperial => 'Imperialne (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Nie zaznaczono żadnej powierzchni.'; + String get appSettings_noAreaSelected => + 'Nie zaznaczono żadnej powierzchni.'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { @@ -695,25 +691,25 @@ class AppLocalizationsPl extends AppLocalizations { @override String get appSettings_appDebugLoggingSubtitle => - 'Loguj wiadomości debugowania aplikacji w celu rozwiązywania problemów.'; + 'Loguj wiadomoÅ›ci debugowania aplikacji w celu rozwiÄ…zywania problemów.'; @override String get appSettings_appDebugLoggingEnabled => - 'Zdebugowanie aplikacji włączone'; + 'Zdebugowanie aplikacji włączone'; @override String get appSettings_appDebugLoggingDisabled => - 'Zasubskrybowane logi debugowania aplikacji wyłączone.'; + 'Zasubskrybowane logi debugowania aplikacji wyłączone.'; @override String get contacts_title => 'Kontakty'; @override - String get contacts_noContacts => 'Brak jeszcze kontaktów.'; + String get contacts_noContacts => 'Brak jeszcze kontaktów.'; @override String get contacts_contactsWillAppear => - 'Kontakty będą wyświetlane, gdy urządzenia reklamują się.'; + 'Kontakty bÄ™dÄ… wyÅ›wietlane, gdy urzÄ…dzenia reklamujÄ… siÄ™.'; @override String get contacts_unread => 'Nieprzeczytane'; @@ -733,55 +729,55 @@ class AppLocalizationsPl extends AppLocalizations { @override String contacts_searchUsers(int number, String str) { - return 'Wyszukaj $number$str Użytkowników...'; + return 'Wyszukaj $number$str Użytkowników...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Wyszukaj $number$str powtórników...'; + return 'Wyszukaj $number$str powtórników...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Wyszukaj $number$str serwerów Room...'; + return 'Wyszukaj $number$str serwerów Room...'; } @override - String get contacts_noUnreadContacts => 'Brak nieprzeczytanych kontaktów'; + String get contacts_noUnreadContacts => 'Brak nieprzeczytanych kontaktów'; @override String get contacts_noContactsFound => - 'Brak znalezionych kontaktów ani grup.'; + 'Brak znalezionych kontaktów ani grup.'; @override - String get contacts_deleteContact => 'Usuń Kontakt'; + String get contacts_deleteContact => 'UsuÅ„ Kontakt'; @override String contacts_removeConfirm(String contactName) { - return 'Usuń $contactName z kontaktów?'; + return 'UsuÅ„ $contactName z kontaktów?'; } @override - String get contacts_manageRepeater => 'Zarządzaj Powtórzami'; + String get contacts_manageRepeater => 'ZarzÄ…dzaj Powtórzami'; @override - String get contacts_manageRoom => 'Zarządzaj Serwerem Pokoju'; + String get contacts_manageRoom => 'ZarzÄ…dzaj Serwerem Pokoju'; @override String get contacts_roomLogin => 'Logowanie do pokoju'; @override - String get contacts_openChat => 'Otwórz czat'; + String get contacts_openChat => 'Otwórz czat'; @override - String get contacts_editGroup => 'Edytuj Grupę'; + String get contacts_editGroup => 'Edytuj GrupÄ™'; @override - String get contacts_deleteGroup => 'Usuń Grupę'; + String get contacts_deleteGroup => 'UsuÅ„ GrupÄ™'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Usuń \"$groupName\"?'; + return 'UsuÅ„ \"$groupName\"?'; } @override @@ -795,7 +791,7 @@ class AppLocalizationsPl extends AppLocalizations { @override String contacts_groupAlreadyExists(String name) { - return 'Grupa \"$name\" już istnieje'; + return 'Grupa \"$name\" już istnieje'; } @override @@ -803,57 +799,57 @@ class AppLocalizationsPl extends AppLocalizations { @override String get contacts_noContactsMatchFilter => - 'Brak pasujących kontaktów do Twojego filtra'; + 'Brak pasujÄ…cych kontaktów do Twojego filtra'; @override - String get contacts_noMembers => 'Brak członków'; + String get contacts_noMembers => 'Brak czÅ‚onków'; @override - String get contacts_lastSeenNow => 'Ostatnie połączenie'; + String get contacts_lastSeenNow => 'Ostatnie połączenie'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Ostatnie połączenie $minutes min temu'; + return 'Ostatnie połączenie $minutes min temu'; } @override - String get contacts_lastSeenHourAgo => 'Ostatni raz widziany 1 godzinę temu'; + String get contacts_lastSeenHourAgo => 'Ostatni raz widziany 1 godzinÄ™ temu'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Ostatnie połączenie $hours godzin temu'; + return 'Ostatnie połączenie $hours godzin temu'; } @override - String get contacts_lastSeenDayAgo => 'Ostatni raz widziany 1 dzień temu'; + String get contacts_lastSeenDayAgo => 'Ostatni raz widziany 1 dzieÅ„ temu'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Ostatnie połączenie $days dni temu'; + return 'Ostatnie połączenie $days dni temu'; } @override - String get channels_title => 'Kanały'; + String get channels_title => 'KanaÅ‚y'; @override - String get channels_noChannelsConfigured => 'Brak skonfigurowanych kanałów'; + String get channels_noChannelsConfigured => 'Brak skonfigurowanych kanałów'; @override - String get channels_addPublicChannel => 'Dodaj kanał publiczny'; + String get channels_addPublicChannel => 'Dodaj kanaÅ‚ publiczny'; @override - String get channels_searchChannels => 'Wyszukaj kanały...'; + String get channels_searchChannels => 'Wyszukaj kanaÅ‚y...'; @override - String get channels_noChannelsFound => 'Brak znalezionych kanałów'; + String get channels_noChannelsFound => 'Brak znalezionych kanałów'; @override String channels_channelIndex(int index) { - return 'Kanał $index'; + return 'KanaÅ‚ $index'; } @override - String get channels_hashtagChannel => 'Kanał z hashtagami'; + String get channels_hashtagChannel => 'KanaÅ‚ z hashtagami'; @override String get channels_public => 'Publiczny'; @@ -862,49 +858,49 @@ class AppLocalizationsPl extends AppLocalizations { String get channels_private => 'Prywatne'; @override - String get channels_publicChannel => 'Kanał publiczny'; + String get channels_publicChannel => 'KanaÅ‚ publiczny'; @override - String get channels_privateChannel => 'Prywatny kanał'; + String get channels_privateChannel => 'Prywatny kanaÅ‚'; @override - String get channels_editChannel => 'Edytuj kanał'; + String get channels_editChannel => 'Edytuj kanaÅ‚'; @override - String get channels_muteChannel => 'Wycisz kanał'; + String get channels_muteChannel => 'Wycisz kanaÅ‚'; @override - String get channels_unmuteChannel => 'Wyłącz wyciszenie kanału'; + String get channels_unmuteChannel => 'Wyłącz wyciszenie kanaÅ‚u'; @override - String get channels_deleteChannel => 'Usuń kanał'; + String get channels_deleteChannel => 'UsuÅ„ kanaÅ‚'; @override String channels_deleteChannelConfirm(String name) { - return 'Usuń \"$name\"? Nie można tego cofnąć.'; + return 'UsuÅ„ \"$name\"? Nie można tego cofnąć.'; } @override String channels_channelDeleteFailed(String name) { - return 'Nie udało się usunąć kanału \"$name\"'; + return 'Nie udaÅ‚o siÄ™ usunąć kanaÅ‚u \"$name\"'; } @override String channels_channelDeleted(String name) { - return 'Kanał \"$name\" usunięto'; + return 'KanaÅ‚ \"$name\" usuniÄ™to'; } @override - String get channels_addChannel => 'Dodaj Kanał'; + String get channels_addChannel => 'Dodaj KanaÅ‚'; @override - String get channels_channelIndexLabel => 'Indeks kanału'; + String get channels_channelIndexLabel => 'Indeks kanaÅ‚u'; @override - String get channels_channelName => 'Nazwa kanału'; + String get channels_channelName => 'Nazwa kanaÅ‚u'; @override - String get channels_usePublicChannel => 'Użyj kanału publicznego'; + String get channels_usePublicChannel => 'Użyj kanaÅ‚u publicznego'; @override String get channels_standardPublicPsk => 'Standard public PSK'; @@ -916,19 +912,19 @@ class AppLocalizationsPl extends AppLocalizations { String get channels_generateRandomPsk => 'Wygeneruj losowy klucz PSK'; @override - String get channels_enterChannelName => 'Proszę podać nazwę kanału.'; + String get channels_enterChannelName => 'ProszÄ™ podać nazwÄ™ kanaÅ‚u.'; @override - String get channels_pskMustBe32Hex => 'PSK musi mieć 32 znaki szesnastkowe.'; + String get channels_pskMustBe32Hex => 'PSK musi mieć 32 znaki szesnastkowe.'; @override String channels_channelAdded(String name) { - return 'Kanał \"$name\" dodany'; + return 'KanaÅ‚ \"$name\" dodany'; } @override String channels_editChannelTitle(int index) { - return 'Edytuj Kanał $index'; + return 'Edytuj KanaÅ‚ $index'; } @override @@ -936,76 +932,77 @@ class AppLocalizationsPl extends AppLocalizations { @override String channels_channelUpdated(String name) { - return 'Kanał \"$name\" został zaktualizowany'; + return 'KanaÅ‚ \"$name\" zostaÅ‚ zaktualizowany'; } @override - String get channels_publicChannelAdded => 'Kanał publiczny dodany'; + String get channels_publicChannelAdded => 'KanaÅ‚ publiczny dodany'; @override String get channels_sortBy => 'Sortuj po'; @override - String get channels_sortManual => 'Ręczna'; + String get channels_sortManual => 'RÄ™czna'; @override String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Najnowsze wiadomości'; + String get channels_sortLatestMessages => 'Najnowsze wiadomoÅ›ci'; @override - String get channels_sortUnread => 'Niezgłoszone'; + String get channels_sortUnread => 'NiezgÅ‚oszone'; @override - String get channels_createPrivateChannel => 'Utwórz Prywatny Kanał'; + String get channels_createPrivateChannel => 'Utwórz Prywatny KanaÅ‚'; @override String get channels_createPrivateChannelDesc => 'Zabezpieczone kluczem szyfrowym.'; @override - String get channels_joinPrivateChannel => 'Dołącz do Prywatnego Kanału'; + String get channels_joinPrivateChannel => 'Dołącz do Prywatnego KanaÅ‚u'; @override - String get channels_joinPrivateChannelDesc => 'Ręcznie wprowadź klucz tajny.'; + String get channels_joinPrivateChannelDesc => + 'RÄ™cznie wprowadź klucz tajny.'; @override - String get channels_joinPublicChannel => 'Dołącz do kanału publicznego.'; + String get channels_joinPublicChannel => 'Dołącz do kanaÅ‚u publicznego.'; @override String get channels_joinPublicChannelDesc => - 'Każdy może dołączyć do tego kanału.'; + 'Każdy może dołączyć do tego kanaÅ‚u.'; @override String get channels_joinHashtagChannel => - 'Dołącz do kanału oznaczanego hashtagiem'; + 'Dołącz do kanaÅ‚u oznaczanego hashtagiem'; @override String get channels_joinHashtagChannelDesc => - 'Każdy może dołączyć do kanałów z hashtagami.'; + 'Każdy może dołączyć do kanałów z hashtagami.'; @override String get channels_scanQrCode => 'Skanuj kod QR'; @override - String get channels_scanQrCodeComingSoon => 'Wkrótce'; + String get channels_scanQrCodeComingSoon => 'Wkrótce'; @override - String get channels_enterHashtag => 'Wprowadź hashtag'; + String get channels_enterHashtag => 'Wprowadź hashtag'; @override - String get channels_hashtagHint => 'np. #zespół'; + String get channels_hashtagHint => 'np. #zespół'; @override - String get chat_noMessages => 'Brak jeszcze wiadomości'; + String get chat_noMessages => 'Brak jeszcze wiadomoÅ›ci'; @override - String get chat_sendMessageToStart => 'Wyślij wiadomość, aby rozpocząć.'; + String get chat_sendMessageToStart => 'WyÅ›lij wiadomość, aby rozpocząć.'; @override String get chat_originalMessageNotFound => - 'Błąd: Nie znaleziono oryginalnego komunikatu'; + 'Błąd: Nie znaleziono oryginalnego komunikatu'; @override String chat_replyingTo(String name) { @@ -1022,39 +1019,39 @@ class AppLocalizationsPl extends AppLocalizations { @override String chat_sendMessageTo(String contactName) { - return 'Wyślij wiadomość do $contactName'; + return 'WyÅ›lij wiadomość do $contactName'; } @override - String get chat_typeMessage => 'Wpisz wiadomość...'; + String get chat_typeMessage => 'Wpisz wiadomość...'; @override String chat_messageTooLong(int maxBytes) { - return 'Wiadomość jest za długa (maksymalnie $maxBytes bajtów).'; + return 'Wiadomość jest za dÅ‚uga (maksymalnie $maxBytes bajtów).'; } @override - String get chat_messageCopied => 'Wiadomość skopiowana'; + String get chat_messageCopied => 'Wiadomość skopiowana'; @override - String get chat_messageDeleted => 'Wiadomość usunięta'; + String get chat_messageDeleted => 'Wiadomość usuniÄ™ta'; @override - String get chat_retryingMessage => 'Próba ponowienia'; + String get chat_retryingMessage => 'Próba ponowienia'; @override String chat_retryCount(int current, int max) { - return 'Spróbuj $current/$max'; + return 'Spróbuj $current/$max'; } @override - String get chat_sendGif => 'Wyślij GIF'; + String get chat_sendGif => 'WyÅ›lij GIF'; @override String get chat_reply => 'Odpowiedz'; @override - String get chat_addReaction => 'Dodaj Reakcję'; + String get chat_addReaction => 'Dodaj ReakcjÄ™'; @override String get chat_me => 'Ja'; @@ -1081,28 +1078,28 @@ class AppLocalizationsPl extends AppLocalizations { String get gifPicker_poweredBy => 'Zasilane przez GIPHY'; @override - String get gifPicker_noGifsFound => 'Nie znaleziono GIF-ów'; + String get gifPicker_noGifsFound => 'Nie znaleziono GIF-ów'; @override - String get gifPicker_failedLoad => 'Nie udało się załadować GIF-ów'; + String get gifPicker_failedLoad => 'Nie udaÅ‚o siÄ™ zaÅ‚adować GIF-ów'; @override - String get gifPicker_failedSearch => 'Nie udało się znaleźć GIF-ów'; + String get gifPicker_failedSearch => 'Nie udaÅ‚o siÄ™ znaleźć GIF-ów'; @override - String get gifPicker_noInternet => 'Brak połączenia internetowego'; + String get gifPicker_noInternet => 'Brak połączenia internetowego'; @override String get debugLog_appTitle => 'Log Wykonywania Aplikacji'; @override - String get debugLog_bleTitle => 'Log błędów BLE'; + String get debugLog_bleTitle => 'Log błędów BLE'; @override String get debugLog_copyLog => 'Kopiuj log'; @override - String get debugLog_clearLog => 'Wyczyść dziennik'; + String get debugLog_clearLog => 'Wyczyść dziennik'; @override String get debugLog_copied => 'Skopiowano dziennik debugowania'; @@ -1111,11 +1108,12 @@ class AppLocalizationsPl extends AppLocalizations { String get debugLog_bleCopied => 'Skopiowany log BLE'; @override - String get debugLog_noEntries => 'Nie ma jeszcze żadnych logów debugowania.'; + String get debugLog_noEntries => + 'Nie ma jeszcze żadnych logów debugowania.'; @override String get debugLog_enableInSettings => - 'Włącz logowanie debugowania aplikacji w ustawieniach'; + 'Włącz logowanie debugowania aplikacji w ustawieniach'; @override String get debugLog_frames => 'Ramy'; @@ -1124,11 +1122,11 @@ class AppLocalizationsPl extends AppLocalizations { String get debugLog_rawLogRx => 'Surowe Log-RX'; @override - String get debugLog_noBleActivity => 'Brak aktywności BLE jeszcze.'; + String get debugLog_noBleActivity => 'Brak aktywnoÅ›ci BLE jeszcze.'; @override String debugFrame_length(int count) { - return 'Długość ramy: $count bajtów'; + return 'DÅ‚ugość ramy: $count bajtów'; } @override @@ -1137,7 +1135,7 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get debugFrame_textMessageHeader => 'Wiadomość tekstowa:'; + String get debugFrame_textMessageHeader => 'Wiadomość tekstowa:'; @override String debugFrame_destinationPubKey(String pubKey) { @@ -1171,30 +1169,31 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get debugFrame_hexDump => 'Wyjście SzESZCZNULNE:'; + String get debugFrame_hexDump => 'WyjÅ›cie SzESZCZNULNE:'; @override - String get chat_pathManagement => 'Zarządzanie ścieżkami'; + String get chat_pathManagement => 'ZarzÄ…dzanie Å›cieżkami'; @override - String get chat_ShowAllPaths => 'Pokaż wszystkie ścieżki'; + String get chat_ShowAllPaths => 'Pokaż wszystkie Å›cieżki'; @override String get chat_routingMode => 'Tryb routingu'; @override - String get chat_autoUseSavedPath => 'Automatyczne (użyj zapisanej ścieżki)'; + String get chat_autoUseSavedPath => + 'Automatyczne (użyj zapisanej Å›cieżki)'; @override String get chat_forceFloodMode => 'Wymusz Tryb Powodowany'; @override String get chat_recentAckPaths => - 'Ostatnie ścieżki ACK (naciśnij, aby użyć):'; + 'Ostatnie Å›cieżki ACK (naciÅ›nij, aby użyć):'; @override String get chat_pathHistoryFull => - 'Historia ścieżek jest pełna. Usuń wpisy, aby dodać nowe.'; + 'Historia Å›cieżek jest peÅ‚na. UsuÅ„ wpisy, aby dodać nowe.'; @override String get chat_hopSingular => 'Skacz'; @@ -1217,46 +1216,46 @@ class AppLocalizationsPl extends AppLocalizations { String get chat_successes => 'Sukcesy'; @override - String get chat_removePath => 'Usuń ścieżkę'; + String get chat_removePath => 'UsuÅ„ Å›cieżkÄ™'; @override String get chat_noPathHistoryYet => - 'Brak jeszcze historii ścieżek.\nWyślij wiadomość, aby odkryć ścieżki.'; + 'Brak jeszcze historii Å›cieżek.\nWyÅ›lij wiadomość, aby odkryć Å›cieżki.'; @override - String get chat_pathActions => 'Działania ścieżki:'; + String get chat_pathActions => 'DziaÅ‚ania Å›cieżki:'; @override - String get chat_setCustomPath => 'Ustaw Ścieżkę Dostosowaną'; + String get chat_setCustomPath => 'Ustaw ÅšcieżkÄ™ DostosowanÄ…'; @override - String get chat_setCustomPathSubtitle => 'Ręcznie określ trasę.'; + String get chat_setCustomPathSubtitle => 'RÄ™cznie okreÅ›l trasÄ™.'; @override - String get chat_clearPath => 'Wyczyść Ścieżkę'; + String get chat_clearPath => 'Wyczyść ÅšcieżkÄ™'; @override String get chat_clearPathSubtitle => - 'Zmusz do ponownej identyfikacji przy następnym wysłaniu'; + 'Zmusz do ponownej identyfikacji przy nastÄ™pnym wysÅ‚aniu'; @override String get chat_pathCleared => - 'Ścieżka oczyszczona. Kolejne powiadomienie odnajdzie trasę.'; + 'Åšcieżka oczyszczona. Kolejne powiadomienie odnajdzie trasÄ™.'; @override String get chat_floodModeSubtitle => - 'Użyj przełącznika routingu w pasku narzędzi.'; + 'Użyj przełącznika routingu w pasku narzÄ™dzi.'; @override String get chat_floodModeEnabled => - 'Tryb powodziowy włączony. Włącz ponownie za pomocą ikony routingu w pasku narzędzi.'; + 'Tryb powodziowy włączony. Włącz ponownie za pomocÄ… ikony routingu w pasku narzÄ™dzi.'; @override - String get chat_fullPath => 'Pełna ścieżka'; + String get chat_fullPath => 'PeÅ‚na Å›cieżka'; @override String get chat_pathDetailsNotAvailable => - 'Szczegóły ścieżki jeszcze niedostępne. Spróbuj wysłać wiadomość, aby odświeżyć.'; + 'Szczegóły Å›cieżki jeszcze niedostÄ™pne. Spróbuj wysÅ‚ać wiadomość, aby odÅ›wieżyć.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1266,77 +1265,78 @@ class AppLocalizationsPl extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Ścieżka ustawiona: $hopCount $_temp0 - $status'; + return 'Åšcieżka ustawiona: $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Zapisano lokalnie. Połącz się, aby zsynchronizować.'; + 'Zapisano lokalnie. Połącz siÄ™, aby zsynchronizować.'; @override - String get chat_pathDeviceConfirmed => 'Urządzenie potwierdzone.'; + String get chat_pathDeviceConfirmed => 'UrzÄ…dzenie potwierdzone.'; @override String get chat_pathDeviceNotConfirmed => - 'Urządzenie nie zostało jeszcze potwierdzone.'; + 'UrzÄ…dzenie nie zostaÅ‚o jeszcze potwierdzone.'; @override - String get chat_type => 'Wprowadź'; + String get chat_type => 'Wprowadź'; @override - String get chat_path => 'Ścieżka'; + String get chat_path => 'Åšcieżka'; @override String get chat_publicKey => 'Klucz Publiczny'; @override - String get chat_compressOutgoingMessages => 'Kompresuj wychodzące wiadomości'; + String get chat_compressOutgoingMessages => + 'Kompresuj wychodzÄ…ce wiadomoÅ›ci'; @override - String get chat_floodForced => 'Powodowana Powódź'; + String get chat_floodForced => 'Powodowana Powódź'; @override - String get chat_directForced => 'Bezpośrednio (wymuszono)'; + String get chat_directForced => 'BezpoÅ›rednio (wymuszono)'; @override String chat_hopsForced(int count) { - return '$count skoków (wymuszonych)'; + return '$count skoków (wymuszonych)'; } @override String get chat_floodAuto => 'Powodzie (automatyczne)'; @override - String get chat_direct => 'Bezpośrednio'; + String get chat_direct => 'BezpoÅ›rednio'; @override - String get chat_poiShared => 'Wspólny POI'; + String get chat_poiShared => 'Wspólny POI'; @override String chat_unread(int count) { - return 'Niezgłoszone: $count'; + return 'NiezgÅ‚oszone: $count'; } @override - String get chat_openLink => 'Otworzyć link?'; + String get chat_openLink => 'Otworzyć link?'; @override String get chat_openLinkConfirmation => - 'Czy chcesz otworzyć ten link w przeglądarce?'; + 'Czy chcesz otworzyć ten link w przeglÄ…darce?'; @override - String get chat_open => 'Otwórz'; + String get chat_open => 'Otwórz'; @override String chat_couldNotOpenLink(String url) { - return 'Nie można otworzyć linku: $url'; + return 'Nie można otworzyć linku: $url'; } @override - String get chat_invalidLink => 'Nieprawidłowy format linku'; + String get chat_invalidLink => 'NieprawidÅ‚owy format linku'; @override - String get map_title => 'Mapa węzłów'; + String get map_title => 'Mapa wÄ™złów'; @override String get map_lineOfSight => 'Linia wzroku'; @@ -1345,15 +1345,16 @@ class AppLocalizationsPl extends AppLocalizations { String get map_losScreenTitle => 'Linia wzroku'; @override - String get map_noNodesWithLocation => 'Brak węzłów z danymi lokalizacyjnymi'; + String get map_noNodesWithLocation => + 'Brak wÄ™złów z danymi lokalizacyjnymi'; @override String get map_nodesNeedGps => - 'Węzły muszą udostępniać swoje współrzędne GPS,\naby pojawić się na mapie.'; + 'WÄ™zÅ‚y muszÄ… udostÄ™pniać swoje współrzÄ™dne GPS,\naby pojawić siÄ™ na mapie.'; @override String map_nodesCount(int count) { - return 'Węzły: $count'; + return 'WÄ™zÅ‚y: $count'; } @override @@ -1365,10 +1366,10 @@ class AppLocalizationsPl extends AppLocalizations { String get map_chat => 'Rozmowa'; @override - String get map_repeater => 'Powtórzacz'; + String get map_repeater => 'Powtórzacz'; @override - String get map_room => 'Pokój'; + String get map_room => 'Pokój'; @override String get map_sensor => 'Czujnik'; @@ -1387,64 +1388,64 @@ class AppLocalizationsPl extends AppLocalizations { @override String get map_disconnectConfirm => - 'Czy na pewno chcesz się odłączyć od tego urządzenia?'; + 'Czy na pewno chcesz siÄ™ odłączyć od tego urzÄ…dzenia?'; @override String get map_from => 'Od'; @override - String get map_source => 'Źródło'; + String get map_source => 'ŹródÅ‚o'; @override String get map_flags => 'Flagi'; @override - String get map_shareMarkerHere => 'Udostępnij znacznik tutaj'; + String get map_shareMarkerHere => 'UdostÄ™pnij znacznik tutaj'; @override - String get map_pinLabel => 'Oznacz etykietę'; + String get map_pinLabel => 'Oznacz etykietÄ™'; @override String get map_label => 'Etykieta'; @override - String get map_pointOfInterest => 'Punkt zainteresowań'; + String get map_pointOfInterest => 'Punkt zainteresowaÅ„'; @override - String get map_sendToContact => 'Wyślij do kontaktu'; + String get map_sendToContact => 'WyÅ›lij do kontaktu'; @override - String get map_sendToChannel => 'Wyślij do kanału'; + String get map_sendToChannel => 'WyÅ›lij do kanaÅ‚u'; @override - String get map_noChannelsAvailable => 'Brak dostępnych kanałów'; + String get map_noChannelsAvailable => 'Brak dostÄ™pnych kanałów'; @override - String get map_publicLocationShare => 'Udostępnij lokalizację publicznie'; + String get map_publicLocationShare => 'UdostÄ™pnij lokalizacjÄ™ publicznie'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Wkrótce udostępnisz lokalizację w $channelLabel. Ten kanał jest publiczny i każdy z PSK może go zobaczyć.'; + return 'Wkrótce udostÄ™pnisz lokalizacjÄ™ w $channelLabel. Ten kanaÅ‚ jest publiczny i każdy z PSK może go zobaczyć.'; } @override String get map_connectToShareMarkers => - 'Połącz się z urządzeniem, aby udostępniać znacznik.'; + 'Połącz siÄ™ z urzÄ…dzeniem, aby udostÄ™pniać znacznik.'; @override - String get map_filterNodes => 'Filtruj Węzły'; + String get map_filterNodes => 'Filtruj WÄ™zÅ‚y'; @override - String get map_nodeTypes => 'Typy węzłów'; + String get map_nodeTypes => 'Typy wÄ™złów'; @override - String get map_chatNodes => 'Węzły czatu'; + String get map_chatNodes => 'WÄ™zÅ‚y czatu'; @override String get map_repeaters => 'Powtarzacze'; @override - String get map_otherNodes => 'Inne węzły'; + String get map_otherNodes => 'Inne wÄ™zÅ‚y'; @override String get map_keyPrefix => 'Prefiks klucza'; @@ -1453,13 +1454,13 @@ class AppLocalizationsPl extends AppLocalizations { String get map_filterByKeyPrefix => 'Filtruj po prefiksie klucza'; @override - String get map_publicKeyPrefix => 'Przewód klucza publicznego'; + String get map_publicKeyPrefix => 'Przewód klucza publicznego'; @override String get map_markers => 'Oznaczarki'; @override - String get map_showSharedMarkers => 'Pokaż współdzielone znaki.'; + String get map_showSharedMarkers => 'Pokaż współdzielone znaki.'; @override String get map_lastSeenTime => 'Ostatni raz widiany'; @@ -1468,40 +1469,40 @@ class AppLocalizationsPl extends AppLocalizations { String get map_sharedPin => 'Podzielony PIN'; @override - String get map_joinRoom => 'Dołącz do pokoju'; + String get map_joinRoom => 'Dołącz do pokoju'; @override - String get map_manageRepeater => 'Zarządzaj Powtórzami'; + String get map_manageRepeater => 'ZarzÄ…dzaj Powtórzami'; @override - String get map_tapToAdd => 'Kliknij na węzły, aby dodać je do ścieżki.'; + String get map_tapToAdd => 'Kliknij na wÄ™zÅ‚y, aby dodać je do Å›cieżki.'; @override - String get map_runTrace => 'Uruchom ślad ścieżki'; + String get map_runTrace => 'Uruchom Å›lad Å›cieżki'; @override - String get map_removeLast => 'Usuń ostatni'; + String get map_removeLast => 'UsuÅ„ ostatni'; @override - String get map_pathTraceCancelled => 'Śledzenie ścieżki anulowano.'; + String get map_pathTraceCancelled => 'Åšledzenie Å›cieżki anulowano.'; @override String get mapCache_title => 'Bufor Map Offline'; @override String get mapCache_selectAreaFirst => - 'Wybierz obszar do wstępnego pobrania.'; + 'Wybierz obszar do wstÄ™pnego pobrania.'; @override String get mapCache_noTilesToDownload => - 'Brak dostępnych płytek do pobrania dla tego obszaru.'; + 'Brak dostÄ™pnych pÅ‚ytek do pobrania dla tego obszaru.'; @override - String get mapCache_downloadTilesTitle => 'Pobierz płytki'; + String get mapCache_downloadTilesTitle => 'Pobierz pÅ‚ytki'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Pobierz $count płytek do użytku offline?'; + return 'Pobierz $count pÅ‚ytek do użytku offline?'; } @override @@ -1509,41 +1510,41 @@ class AppLocalizationsPl extends AppLocalizations { @override String mapCache_cachedTiles(int count) { - return 'Pamiętanych $count płytek'; + return 'PamiÄ™tanych $count pÅ‚ytek'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Pamiętane $downloaded płytki ($failed nieudane)'; + return 'PamiÄ™tane $downloaded pÅ‚ytki ($failed nieudane)'; } @override String get mapCache_clearOfflineCacheTitle => - 'Wyczyść pamięć podręczną offline'; + 'Wyczyść pamięć podrÄ™cznÄ… offline'; @override String get mapCache_clearOfflineCachePrompt => - 'Usuń wszystkie tymczasowe kafelki mapy?'; + 'UsuÅ„ wszystkie tymczasowe kafelki mapy?'; @override String get mapCache_offlineCacheCleared => - 'Pamięć podręczna offline została wyczyszczona'; + 'Pamięć podrÄ™czna offline zostaÅ‚a wyczyszczona'; @override - String get mapCache_noAreaSelected => 'Nie zaznaczono żadnej powierzchni.'; + String get mapCache_noAreaSelected => 'Nie zaznaczono żadnej powierzchni.'; @override - String get mapCache_cacheArea => 'Obszar pamięci podręcznej'; + String get mapCache_cacheArea => 'Obszar pamiÄ™ci podrÄ™cznej'; @override - String get mapCache_useCurrentView => 'Użyj aktualnego widoku'; + String get mapCache_useCurrentView => 'Użyj aktualnego widoku'; @override - String get mapCache_zoomRange => 'Zakres powiększenia'; + String get mapCache_zoomRange => 'Zakres powiÄ™kszenia'; @override String mapCache_estimatedTiles(int count) { - return 'Szacunkowa liczba płytek: $count'; + return 'Szacunkowa liczba pÅ‚ytek: $count'; } @override @@ -1555,7 +1556,7 @@ class AppLocalizationsPl extends AppLocalizations { String get mapCache_downloadTilesButton => 'Pobierz Paski'; @override - String get mapCache_clearCacheButton => 'Wyczyść pamięć podręczną'; + String get mapCache_clearCacheButton => 'Wyczyść pamięć podrÄ™cznÄ…'; @override String mapCache_failedDownloads(int count) { @@ -1573,7 +1574,7 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get time_justNow => 'Właśnie teraz'; + String get time_justNow => 'WÅ‚aÅ›nie teraz'; @override String time_minutesAgo(int minutes) { @@ -1597,19 +1598,19 @@ class AppLocalizationsPl extends AppLocalizations { String get time_hours => 'godziny'; @override - String get time_day => 'dzień'; + String get time_day => 'dzieÅ„'; @override String get time_days => 'dni'; @override - String get time_week => 'tydzień'; + String get time_week => 'tydzieÅ„'; @override String get time_weeks => 'tygodnie'; @override - String get time_month => 'miesiąc'; + String get time_month => 'miesiÄ…c'; @override String get time_months => 'miesiace'; @@ -1621,38 +1622,38 @@ class AppLocalizationsPl extends AppLocalizations { String get time_allTime => 'Wszystko czasowo'; @override - String get dialog_disconnect => 'Odłącz'; + String get dialog_disconnect => 'Odłącz'; @override String get dialog_disconnectConfirm => - 'Czy na pewno chcesz się odłączyć od tego urządzenia?'; + 'Czy na pewno chcesz siÄ™ odłączyć od tego urzÄ…dzenia?'; @override - String get login_repeaterLogin => 'Powtórz Logowanie'; + String get login_repeaterLogin => 'Powtórz Logowanie'; @override String get login_roomLogin => 'Logowanie do pokoju'; @override - String get login_password => 'Hasło'; + String get login_password => 'HasÅ‚o'; @override - String get login_enterPassword => 'Wprowadź hasło'; + String get login_enterPassword => 'Wprowadź hasÅ‚o'; @override - String get login_savePassword => 'Zapisz hasło'; + String get login_savePassword => 'Zapisz hasÅ‚o'; @override String get login_savePasswordSubtitle => - 'Hasło będzie bezpiecznie przechowywane na tym urządzeniu.'; + 'HasÅ‚o bÄ™dzie bezpiecznie przechowywane na tym urzÄ…dzeniu.'; @override String get login_repeaterDescription => - 'Wprowadź hasło do powtarzacza, aby uzyskać dostęp do ustawień i statusu.'; + 'Wprowadź hasÅ‚o do powtarzacza, aby uzyskać dostÄ™p do ustawieÅ„ i statusu.'; @override String get login_roomDescription => - 'Wprowadź hasło do pokoju, aby uzyskać dostęp do ustawień i statusu.'; + 'Wprowadź hasÅ‚o do pokoju, aby uzyskać dostÄ™p do ustawieÅ„ i statusu.'; @override String get login_routing => 'Przekierowanie'; @@ -1661,40 +1662,41 @@ class AppLocalizationsPl extends AppLocalizations { String get login_routingMode => 'Tryb routingu'; @override - String get login_autoUseSavedPath => 'Automatycznie (użyj zapisanej ścieżki)'; + String get login_autoUseSavedPath => + 'Automatycznie (użyj zapisanej Å›cieżki)'; @override String get login_forceFloodMode => 'Wymusz Tryb Powodowany'; @override - String get login_managePaths => 'Zarządzaj Ścieżkami'; + String get login_managePaths => 'ZarzÄ…dzaj Åšcieżkami'; @override - String get login_login => 'Zaloguj się'; + String get login_login => 'Zaloguj siÄ™'; @override String login_attempt(int current, int max) { - return 'Próba $current/$max'; + return 'Próba $current/$max'; } @override String login_failed(String error) { - return 'Zalogowanie się nie powiodło: $error'; + return 'Zalogowanie siÄ™ nie powiodÅ‚o: $error'; } @override String get login_failedMessage => - 'Logowanie nie powiodło się. Hasło jest nieprawidłowe albo repeater jest nieosiągalny.'; + 'Logowanie nie powiodÅ‚o siÄ™. HasÅ‚o jest nieprawidÅ‚owe albo repeater jest nieosiÄ…galny.'; @override - String get common_reload => 'Ponownie załadować'; + String get common_reload => 'Ponownie zaÅ‚adować'; @override - String get common_clear => 'Wyczyść'; + String get common_clear => 'Wyczyść'; @override String path_currentPath(String path) { - return 'Aktualny ścieżka: $path'; + return 'Aktualny Å›cieżka: $path'; } @override @@ -1705,88 +1707,88 @@ class AppLocalizationsPl extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Użyj ścieżki $count $_temp0.'; + return 'Użyj Å›cieżki $count $_temp0.'; } @override - String get path_enterCustomPath => 'Wprowadź własną ścieżkę'; + String get path_enterCustomPath => 'Wprowadź wÅ‚asnÄ… Å›cieżkÄ™'; @override - String get path_currentPathLabel => 'Aktualny ścieżka'; + String get path_currentPathLabel => 'Aktualny Å›cieżka'; @override String get path_hexPrefixInstructions => - 'Wprowadź 2-znakowe prefiksy szesnastkowe dla każdego skoku, oddzielone przecinkami.'; + 'Wprowadź 2-znakowe prefiksy szesnastkowe dla każdego skoku, oddzielone przecinkami.'; @override String get path_hexPrefixExample => - 'A1,F2,3C (każedy węzeł używa pierwszego bajtu swojego klucza publicznego)'; + 'A1,F2,3C (każedy wÄ™zeÅ‚ używa pierwszego bajtu swojego klucza publicznego)'; @override - String get path_labelHexPrefixes => 'Ścieżka (przesunięcia bitowe)'; + String get path_labelHexPrefixes => 'Åšcieżka (przesuniÄ™cia bitowe)'; @override String get path_helperMaxHops => - 'Maksymalnie 64 skoki. Każda prefiks ma 2 znaki szesnastkowe (1 bajt).'; + 'Maksymalnie 64 skoki. Każda prefiks ma 2 znaki szesnastkowe (1 bajt).'; @override - String get path_selectFromContacts => 'Albo wybierz z kontaktów:'; + String get path_selectFromContacts => 'Albo wybierz z kontaktów:'; @override String get path_noRepeatersFound => - 'Nie znaleziono repeaterów ani serwerów pokoi.'; + 'Nie znaleziono repeaterów ani serwerów pokoi.'; @override String get path_customPathsRequire => - 'Dostosowane ścieżki wymagają pośrednich skoków, które mogą przekazywać wiadomości.'; + 'Dostosowane Å›cieżki wymagajÄ… poÅ›rednich skoków, które mogÄ… przekazywać wiadomoÅ›ci.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Nieprawidłowe prefiksy szesnastkowe: $prefixes'; + return 'NieprawidÅ‚owe prefiksy szesnastkowe: $prefixes'; } @override String get path_tooLong => - 'Ścieżka jest zbyt długa. Dozwolonych skoków wynosi 64.'; + 'Åšcieżka jest zbyt dÅ‚uga. Dozwolonych skoków wynosi 64.'; @override - String get path_setPath => 'Ustaw Ścieżkę'; + String get path_setPath => 'Ustaw ÅšcieżkÄ™'; @override - String get repeater_management => 'Zarządzanie Powtórzami'; + String get repeater_management => 'ZarzÄ…dzanie Powtórzami'; @override - String get room_management => 'Zarządzanie Serwerem Pokoju'; + String get room_management => 'ZarzÄ…dzanie Serwerem Pokoju'; @override - String get repeater_managementTools => 'Narzędzia Zarządzania'; + String get repeater_managementTools => 'NarzÄ™dzia ZarzÄ…dzania'; @override String get repeater_status => 'Status'; @override String get repeater_statusSubtitle => - 'Wyświetl status powtarzacza, statystyki i sąsiadów.'; + 'WyÅ›wietl status powtarzacza, statystyki i sÄ…siadów.'; @override String get repeater_telemetry => 'Telemetry'; @override String get repeater_telemetrySubtitle => - 'Wyświetl dane telemetryczne z czujników i statystyki systemu'; + 'WyÅ›wietl dane telemetryczne z czujników i statystyki systemu'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Wyślij polecenia do powielacza'; + String get repeater_cliSubtitle => 'WyÅ›lij polecenia do powielacza'; @override - String get repeater_neighbors => 'Sąsiedzi'; + String get repeater_neighbors => 'SÄ…siedzi'; @override String get repeater_neighborsSubtitle => - 'Wyświetl sąsiedztwo zerowych hopów.'; + 'WyÅ›wietl sÄ…siedztwo zerowych hopów.'; @override String get repeater_settings => 'Ustawienia'; @@ -1802,23 +1804,23 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_autoUseSavedPath => - 'Automatycznie (użyj zapisanej ścieżki)'; + 'Automatycznie (użyj zapisanej Å›cieżki)'; @override String get repeater_forceFloodMode => 'Wymusz Tryb Powodowany'; @override - String get repeater_pathManagement => 'Zarządzanie ścieżkami'; + String get repeater_pathManagement => 'ZarzÄ…dzanie Å›cieżkami'; @override - String get repeater_refresh => 'Odśwież'; + String get repeater_refresh => 'OdÅ›wież'; @override - String get repeater_statusRequestTimeout => 'Życzenie statusu timed out.'; + String get repeater_statusRequestTimeout => 'Å»yczenie statusu timed out.'; @override String repeater_errorLoadingStatus(String error) { - return 'Błąd podczas ładowania statusu: $error'; + return 'Błąd podczas Å‚adowania statusu: $error'; } @override @@ -1831,10 +1833,10 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_clockAtLogin => 'Godzina (przy logowaniu)'; @override - String get repeater_uptime => 'Dostępność'; + String get repeater_uptime => 'DostÄ™pność'; @override - String get repeater_queueLength => 'Długość kolejki'; + String get repeater_queueLength => 'DÅ‚ugość kolejki'; @override String get repeater_debugFlags => 'Opcje debugowania'; @@ -1849,7 +1851,7 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_lastSnr => 'Ostatnie SNR'; @override - String get repeater_noiseFloor => 'Poziom Szumów'; + String get repeater_noiseFloor => 'Poziom Szumów'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1858,16 +1860,16 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_rxAirtime => 'RX Airtime'; @override - String get repeater_packetStatistics => 'Statystyki pakietów'; + String get repeater_packetStatistics => 'Statystyki pakietów'; @override - String get repeater_sent => 'Wysłane'; + String get repeater_sent => 'WysÅ‚ane'; @override String get repeater_received => 'Otrzymano'; @override - String get repeater_duplicates => 'Powtórzenia'; + String get repeater_duplicates => 'Powtórzenia'; @override String repeater_daysHoursMinsSecs( @@ -1881,17 +1883,17 @@ class AppLocalizationsPl extends AppLocalizations { @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Razem: $total, Powodzenie: $flood, Bezpośrednio: $direct'; + return 'Razem: $total, Powodzenie: $flood, BezpoÅ›rednio: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Razem: $total, Powodzenie: $flood, Bezpośrednio: $direct'; + return 'Razem: $total, Powodzenie: $flood, BezpoÅ›rednio: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Powodzie: $flood, Bezpośrednie: $direct'; + return 'Powodzie: $flood, BezpoÅ›rednie: $direct'; } @override @@ -1900,34 +1902,34 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Ustawienia Powtórki'; + String get repeater_settingsTitle => 'Ustawienia Powtórki'; @override String get repeater_basicSettings => 'Podstawowe Ustawienia'; @override - String get repeater_repeaterName => 'Nazwa Powtórnika'; + String get repeater_repeaterName => 'Nazwa Powtórnika'; @override - String get repeater_repeaterNameHelper => 'Wyświetl nazwę tego powtarzacza'; + String get repeater_repeaterNameHelper => 'WyÅ›wietl nazwÄ™ tego powtarzacza'; @override - String get repeater_adminPassword => 'Hasło Administracyjne'; + String get repeater_adminPassword => 'HasÅ‚o Administracyjne'; @override - String get repeater_adminPasswordHelper => 'Pełny dostęp hasło'; + String get repeater_adminPasswordHelper => 'PeÅ‚ny dostÄ™p hasÅ‚o'; @override - String get repeater_guestPassword => 'Hasło gościa'; + String get repeater_guestPassword => 'HasÅ‚o goÅ›cia'; @override - String get repeater_guestPasswordHelper => 'Dostęp tylko do odczytu hasło'; + String get repeater_guestPasswordHelper => 'DostÄ™p tylko do odczytu hasÅ‚o'; @override String get repeater_radioSettings => 'Ustawienia radia'; @override - String get repeater_frequencyMhz => 'Częstotliwość (MHz)'; + String get repeater_frequencyMhz => 'CzÄ™stotliwość (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @@ -1939,10 +1941,10 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_txPowerHelper => '1-30 dBm'; @override - String get repeater_bandwidth => 'Przepustowość'; + String get repeater_bandwidth => 'Przepustowość'; @override - String get repeater_spreadingFactor => 'Rozkład Czynnika'; + String get repeater_spreadingFactor => 'RozkÅ‚ad Czynnika'; @override String get repeater_codingRate => 'Stawka kodowania'; @@ -1951,46 +1953,46 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_locationSettings => 'Ustawienia Lokalizacji'; @override - String get repeater_latitude => 'Szerokość'; + String get repeater_latitude => 'Szerokość'; @override - String get repeater_latitudeHelper => 'Stopnie dziesiętne (np. 37.7749)'; + String get repeater_latitudeHelper => 'Stopnie dziesiÄ™tne (np. 37.7749)'; @override - String get repeater_longitude => 'Długość'; + String get repeater_longitude => 'DÅ‚ugość'; @override - String get repeater_longitudeHelper => 'Stopnie dziesiętne (np. -122,4194)'; + String get repeater_longitudeHelper => 'Stopnie dziesiÄ™tne (np. -122,4194)'; @override String get repeater_features => 'Funkcje'; @override - String get repeater_packetForwarding => 'Przekierowanie pakietów'; + String get repeater_packetForwarding => 'Przekierowanie pakietów'; @override String get repeater_packetForwardingSubtitle => - 'Włącz repeater, aby przekazywać pakiety.'; + 'Włącz repeater, aby przekazywać pakiety.'; @override - String get repeater_guestAccess => 'Dostęp dla gości'; + String get repeater_guestAccess => 'DostÄ™p dla goÅ›ci'; @override String get repeater_guestAccessSubtitle => - 'Umożliw dostęp tylko do odczytu dla gości.'; + 'Umożliw dostÄ™p tylko do odczytu dla goÅ›ci.'; @override - String get repeater_privacyMode => 'Tryb Prywatności'; + String get repeater_privacyMode => 'Tryb PrywatnoÅ›ci'; @override String get repeater_privacyModeSubtitle => - 'Ukryj imię/lokalizację w reklamach'; + 'Ukryj imiÄ™/lokalizacjÄ™ w reklamach'; @override String get repeater_advertisementSettings => 'Ustawienia Reklam'; @override - String get repeater_localAdvertInterval => 'Interwał Reklamy Lokalnej'; + String get repeater_localAdvertInterval => 'InterwaÅ‚ Reklamy Lokalnej'; @override String repeater_localAdvertIntervalMinutes(int minutes) { @@ -1998,7 +2000,7 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get repeater_floodAdvertInterval => 'Interwał Reklamy Powodziowej'; + String get repeater_floodAdvertInterval => 'InterwaÅ‚ Reklamy Powodziowej'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2007,146 +2009,149 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_encryptedAdvertInterval => - 'Zaszyfrowany Interwał Reklamowy'; + 'Zaszyfrowany InterwaÅ‚ Reklamowy'; @override - String get repeater_dangerZone => 'Strefa Zagrożeń'; + String get repeater_dangerZone => 'Strefa ZagrożeÅ„'; @override String get repeater_rebootRepeater => 'Zrestartuj Powtarzacz'; @override String get repeater_rebootRepeaterSubtitle => - 'Zrestartuj urządzenie powtarzające.'; + 'Zrestartuj urzÄ…dzenie powtarzajÄ…ce.'; @override String get repeater_rebootRepeaterConfirm => - 'Czy na pewno chcesz zrestartować ten repeater?'; + 'Czy na pewno chcesz zrestartować ten repeater?'; @override - String get repeater_regenerateIdentityKey => 'Wygeneruj klucz tożsamości'; + String get repeater_regenerateIdentityKey => 'Wygeneruj klucz tożsamoÅ›ci'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Wygeneruj nową parę kluczy publicznych/prywatnych'; + 'Wygeneruj nowÄ… parÄ™ kluczy publicznych/prywatnych'; @override String get repeater_regenerateIdentityKeyConfirm => - 'To zostanie wygenerowane nowe tożsamość dla powtarzacza. Kontynuować?'; + 'To zostanie wygenerowane nowe tożsamość dla powtarzacza. Kontynuować?'; @override - String get repeater_eraseFileSystem => 'Wyczyść System Plików'; + String get repeater_eraseFileSystem => 'Wyczyść System Plików'; @override String get repeater_eraseFileSystemSubtitle => - 'Sformatuj system plików powielacza'; + 'Sformatuj system plików powielacza'; @override String get repeater_eraseFileSystemConfirm => - 'OSTRZEŻENIE: To spowoduje usunięcie wszystkich danych z powtarzacza. Nie da się tego cofnąć!'; + 'OSTRZEÅ»ENIE: To spowoduje usuniÄ™cie wszystkich danych z powtarzacza. Nie da siÄ™ tego cofnąć!'; @override String get repeater_eraseSerialOnly => - 'Usunięcie jest dostępne tylko przez konsolę szeregową.'; + 'UsuniÄ™cie jest dostÄ™pne tylko przez konsolÄ™ szeregowÄ….'; @override String repeater_commandSent(String command) { - return 'Polecenie wysłane: $command'; + return 'Polecenie wysÅ‚ane: $command'; } @override String repeater_errorSendingCommand(String error) { - return 'Błąd podczas wysyłania polecenia: $error'; + return 'Błąd podczas wysyÅ‚ania polecenia: $error'; } @override - String get repeater_confirm => 'Potwierdź'; + String get repeater_confirm => 'Potwierdź'; @override - String get repeater_settingsSaved => 'Ustawienia zostały pomyślnie zapisane.'; + String get repeater_settingsSaved => + 'Ustawienia zostaÅ‚y pomyÅ›lnie zapisane.'; @override String repeater_errorSavingSettings(String error) { - return 'Błąd zapisu ustawień: $error'; + return 'Błąd zapisu ustawieÅ„: $error'; } @override - String get repeater_refreshBasicSettings => 'Odśwież Podstawowe Ustawienia'; + String get repeater_refreshBasicSettings => 'OdÅ›wież Podstawowe Ustawienia'; @override - String get repeater_refreshRadioSettings => 'Odśwież Ustawienia Radio'; + String get repeater_refreshRadioSettings => 'OdÅ›wież Ustawienia Radio'; @override - String get repeater_refreshTxPower => 'Odśwież TX power'; + String get repeater_refreshTxPower => 'OdÅ›wież TX power'; @override String get repeater_refreshLocationSettings => - 'Odśwież Ustawienia Lokalizacji'; + 'OdÅ›wież Ustawienia Lokalizacji'; @override - String get repeater_refreshPacketForwarding => 'Odśwież trasowanie pakietów'; + String get repeater_refreshPacketForwarding => + 'OdÅ›wież trasowanie pakietów'; @override - String get repeater_refreshGuestAccess => 'Odśwież dostęp gościa'; + String get repeater_refreshGuestAccess => 'OdÅ›wież dostÄ™p goÅ›cia'; @override - String get repeater_refreshPrivacyMode => 'Odśwież Tryb Prywatności'; + String get repeater_refreshPrivacyMode => 'OdÅ›wież Tryb PrywatnoÅ›ci'; @override String get repeater_refreshAdvertisementSettings => - 'Odśwież Ustawienia Reklamy'; + 'OdÅ›wież Ustawienia Reklamy'; @override String repeater_refreshed(String label) { - return '$label odświeżone'; + return '$label odÅ›wieżone'; } @override String repeater_errorRefreshing(String label) { - return 'Błąd podczas odświeżania $label'; + return 'Błąd podczas odÅ›wieżania $label'; } @override String get repeater_cliTitle => 'Powtarzacz CLI'; @override - String get repeater_debugNextCommand => 'Debug Następną Komendę'; + String get repeater_debugNextCommand => 'Debug NastÄ™pnÄ… KomendÄ™'; @override String get repeater_commandHelp => 'Pomoc'; @override - String get repeater_clearHistory => 'Wyczyść historię'; + String get repeater_clearHistory => 'Wyczyść historiÄ™'; @override - String get repeater_noCommandsSent => 'Nie wysłano jeszcze żadnych poleceń'; + String get repeater_noCommandsSent => + 'Nie wysÅ‚ano jeszcze żadnych poleceÅ„'; @override String get repeater_typeCommandOrUseQuick => - 'Wprowadź polecenie poniżej lub użyj szybkich poleceń'; + 'Wprowadź polecenie poniżej lub użyj szybkich poleceÅ„'; @override - String get repeater_enterCommandHint => 'Wprowadź polecenie...'; + String get repeater_enterCommandHint => 'Wprowadź polecenie...'; @override String get repeater_previousCommand => 'Poprzednia komenda'; @override - String get repeater_nextCommand => 'Następna komenda'; + String get repeater_nextCommand => 'NastÄ™pna komenda'; @override - String get repeater_enterCommandFirst => 'Wprowadź najpierw polecenie'; + String get repeater_enterCommandFirst => 'Wprowadź najpierw polecenie'; @override - String get repeater_cliCommandFrameTitle => 'Określony Wyraz Polecenia CLI'; + String get repeater_cliCommandFrameTitle => 'OkreÅ›lony Wyraz Polecenia CLI'; @override String repeater_cliCommandError(String error) { - return 'Błąd: $error'; + return 'Błąd: $error'; } @override - String get repeater_cliQuickGetName => 'Pobierz imię'; + String get repeater_cliQuickGetName => 'Pobierz imiÄ™'; @override String get repeater_cliQuickGetRadio => 'Uzyskaj Radio'; @@ -2155,7 +2160,7 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_cliQuickGetTx => 'Pobierz TX'; @override - String get repeater_cliQuickNeighbors => 'Sąsiedzi'; + String get repeater_cliQuickNeighbors => 'SÄ…siedzi'; @override String get repeater_cliQuickVersion => 'Wersja'; @@ -2167,81 +2172,81 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_cliQuickClock => 'Godzina'; @override - String get repeater_cliHelpAdvert => 'Wysyła pakiet reklamowy'; + String get repeater_cliHelpAdvert => 'WysyÅ‚a pakiet reklamowy'; @override String get repeater_cliHelpReboot => - 'Zresetuj urządzenie. (Uwaga, może pojawić się \'Timeout\', co jest normalne)'; + 'Zresetuj urzÄ…dzenie. (Uwaga, może pojawić siÄ™ \'Timeout\', co jest normalne)'; @override String get repeater_cliHelpClock => - 'Wyświetla aktualny czas zgodnie z zegarem urządzenia.'; + 'WyÅ›wietla aktualny czas zgodnie z zegarem urzÄ…dzenia.'; @override String get repeater_cliHelpPassword => - 'Ustawia nowe hasło administratora dla urządzenia.'; + 'Ustawia nowe hasÅ‚o administratora dla urzÄ…dzenia.'; @override String get repeater_cliHelpVersion => - 'Wyświetla wersję urządzenia i datę budowy oprogramowania.'; + 'WyÅ›wietla wersjÄ™ urzÄ…dzenia i datÄ™ budowy oprogramowania.'; @override String get repeater_cliHelpClearStats => - 'Resetuje różne wskaźniki statystyk do zera.'; + 'Resetuje różne wskaźniki statystyk do zera.'; @override String get repeater_cliHelpSetAf => 'Ustawia czynnik czasu powietrznego.'; @override String get repeater_cliHelpSetTx => - 'Ustawia moc transmisji LoRa w dBm. (zrestartuj, aby zastosować)'; + 'Ustawia moc transmisji LoRa w dBm. (zrestartuj, aby zastosować)'; @override String get repeater_cliHelpSetRepeat => - 'Włącza lub wyłącza rolę powtarzacza dla tego węzła.'; + 'Włącza lub wyłącza rolÄ™ powtarzacza dla tego wÄ™zÅ‚a.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Serwer pokoju) Jeśli \'włączone\', to logowanie z pustym hasłem będzie dozwolone, ale nie można publikować w pokoju (tylko czytać).'; + '(Serwer pokoju) JeÅ›li \'włączone\', to logowanie z pustym hasÅ‚em bÄ™dzie dozwolone, ale nie można publikować w pokoju (tylko czytać).'; @override String get repeater_cliHelpSetFloodMax => - 'Ustawia maksymalną liczbę skoków pakietu powrotnego (jeśli >= max, pakiet nie jest przekierowywany)'; + 'Ustawia maksymalnÄ… liczbÄ™ skoków pakietu powrotnego (jeÅ›li >= max, pakiet nie jest przekierowywany)'; @override String get repeater_cliHelpSetIntThresh => - 'Ustawia Próg Interferencji (w dB). Domyślnie wynosi 14. Ustaw na 0, aby wyłączyć wykrywanie zakłóceń kanału.'; + 'Ustawia Próg Interferencji (w dB). DomyÅ›lnie wynosi 14. Ustaw na 0, aby wyłączyć wykrywanie zakłóceÅ„ kanaÅ‚u.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Ustawia interwał do zresetowania Automatycznego Sterownika Głośności. Ustaw na 0, aby wyłączyć.'; + 'Ustawia interwaÅ‚ do zresetowania Automatycznego Sterownika GÅ‚oÅ›noÅ›ci. Ustaw na 0, aby wyłączyć.'; @override String get repeater_cliHelpSetMultiAcks => - 'Włącza lub wyłącza funkcję \'podwójnych potwierdzeń\'.'; + 'Włącza lub wyłącza funkcjÄ™ \'podwójnych potwierdzeÅ„\'.'; @override String get repeater_cliHelpSetAdvertInterval => - 'Ustawia interwał timera w minutach do wysyłania pakietu reklamy lokalnej (bezpośredniej). Ustaw na 0, aby wyłączyć.'; + 'Ustawia interwaÅ‚ timera w minutach do wysyÅ‚ania pakietu reklamy lokalnej (bezpoÅ›redniej). Ustaw na 0, aby wyłączyć.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Ustawia interwał timera w godzinach do wysłania pakietu reklamowego typu \"powiew\". Ustaw na 0, aby wyłączyć.'; + 'Ustawia interwaÅ‚ timera w godzinach do wysÅ‚ania pakietu reklamowego typu \"powiew\". Ustaw na 0, aby wyłączyć.'; @override String get repeater_cliHelpSetGuestPassword => - 'Ustawia/aktualizuje hasło gościa. (dla repeaterów, loginy gości mogą wysyłać żądanie \"Get Stats\")'; + 'Ustawia/aktualizuje hasÅ‚o goÅ›cia. (dla repeaterów, loginy goÅ›ci mogÄ… wysyÅ‚ać żądanie \"Get Stats\")'; @override - String get repeater_cliHelpSetName => 'Ustawia nazwę reklamy.'; + String get repeater_cliHelpSetName => 'Ustawia nazwÄ™ reklamy.'; @override String get repeater_cliHelpSetLat => - 'Ustawia współrzędną geograficzne (w stopniach dziesiętnych) mapy reklam.'; + 'Ustawia współrzÄ™dnÄ… geograficzne (w stopniach dziesiÄ™tnych) mapy reklam.'; @override String get repeater_cliHelpSetLon => - 'Ustawia współrzędną długościową mapy reklamy. (stopnie dziesiętne)'; + 'Ustawia współrzÄ™dnÄ… dÅ‚ugoÅ›ciowÄ… mapy reklamy. (stopnie dziesiÄ™tne)'; @override String get repeater_cliHelpSetRadio => @@ -2249,46 +2254,46 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_cliHelpSetRxDelay => - 'Ustawienia (eksperymentalne) bazowe (muszą być > 1, aby działać) do stosowania lekkiego opóźnienia dla odebranych pakietów, w oparciu o siłę sygnału/wynik. Ustaw na 0, aby wyłączyć.'; + 'Ustawienia (eksperymentalne) bazowe (muszÄ… być > 1, aby dziaÅ‚ać) do stosowania lekkiego opóźnienia dla odebranych pakietów, w oparciu o siłę sygnaÅ‚u/wynik. Ustaw na 0, aby wyłączyć.'; @override String get repeater_cliHelpSetTxDelay => - 'Ustawia czynnik mnożony przez czas utrzymania w trybie zalewowym dla pakietu oraz z wykorzystaniem losowego systemu slotów, aby opóźnić jego przesyłanie (zmniejszając prawdopodobieństwo kolizji).'; + 'Ustawia czynnik mnożony przez czas utrzymania w trybie zalewowym dla pakietu oraz z wykorzystaniem losowego systemu slotów, aby opóźnić jego przesyÅ‚anie (zmniejszajÄ…c prawdopodobieÅ„stwo kolizji).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Taki sam jak txdelay, ale dla stosowania losowej opóźnienia przy przekazywaniu pakietów w trybie bezpośrednim.'; + 'Taki sam jak txdelay, ale dla stosowania losowej opóźnienia przy przekazywaniu pakietów w trybie bezpoÅ›rednim.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Włącz/Wyłącz mostek.'; + String get repeater_cliHelpSetBridgeEnabled => 'Włącz/Wyłącz mostek.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Ustaw czas opóźnienia przed ponownym wysyłaniem pakietów.'; + 'Ustaw czas opóźnienia przed ponownym wysyÅ‚aniem pakietów.'; @override String get repeater_cliHelpSetBridgeSource => - 'Wybierz, czy most będzie ponownie transmitował otrzymywane pakiety, czy też wysyłane.'; + 'Wybierz, czy most bÄ™dzie ponownie transmitowaÅ‚ otrzymywane pakiety, czy też wysyÅ‚ane.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Ustaw prędkość transmisji magistrali szeregowej dla mostów rs232.'; + 'Ustaw prÄ™dkość transmisji magistrali szeregowej dla mostów rs232.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Ustaw sekret dla mostów ESPNOW.'; + 'Ustaw sekret dla mostów ESPNOW.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Ustawia niestandardowy współczynnik do korekty zgłaszanego napięcia baterii (obsługa tylko na wybranych płytach).'; + 'Ustawia niestandardowy współczynnik do korekty zgÅ‚aszanego napiÄ™cia baterii (obsÅ‚uga tylko na wybranych pÅ‚ytach).'; @override String get repeater_cliHelpTempRadio => - 'Ustawia tymczasowe parametry radia na podany czas trwania w minutach, a następnie powraca do oryginalnych parametrów radia. (nie zapisuje zmian w preferencjach).'; + 'Ustawia tymczasowe parametry radia na podany czas trwania w minutach, a nastÄ™pnie powraca do oryginalnych parametrów radia. (nie zapisuje zmian w preferencjach).'; @override String get repeater_cliHelpSetPerm => - 'Modyfikuje ACL. Usuwa dopasowaną wpis (z prefiksem pubkey), jeśli \"permissions\" wynosi zero. Dodaje nowy wpis, jeśli pubkey-hex ma pełną długość i nie znajduje się obecnie w ACL. Aktualizuje wpis, dopasowując prefiks pubkey. Bit uprawnień zależy od roli firmware, ale dolne 2 bity to: 0 (Gość), 1 (tylko odczyt), 2 (odczyt i zapis), 3 (administrator).'; + 'Modyfikuje ACL. Usuwa dopasowanÄ… wpis (z prefiksem pubkey), jeÅ›li \"permissions\" wynosi zero. Dodaje nowy wpis, jeÅ›li pubkey-hex ma peÅ‚nÄ… dÅ‚ugość i nie znajduje siÄ™ obecnie w ACL. Aktualizuje wpis, dopasowujÄ…c prefiks pubkey. Bit uprawnieÅ„ zależy od roli firmware, ale dolne 2 bity to: 0 (Gość), 1 (tylko odczyt), 2 (odczyt i zapis), 3 (administrator).'; @override String get repeater_cliHelpGetBridgeType => @@ -2296,31 +2301,31 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_cliHelpLogStart => - 'Rozpoczyna się logowanie pakietów do systemu plików.'; + 'Rozpoczyna siÄ™ logowanie pakietów do systemu plików.'; @override String get repeater_cliHelpLogStop => - 'Zatrzymuje logowanie pakietów do systemu plików.'; + 'Zatrzymuje logowanie pakietów do systemu plików.'; @override String get repeater_cliHelpLogErase => - 'Usuwa logi pakietów z systemu plików.'; + 'Usuwa logi pakietów z systemu plików.'; @override String get repeater_cliHelpNeighbors => - 'Wyświetla listę innych węzłów powtarzających się, które usłyszano dzięki reklamom zero-hop. Każda linia to: id-prefix-hex:timestamp:snr-times-4'; + 'WyÅ›wietla listÄ™ innych wÄ™złów powtarzajÄ…cych siÄ™, które usÅ‚yszano dziÄ™ki reklamom zero-hop. Każda linia to: id-prefix-hex:timestamp:snr-times-4'; @override String get repeater_cliHelpNeighborRemove => - 'Usuwa pierwszy pasujący wpis (z prefiksem pubkey (hex)) z listy sąsiadów.'; + 'Usuwa pierwszy pasujÄ…cy wpis (z prefiksem pubkey (hex)) z listy sÄ…siadów.'; @override String get repeater_cliHelpRegion => - '(tylko seria) Wyświetla wszystkie zdefiniowane regiony i aktualne uprawnienia do powodzi.'; + '(tylko seria) WyÅ›wietla wszystkie zdefiniowane regiony i aktualne uprawnienia do powodzi.'; @override String get repeater_cliHelpRegionLoad => - 'ZAPOMNIJ: to jest specjalne wywołanie wielokomendowe. Każda następna komenda jest nazwą regionu (wcięta spacjami, aby wskazywać hierarchię nadrzędną, z minimum jedną spacją). Zakończona wysłaniem pustej linii/komendy.'; + 'ZAPOMNIJ: to jest specjalne wywoÅ‚anie wielokomendowe. Każda nastÄ™pna komenda jest nazwÄ… regionu (wciÄ™ta spacjami, aby wskazywać hierarchiÄ™ nadrzÄ™dnÄ…, z minimum jednÄ… spacjÄ…). ZakoÅ„czona wysÅ‚aniem pustej linii/komendy.'; @override String get repeater_cliHelpRegionGet => @@ -2328,63 +2333,63 @@ class AppLocalizationsPl extends AppLocalizations { @override String get repeater_cliHelpRegionPut => - 'Dodaje lub aktualizuje definicję regionu z podaną nazwą.'; + 'Dodaje lub aktualizuje definicjÄ™ regionu z podanÄ… nazwÄ….'; @override String get repeater_cliHelpRegionRemove => - 'Usuwa definicję regionu o podanej nazwie. (musi się dokładnie zgadzać i nie może mieć podregionów).'; + 'Usuwa definicjÄ™ regionu o podanej nazwie. (musi siÄ™ dokÅ‚adnie zgadzać i nie może mieć podregionów).'; @override String get repeater_cliHelpRegionAllowf => - 'Ustawia uprawnienia \'P\'łytkowe dla podanego regionu. (\'\' dla zakresu globalnego/starszego)'; + 'Ustawia uprawnienia \'P\'Å‚ytkowe dla podanego regionu. (\'\' dla zakresu globalnego/starszego)'; @override String get repeater_cliHelpRegionDenyf => - 'Usuwa uprawnienie \'Pływające\' dla podanej strefy. (ZALECANE: na tym etapie NIE zaleca się używania tego na globalnym/starszym zakresie!!).'; + 'Usuwa uprawnienie \'PÅ‚ywajÄ…ce\' dla podanej strefy. (ZALECANE: na tym etapie NIE zaleca siÄ™ używania tego na globalnym/starszym zakresie!!).'; @override String get repeater_cliHelpRegionHome => - 'Odpowiada z aktualnej \'home\' region. (Uwaga: nie zostało jeszcze zastosowane, zarezerwowane na przyszłość).'; + 'Odpowiada z aktualnej \'home\' region. (Uwaga: nie zostaÅ‚o jeszcze zastosowane, zarezerwowane na przyszÅ‚ość).'; @override String get repeater_cliHelpRegionHomeSet => 'Ustawia region \'domowe\'.'; @override String get repeater_cliHelpRegionSave => - 'Zapisuje listę/mapę regionów do pamięci.'; + 'Zapisuje listÄ™/mapÄ™ regionów do pamiÄ™ci.'; @override String get repeater_cliHelpGps => - 'Wyświetla status GPS. Jeśli GPS jest wyłączony, odpowiada tylko \"off\", jeśli jest włączony, odpowiada z \"on\", \"status\", \"fix\", liczbą satelitów.'; + 'WyÅ›wietla status GPS. JeÅ›li GPS jest wyłączony, odpowiada tylko \"off\", jeÅ›li jest włączony, odpowiada z \"on\", \"status\", \"fix\", liczbÄ… satelitów.'; @override - String get repeater_cliHelpGpsOnOff => 'Włącza/wyłącza nawigację GPS.'; + String get repeater_cliHelpGpsOnOff => 'Włącza/wyłącza nawigacjÄ™ GPS.'; @override String get repeater_cliHelpGpsSync => - 'Synchronizuje czas węzła z zegarem GPS.'; + 'Synchronizuje czas wÄ™zÅ‚a z zegarem GPS.'; @override String get repeater_cliHelpGpsSetLoc => - 'Ustawia pozycję węzła na współrzędne GPS i zapisuje preferencje.'; + 'Ustawia pozycjÄ™ wÄ™zÅ‚a na współrzÄ™dne GPS i zapisuje preferencje.'; @override String get repeater_cliHelpGpsAdvert => - 'Udostępnia konfigurację reklamy lokalizacji węzła:\n- brak: nie uwzględniaj lokalizacji w reklamach\n- udostępnia: udostępnia lokalizację GPS (z SensorManager)\n- ustawienia: reklamuj lokalizację przechowywaną w ustawieniach'; + 'UdostÄ™pnia konfiguracjÄ™ reklamy lokalizacji wÄ™zÅ‚a:\n- brak: nie uwzglÄ™dniaj lokalizacji w reklamach\n- udostÄ™pnia: udostÄ™pnia lokalizacjÄ™ GPS (z SensorManager)\n- ustawienia: reklamuj lokalizacjÄ™ przechowywanÄ… w ustawieniach'; @override String get repeater_cliHelpGpsAdvertSet => - 'Ustawia konfigurację reklamy w lokalizacji.'; + 'Ustawia konfiguracjÄ™ reklamy w lokalizacji.'; @override - String get repeater_commandsListTitle => 'Lista poleceń'; + String get repeater_commandsListTitle => 'Lista poleceÅ„'; @override String get repeater_commandsListNote => - 'ZAPAMIĘTAJ: dla różnych poleceń \"set ...\" istnieje również polecenie \"get ...\".'; + 'ZAPAMIĘTAJ: dla różnych poleceÅ„ \"set ...\" istnieje również polecenie \"get ...\".'; @override - String get repeater_general => 'Ogólne'; + String get repeater_general => 'Ogólne'; @override String get repeater_settingsCategory => 'Ustawienia'; @@ -2396,48 +2401,48 @@ class AppLocalizationsPl extends AppLocalizations { String get repeater_logging => 'Rejestrowanie'; @override - String get repeater_neighborsRepeaterOnly => 'Sąsiedzi (tylko powtarzacz)'; + String get repeater_neighborsRepeaterOnly => 'SÄ…siedzi (tylko powtarzacz)'; @override String get repeater_regionManagementRepeaterOnly => - 'Zarządzanie Regionem (tylko Powtarzacz)'; + 'ZarzÄ…dzanie Regionem (tylko Powtarzacz)'; @override String get repeater_regionNote => - 'Wprowadzono komendy regionalne w celu zarządzania definicjami i uprawnieniami regionów.'; + 'Wprowadzono komendy regionalne w celu zarzÄ…dzania definicjami i uprawnieniami regionów.'; @override - String get repeater_gpsManagement => 'Zarządzanie GPS'; + String get repeater_gpsManagement => 'ZarzÄ…dzanie GPS'; @override String get repeater_gpsNote => - 'Polecenie GPS zostało wprowadzone w celu zarządzania tematami związanymi z lokalizacją.'; + 'Polecenie GPS zostaÅ‚o wprowadzone w celu zarzÄ…dzania tematami zwiÄ…zanymi z lokalizacjÄ….'; @override String get telemetry_receivedData => 'Otrzymano Dane Telemetrii'; @override String get telemetry_requestTimeout => - 'Życzenie o danych telemetrycznych nie udało się.'; + 'Å»yczenie o danych telemetrycznych nie udaÅ‚o siÄ™.'; @override String telemetry_errorLoading(String error) { - return 'Błąd podczas ładowania telemetry: $error'; + return 'Błąd podczas Å‚adowania telemetry: $error'; } @override - String get telemetry_noData => 'Brak dostępnych danych telemetrycznych.'; + String get telemetry_noData => 'Brak dostÄ™pnych danych telemetrycznych.'; @override String telemetry_channelTitle(int channel) { - return 'Kanał $channel'; + return 'KanaÅ‚ $channel'; } @override String get telemetry_batteryLabel => 'Bateria'; @override - String get telemetry_voltageLabel => 'Napięcie'; + String get telemetry_voltageLabel => 'NapiÄ™cie'; @override String get telemetry_mcuTemperatureLabel => 'Temperatura MCU'; @@ -2465,26 +2470,26 @@ class AppLocalizationsPl extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Otrzymano dane sąsiedztwa'; + String get neighbors_receivedData => 'Otrzymano dane sÄ…siedztwa'; @override String get neighbors_requestTimedOut => - 'Sąsiedzi proszą o wyłączenie timingu.'; + 'SÄ…siedzi proszÄ… o wyłączenie timingu.'; @override String neighbors_errorLoading(String error) { - return 'Błąd podczas ładowania sąsiadów: $error'; + return 'Błąd podczas Å‚adowania sÄ…siadów: $error'; } @override - String get neighbors_repeatersNeighbors => 'Powtarzacze Sąsiedzi'; + String get neighbors_repeatersNeighbors => 'Powtarzacze SÄ…siedzi'; @override - String get neighbors_noData => 'Brak danych dotyczących sąsiadów.'; + String get neighbors_noData => 'Brak danych dotyczÄ…cych sÄ…siadów.'; @override String neighbors_unknownContact(String pubkey) { @@ -2493,27 +2498,27 @@ class AppLocalizationsPl extends AppLocalizations { @override String neighbors_heardAgo(String time) { - return 'Usłyszano: $time temu'; + return 'UsÅ‚yszano: $time temu'; } @override - String get channelPath_title => 'Ścieżka pakietu'; + String get channelPath_title => 'Åšcieżka pakietu'; @override - String get channelPath_viewMap => 'Wyświetl mapę'; + String get channelPath_viewMap => 'WyÅ›wietl mapÄ™'; @override - String get channelPath_otherObservedPaths => 'Inne Zauważone Ścieżki'; + String get channelPath_otherObservedPaths => 'Inne Zauważone Åšcieżki'; @override - String get channelPath_repeaterHops => 'Skoki Powtórki'; + String get channelPath_repeaterHops => 'Skoki Powtórki'; @override String get channelPath_noHopDetails => - 'Szczegóły dotyczące tego pakietu nie zostały podane.'; + 'Szczegóły dotyczÄ…ce tego pakietu nie zostaÅ‚y podane.'; @override - String get channelPath_messageDetails => 'Szczegóły wiadomości'; + String get channelPath_messageDetails => 'Szczegóły wiadomoÅ›ci'; @override String get channelPath_senderLabel => 'Nadawca'; @@ -2522,11 +2527,11 @@ class AppLocalizationsPl extends AppLocalizations { String get channelPath_timeLabel => 'Czas'; @override - String get channelPath_repeatsLabel => 'Powtórzenia'; + String get channelPath_repeatsLabel => 'Powtórzenia'; @override String channelPath_pathLabel(int index) { - return 'Ścieżka $index'; + return 'Åšcieżka $index'; } @override @@ -2534,7 +2539,7 @@ class AppLocalizationsPl extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Obserwowany ścieżka $index • $hops'; + return 'Obserwowany Å›cieżka $index • $hops'; } @override @@ -2557,158 +2562,159 @@ class AppLocalizationsPl extends AppLocalizations { String get channelPath_floodPath => 'Powodzenie'; @override - String get channelPath_directPath => 'Bezpośrednio'; + String get channelPath_directPath => 'BezpoÅ›rednio'; @override String channelPath_observedZeroOf(int total) { - return '0 z $total skoków'; + return '0 z $total skoków'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed z $total skoków'; + return '$observed z $total skoków'; } @override - String get channelPath_mapTitle => 'Mapa ścieżek'; + String get channelPath_mapTitle => 'Mapa Å›cieżek'; @override String get channelPath_noRepeaterLocations => - 'Brak dostępnych lokalizacji powtarzaczy dla tego ścieżki.'; + 'Brak dostÄ™pnych lokalizacji powtarzaczy dla tego Å›cieżki.'; @override String channelPath_primaryPath(int index) { - return 'Ścieżka $index (Główna)'; + return 'Åšcieżka $index (Główna)'; } @override - String get channelPath_pathLabelTitle => 'Ścieżka'; + String get channelPath_pathLabelTitle => 'Åšcieżka'; @override - String get channelPath_observedPathHeader => 'Obserwowana ścieżka'; + String get channelPath_observedPathHeader => 'Obserwowana Å›cieżka'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Brak dostępnych szczegółów hopa dla tego pakietu.'; + 'Brak dostÄ™pnych szczegółów hopa dla tego pakietu.'; @override String get channelPath_unknownRepeater => 'Nieznany Powtarzacz'; @override - String get community_title => 'Społeczność'; + String get community_title => 'SpoÅ‚eczność'; @override - String get community_create => 'Utwórz Społeczność'; + String get community_create => 'Utwórz SpoÅ‚eczność'; @override String get community_createDesc => - 'Utwórz nową społeczność i udostępnij za pomocą kodu QR.'; + 'Utwórz nowÄ… spoÅ‚eczność i udostÄ™pnij za pomocÄ… kodu QR.'; @override - String get community_join => 'Dołącz'; + String get community_join => 'Dołącz'; @override - String get community_joinTitle => 'Dołącz do społeczności'; + String get community_joinTitle => 'Dołącz do spoÅ‚ecznoÅ›ci'; @override String community_joinConfirmation(String name) { - return 'Czy chcesz dołączyć do społeczności \"$name\"?'; + return 'Czy chcesz dołączyć do spoÅ‚ecznoÅ›ci \"$name\"?'; } @override - String get community_scanQr => 'Skanuj QR kod społeczności'; + String get community_scanQr => 'Skanuj QR kod spoÅ‚ecznoÅ›ci'; @override String get community_scanInstructions => - 'Skieruj kamerę w kierunku kodu QR społeczności.'; + 'Skieruj kamerÄ™ w kierunku kodu QR spoÅ‚ecznoÅ›ci.'; @override - String get community_showQr => 'Pokaż kod QR'; + String get community_showQr => 'Pokaż kod QR'; @override - String get community_publicChannel => 'Społeczność Publiczna'; + String get community_publicChannel => 'SpoÅ‚eczność Publiczna'; @override - String get community_hashtagChannel => 'Hashtag Społeczności'; + String get community_hashtagChannel => 'Hashtag SpoÅ‚ecznoÅ›ci'; @override - String get community_name => 'Nazwa Społeczności'; + String get community_name => 'Nazwa SpoÅ‚ecznoÅ›ci'; @override - String get community_enterName => 'Wprowadź nazwę społeczności'; + String get community_enterName => 'Wprowadź nazwÄ™ spoÅ‚ecznoÅ›ci'; @override String community_created(String name) { - return 'Społeczność \"$name\" została utworzona'; + return 'SpoÅ‚eczność \"$name\" zostaÅ‚a utworzona'; } @override String community_joined(String name) { - return 'Dołączył do społeczności \"$name\"'; + return 'DołączyÅ‚ do spoÅ‚ecznoÅ›ci \"$name\"'; } @override - String get community_qrTitle => 'Dziel się Społecznością'; + String get community_qrTitle => 'Dziel siÄ™ SpoÅ‚ecznoÅ›ciÄ…'; @override String community_qrInstructions(String name) { - return 'Skanuj ten kod QR, aby dołączyć $name'; + return 'Skanuj ten kod QR, aby dołączyć $name'; } @override String get community_hashtagPrivacyHint => - 'Kanały hashtagowe społeczności są dostępne tylko dla członków społeczności'; + 'KanaÅ‚y hashtagowe spoÅ‚ecznoÅ›ci sÄ… dostÄ™pne tylko dla czÅ‚onków spoÅ‚ecznoÅ›ci'; @override - String get community_invalidQrCode => 'Nieprawidłowy kod QR społeczności.'; + String get community_invalidQrCode => 'NieprawidÅ‚owy kod QR spoÅ‚ecznoÅ›ci.'; @override - String get community_alreadyMember => 'Już jesteś członkiem.'; + String get community_alreadyMember => 'Już jesteÅ› czÅ‚onkiem.'; @override String community_alreadyMemberMessage(String name) { - return 'Jesteś już członkiem \"$name\".'; + return 'JesteÅ› już czÅ‚onkiem \"$name\".'; } @override - String get community_addPublicChannel => 'Dodaj Kanał Publiczny Społeczności'; + String get community_addPublicChannel => + 'Dodaj KanaÅ‚ Publiczny SpoÅ‚ecznoÅ›ci'; @override String get community_addPublicChannelHint => - 'Automatycznie dodaj kanał publiczny dla tej społeczności.'; + 'Automatycznie dodaj kanaÅ‚ publiczny dla tej spoÅ‚ecznoÅ›ci.'; @override String get community_noCommunities => - 'Nie dołączono jeszcze żadnych społeczności.'; + 'Nie dołączono jeszcze żadnych spoÅ‚ecznoÅ›ci.'; @override String get community_scanOrCreate => - 'Skanuj kod QR lub utwórz społeczność, aby zacząć.'; + 'Skanuj kod QR lub utwórz spoÅ‚eczność, aby zacząć.'; @override - String get community_manageCommunities => 'Zarządzaj Grupami'; + String get community_manageCommunities => 'ZarzÄ…dzaj Grupami'; @override - String get community_delete => 'Opuszczenie Społeczności'; + String get community_delete => 'Opuszczenie SpoÅ‚ecznoÅ›ci'; @override String community_deleteConfirm(String name) { - return 'Opuścić \"$name\"?'; + return 'OpuÅ›cić \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Spowoduje to również usunięcie $count kanału/kanałów i ich wiadomości.'; + return 'Spowoduje to również usuniÄ™cie $count kanaÅ‚u/kanałów i ich wiadomoÅ›ci.'; } @override String community_deleted(String name) { - return 'Opuszczono społeczność \"$name\"'; + return 'Opuszczono spoÅ‚eczność \"$name\"'; } @override @@ -2716,7 +2722,7 @@ class AppLocalizationsPl extends AppLocalizations { @override String community_regenerateSecretConfirm(String name) { - return 'Regeneruj tajny klucz dla \"$name\"? Wszyscy członkowie będą musieli zeskanować nowy kod QR, aby kontynuować komunikację.'; + return 'Regeneruj tajny klucz dla \"$name\"? Wszyscy czÅ‚onkowie bÄ™dÄ… musieli zeskanować nowy kod QR, aby kontynuować komunikacjÄ™.'; } @override @@ -2724,7 +2730,7 @@ class AppLocalizationsPl extends AppLocalizations { @override String community_secretRegenerated(String name) { - return 'Hasło ponownie wygenerowane dla \"$name\"'; + return 'HasÅ‚o ponownie wygenerowane dla \"$name\"'; } @override @@ -2732,37 +2738,37 @@ class AppLocalizationsPl extends AppLocalizations { @override String community_secretUpdated(String name) { - return 'Hasło zaktualizowane dla \"$name\"'; + return 'HasÅ‚o zaktualizowane dla \"$name\"'; } @override String community_scanToUpdateSecret(String name) { - return 'Skanuj nowy kod QR, aby zaktualizować sekret dla \"$name\"'; + return 'Skanuj nowy kod QR, aby zaktualizować sekret dla \"$name\"'; } @override - String get community_addHashtagChannel => 'Dodaj hashtag społeczności'; + String get community_addHashtagChannel => 'Dodaj hashtag spoÅ‚ecznoÅ›ci'; @override String get community_addHashtagChannelDesc => - 'Dodaj kanał z hashtagiem dla tej społeczności'; + 'Dodaj kanaÅ‚ z hashtagiem dla tej spoÅ‚ecznoÅ›ci'; @override - String get community_selectCommunity => 'Wybierz społeczność'; + String get community_selectCommunity => 'Wybierz spoÅ‚eczność'; @override String get community_regularHashtag => 'Hashtag regular'; @override String get community_regularHashtagDesc => - 'Publiczny hashtag (każdy może dołączyć)'; + 'Publiczny hashtag (każdy może dołączyć)'; @override - String get community_communityHashtag => 'Hashtag Społeczności'; + String get community_communityHashtag => 'Hashtag SpoÅ‚ecznoÅ›ci'; @override String get community_communityHashtagDesc => - 'Dostępne tylko dla członków społeczności'; + 'DostÄ™pne tylko dla czÅ‚onków spoÅ‚ecznoÅ›ci'; @override String community_forCommunity(String name) { @@ -2776,10 +2782,10 @@ class AppLocalizationsPl extends AppLocalizations { String get listFilter_sortBy => 'Sortuj po'; @override - String get listFilter_latestMessages => 'Najnowsze wiadomości'; + String get listFilter_latestMessages => 'Najnowsze wiadomoÅ›ci'; @override - String get listFilter_heardRecently => 'Słyszano niedawno'; + String get listFilter_heardRecently => 'SÅ‚yszano niedawno'; @override String get listFilter_az => 'A-Z'; @@ -2797,10 +2803,10 @@ class AppLocalizationsPl extends AppLocalizations { String get listFilter_addToFavorites => 'Dodaj do ulubionych'; @override - String get listFilter_removeFromFavorites => 'Usuń z ulubionych'; + String get listFilter_removeFromFavorites => 'UsuÅ„ z ulubionych'; @override - String get listFilter_users => 'Użytkownicy'; + String get listFilter_users => 'Użytkownicy'; @override String get listFilter_repeaters => 'Powtarzacze'; @@ -2818,45 +2824,46 @@ class AppLocalizationsPl extends AppLocalizations { String get pathTrace_you => 'Ty'; @override - String get pathTrace_failed => 'Śledzenie ścieżki nie powiodło się.'; + String get pathTrace_failed => 'Åšledzenie Å›cieżki nie powiodÅ‚o siÄ™.'; @override - String get pathTrace_notAvailable => 'Ścieżka śledzenia niedostępna.'; + String get pathTrace_notAvailable => 'Åšcieżka Å›ledzenia niedostÄ™pna.'; @override - String get pathTrace_refreshTooltip => 'Odśwież ścieżkę.'; + String get pathTrace_refreshTooltip => 'OdÅ›wież Å›cieżkÄ™.'; @override String get pathTrace_someHopsNoLocation => - 'Jeden lub więcej z chmieli nie ma określonej lokalizacji!'; + 'Jeden lub wiÄ™cej z chmieli nie ma okreÅ›lonej lokalizacji!'; @override - String get pathTrace_clearTooltip => 'Wyczyść ścieżkę'; + String get pathTrace_clearTooltip => 'Wyczyść Å›cieżkÄ™'; @override - String get losSelectStartEnd => 'Wybierz węzły początkowe i końcowe dla LOS.'; + String get losSelectStartEnd => + 'Wybierz wÄ™zÅ‚y poczÄ…tkowe i koÅ„cowe dla LOS.'; @override String losRunFailed(String error) { - return 'Sprawdzenie pola widzenia nie powiodło się: $error'; + return 'Sprawdzenie pola widzenia nie powiodÅ‚o siÄ™: $error'; } @override - String get losClearAllPoints => 'Wyczyść wszystkie punkty'; + String get losClearAllPoints => 'Wyczyść wszystkie punkty'; @override String get losRunToViewElevationProfile => - 'Uruchom LOS, aby wyświetlić profil wysokości'; + 'Uruchom LOS, aby wyÅ›wietlić profil wysokoÅ›ci'; @override String get losMenuTitle => 'Menu LOS'; @override String get losMenuSubtitle => - 'Stuknij węzły lub naciśnij i przytrzymaj mapę, aby uzyskać niestandardowe punkty'; + 'Stuknij wÄ™zÅ‚y lub naciÅ›nij i przytrzymaj mapÄ™, aby uzyskać niestandardowe punkty'; @override - String get losShowDisplayNodes => 'Pokaż węzły wyświetlające'; + String get losShowDisplayNodes => 'Pokaż wÄ™zÅ‚y wyÅ›wietlajÄ…ce'; @override String get losCustomPoints => 'Punkty niestandardowe'; @@ -2886,7 +2893,7 @@ class AppLocalizationsPl extends AppLocalizations { String get losRun => 'Uruchom LOS-a'; @override - String get losNoElevationData => 'Brak danych o wysokości'; + String get losNoElevationData => 'Brak danych o wysokoÅ›ci'; @override String losProfileClear( @@ -2895,7 +2902,7 @@ class AppLocalizationsPl extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, czysty LOS, minimalny prześwit $clearance $heightUnit'; + return '$distance $distanceUnit, czysty LOS, minimalny przeÅ›wit $clearance $heightUnit'; } @override @@ -2921,42 +2928,42 @@ class AppLocalizationsPl extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Dane dotyczące wysokości są niedostępne dla jednej lub większej liczby próbek.'; + 'Dane dotyczÄ…ce wysokoÅ›ci sÄ… niedostÄ™pne dla jednej lub wiÄ™kszej liczby próbek.'; @override String get losErrorInvalidInput => - 'Nieprawidłowe dane punktów/wysokości do obliczenia LOS.'; + 'NieprawidÅ‚owe dane punktów/wysokoÅ›ci do obliczenia LOS.'; @override - String get losRenameCustomPoint => 'Zmień nazwę punktu niestandardowego'; + String get losRenameCustomPoint => 'ZmieÅ„ nazwÄ™ punktu niestandardowego'; @override String get losPointName => 'Nazwa punktu'; @override - String get losShowPanelTooltip => 'Pokaż panel LOS'; + String get losShowPanelTooltip => 'Pokaż panel LOS'; @override String get losHidePanelTooltip => 'Ukryj panel LOS'; @override String get losElevationAttribution => - 'Dane dotyczące wysokości: Open-Meteo (CC BY 4.0)'; + 'Dane dotyczÄ…ce wysokoÅ›ci: Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Horyzont radiowy'; @override - String get losLegendLosBeam => 'Linia widoczności'; + String get losLegendLosBeam => 'Linia widocznoÅ›ci'; @override String get losLegendTerrain => 'Teren'; @override - String get losFrequencyLabel => 'Częstotliwość'; + String get losFrequencyLabel => 'CzÄ™stotliwość'; @override - String get losFrequencyInfoTooltip => 'Zobacz szczegóły obliczenia'; + String get losFrequencyInfoTooltip => 'Zobacz szczegóły obliczenia'; @override String get losFrequencyDialogTitle => 'Obliczanie horyzontu radiowego'; @@ -2968,48 +2975,48 @@ class AppLocalizationsPl extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Zaczynając od k=$baselineK przy $baselineFreq MHz, obliczenia korygują współczynnik k dla bieżącego pasma $frequencyMHz MHz, które definiuje zakrzywiony limit horyzontu radiowego.'; + return 'ZaczynajÄ…c od k=$baselineK przy $baselineFreq MHz, obliczenia korygujÄ… współczynnik k dla bieżącego pasma $frequencyMHz MHz, które definiuje zakrzywiony limit horyzontu radiowego.'; } @override - String get contacts_pathTrace => 'Śledzenie Ścieżek'; + String get contacts_pathTrace => 'Åšledzenie Åšcieżek'; @override - String get contacts_ping => 'Pingować'; + String get contacts_ping => 'Pingować'; @override - String get contacts_repeaterPathTrace => 'Śledzenie ścieżki do repeatera'; + String get contacts_repeaterPathTrace => 'Åšledzenie Å›cieżki do repeatera'; @override String get contacts_repeaterPing => 'Repeater pingowy'; @override String get contacts_roomPathTrace => - 'Śledzenie ścieżki do serwera pokojowego'; + 'Åšledzenie Å›cieżki do serwera pokojowego'; @override String get contacts_roomPing => 'Pinguj serwer pokoju'; @override - String get contacts_chatTraceRoute => 'Śledź trasę promienia'; + String get contacts_chatTraceRoute => 'Åšledź trasÄ™ promienia'; @override String contacts_pathTraceTo(String name) { - return 'Śledź trasę do $name'; + return 'Åšledź trasÄ™ do $name'; } @override String get contacts_clipboardEmpty => 'Schowek jest pusty.'; @override - String get contacts_invalidAdvertFormat => 'Nieprawidłowe dane kontaktowe'; + String get contacts_invalidAdvertFormat => 'NieprawidÅ‚owe dane kontaktowe'; @override - String get contacts_contactImported => 'Kontakt został zaimportowany.'; + String get contacts_contactImported => 'Kontakt zostaÅ‚ zaimportowany.'; @override String get contacts_contactImportFailed => - 'Kontakt nie został zaimportowany.'; + 'Kontakt nie zostaÅ‚ zaimportowany.'; @override String get contacts_zeroHopAdvert => 'Reklama Zero Hop'; @@ -3018,7 +3025,7 @@ class AppLocalizationsPl extends AppLocalizations { String get contacts_floodAdvert => 'Reklama powodziowa'; @override - String get contacts_copyAdvertToClipboard => 'Kopiuj ogłoszenie do schowka'; + String get contacts_copyAdvertToClipboard => 'Kopiuj ogÅ‚oszenie do schowka'; @override String get contacts_addContactFromClipboard => 'Dodaj kontakt z schowka'; @@ -3028,35 +3035,35 @@ class AppLocalizationsPl extends AppLocalizations { @override String get contacts_ShareContactZeroHop => - 'Udostępnij kontakt przez ogłoszenie'; + 'UdostÄ™pnij kontakt przez ogÅ‚oszenie'; @override String get contacts_zeroHopContactAdvertSent => - 'Wysłano kontakt przez ogłoszenie.'; + 'WysÅ‚ano kontakt przez ogÅ‚oszenie.'; @override String get contacts_zeroHopContactAdvertFailed => - 'Nie udało się wysłać kontaktu.'; + 'Nie udaÅ‚o siÄ™ wysÅ‚ać kontaktu.'; @override String get contacts_contactAdvertCopied => 'Reklama skopiowana do schowka.'; @override String get contacts_contactAdvertCopyFailed => - 'Kopiowanie ogłoszenia do schowka nie powiodło się.'; + 'Kopiowanie ogÅ‚oszenia do schowka nie powiodÅ‚o siÄ™.'; @override - String get notification_activityTitle => 'Aktywność MeshCore'; + String get notification_activityTitle => 'Aktywność MeshCore'; @override String notification_messagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'wiadomości', - many: 'wiadomości', - few: 'wiadomości', - one: 'wiadomość', + other: 'wiadomoÅ›ci', + many: 'wiadomoÅ›ci', + few: 'wiadomoÅ›ci', + one: 'wiadomość', ); return '$count $_temp0'; } @@ -3066,10 +3073,10 @@ class AppLocalizationsPl extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'wiadomości kanału', - many: 'wiadomości kanału', - few: 'wiadomości kanału', - one: 'wiadomość kanału', + other: 'wiadomoÅ›ci kanaÅ‚u', + many: 'wiadomoÅ›ci kanaÅ‚u', + few: 'wiadomoÅ›ci kanaÅ‚u', + one: 'wiadomość kanaÅ‚u', ); return '$count $_temp0'; } @@ -3079,10 +3086,10 @@ class AppLocalizationsPl extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'nowych węzłów', - many: 'nowych węzłów', - few: 'nowe węzły', - one: 'nowy węzeł', + other: 'nowych wÄ™złów', + many: 'nowych wÄ™złów', + few: 'nowe wÄ™zÅ‚y', + one: 'nowy wÄ™zeÅ‚', ); return '$count $_temp0'; } @@ -3093,53 +3100,55 @@ class AppLocalizationsPl extends AppLocalizations { } @override - String get notification_receivedNewMessage => 'Otrzymano nową wiadomość'; + String get notification_receivedNewMessage => 'Otrzymano nowÄ… wiadomość'; @override String get settings_gpxExportRepeaters => - 'Eksportuj powtórki / serwer pokojowy do GPX'; + 'Eksportuj powtórki / serwer pokojowy do GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Eksportuje powtarzacze / roomserver z lokalizacją do pliku GPX.'; + 'Eksportuje powtarzacze / roomserver z lokalizacjÄ… do pliku GPX.'; @override String get settings_gpxExportContacts => 'Eksportuj towarzyszy do GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Eksportuje towarzyszy z lokalizacją do pliku GPX.'; + 'Eksportuje towarzyszy z lokalizacjÄ… do pliku GPX.'; @override String get settings_gpxExportAll => 'Eksportuj wszystkie kontakty do GPX'; @override String get settings_gpxExportAllSubtitle => - 'Eksportuje wszystkie kontakty z lokalizacją do pliku GPX.'; + 'Eksportuje wszystkie kontakty z lokalizacjÄ… do pliku GPX.'; @override - String get settings_gpxExportSuccess => 'Pomyślnie wyeksportowano plik GPX.'; + String get settings_gpxExportSuccess => 'PomyÅ›lnie wyeksportowano plik GPX.'; @override String get settings_gpxExportNoContacts => - 'Brak kontaktów do wyeksportowania.'; + 'Brak kontaktów do wyeksportowania.'; @override String get settings_gpxExportNotAvailable => - 'Nie obsługiwane na Twoim urządzeniu/systemie operacyjnym'; + 'Nie obsÅ‚ugiwane na Twoim urzÄ…dzeniu/systemie operacyjnym'; @override - String get settings_gpxExportError => 'Wystąpił błąd podczas eksportowania.'; + String get settings_gpxExportError => + 'WystÄ…piÅ‚ błąd podczas eksportowania.'; @override String get settings_gpxExportRepeatersRoom => - 'Lokalizacje serwerów powtarzających i pomieszczeń'; + 'Lokalizacje serwerów powtarzajÄ…cych i pomieszczeÅ„'; @override String get settings_gpxExportChat => 'Lokalizacje towarzyszy'; @override - String get settings_gpxExportAllContacts => 'Wszystkie lokalizacje kontaktów'; + String get settings_gpxExportAllContacts => + 'Wszystkie lokalizacje kontaktów'; @override String get settings_gpxExportShareText => @@ -3150,7 +3159,7 @@ class AppLocalizationsPl extends AppLocalizations { 'Eksport danych mapy GPX meshcore-open'; @override - String get snrIndicator_nearByRepeaters => 'Nadajniki w pobliżu'; + String get snrIndicator_nearByRepeaters => 'Nadajniki w pobliżu'; @override String get snrIndicator_lastSeen => 'Ostatnio widziany'; diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index 1bf5647..2a2f9c2 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -48,7 +48,7 @@ class AppLocalizationsPt extends AppLocalizations { String get common_add => 'Adicionar'; @override - String get common_settings => 'Configurações'; + String get common_settings => 'Configurações'; @override String get common_disconnect => 'Desconectar'; @@ -93,7 +93,7 @@ class AppLocalizationsPt extends AppLocalizations { String get common_loading => 'Carregando...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsPt extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Escolha o método de conexão desejado.'; - - @override - String get connectionChoiceSubtitle => - 'Selecione a forma como você deseja acessar seu dispositivo MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,14 +119,14 @@ class AppLocalizationsPt extends AppLocalizations { @override String get usbScreenSubtitle => - 'Selecione o dispositivo serial detectado e conecte-o diretamente ao seu nó MeshCore.'; + 'Selecione o dispositivo serial detectado e conecte-o diretamente ao seu nó MeshCore.'; @override String get usbScreenStatus => 'Selecione um dispositivo USB'; @override String get usbScreenNote => - 'A comunicação serial USB está ativa em dispositivos Android e plataformas de desktop compatíveis.'; + 'A comunicação serial USB está ativa em dispositivos Android e plataformas de desktop compatíveis.'; @override String get usbScreenEmptyState => @@ -149,7 +142,7 @@ class AppLocalizationsPt extends AppLocalizations { String get scanner_disconnecting => 'Desconectando...'; @override - String get scanner_notConnected => 'Não está conectado'; + String get scanner_notConnected => 'Não está conectado'; @override String scanner_connectedTo(String deviceName) { @@ -165,7 +158,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String scanner_connectionFailed(String error) { - return 'Falha na conexão: $error'; + return 'Falha na conexão: $error'; } @override @@ -175,18 +168,18 @@ class AppLocalizationsPt extends AppLocalizations { String get scanner_scan => 'Digitalizar'; @override - String get scanner_bluetoothOff => 'Bluetooth está desativado'; + String get scanner_bluetoothOff => 'Bluetooth está desativado'; @override String get scanner_bluetoothOffMessage => 'Por favor, ative o Bluetooth para escanear por dispositivos.'; @override - String get scanner_chromeRequired => 'Navegador Chrome necessário'; + String get scanner_chromeRequired => 'Navegador Chrome necessário'; @override String get scanner_chromeRequiredMessage => - 'Esta aplicação web requer o Google Chrome ou um navegador baseado no Chromium para suporte de Bluetooth.'; + 'Esta aplicação web requer o Google Chrome ou um navegador baseado no Chromium para suporte de Bluetooth.'; @override String get scanner_enableBluetooth => 'Ative o Bluetooth'; @@ -198,66 +191,66 @@ class AppLocalizationsPt extends AppLocalizations { String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Configurações'; + String get settings_title => 'Configurações'; @override - String get settings_deviceInfo => 'Informações do Dispositivo'; + String get settings_deviceInfo => 'Informações do Dispositivo'; @override - String get settings_appSettings => 'Configurações do App'; + String get settings_appSettings => 'Configurações do App'; @override String get settings_appSettingsSubtitle => - 'Notificações, mensagens e preferências de mapa'; + 'Notificações, mensagens e preferências de mapa'; @override - String get settings_nodeSettings => 'Configurações do Nó'; + String get settings_nodeSettings => 'Configurações do Nó'; @override - String get settings_nodeName => 'Nome do Nó'; + String get settings_nodeName => 'Nome do Nó'; @override - String get settings_nodeNameNotSet => 'Não definido'; + String get settings_nodeNameNotSet => 'Não definido'; @override - String get settings_nodeNameHint => 'Insira o nome do nó'; + String get settings_nodeNameHint => 'Insira o nome do nó'; @override String get settings_nodeNameUpdated => 'Nome atualizado'; @override - String get settings_radioSettings => 'Configurações de Rádio'; + String get settings_radioSettings => 'Configurações de Rádio'; @override String get settings_radioSettingsSubtitle => - 'Frequência, potência, fator de espalhamento'; + 'Frequência, potência, fator de espalhamento'; @override String get settings_radioSettingsUpdated => - 'Configurações de rádio atualizadas'; + 'Configurações de rádio atualizadas'; @override - String get settings_location => 'Localização'; + String get settings_location => 'Localização'; @override String get settings_locationSubtitle => 'Coordenadas GPS'; @override - String get settings_locationUpdated => 'Localização atualizada'; + String get settings_locationUpdated => 'Localização atualizada'; @override String get settings_locationBothRequired => 'Insira a latitude e a longitude.'; @override - String get settings_locationInvalid => 'Latitude ou longitude inválidos.'; + String get settings_locationInvalid => 'Latitude ou longitude inválidos.'; @override String get settings_locationGPSEnable => 'Ativar GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Habilita a atualização automática da localização via GPS.'; + 'Habilita a atualização automática da localização via GPS.'; @override String get settings_locationIntervalSec => 'Intervalo para GPS (Segundos)'; @@ -277,11 +270,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_privacyModeSubtitle => - 'Esconder nome/localização em anúncios'; + 'Esconder nome/localização em anúncios'; @override String get settings_privacyModeToggle => - 'Ative o modo de privacidade para ocultar seu nome e localização em anúncios.'; + 'Ative o modo de privacidade para ocultar seu nome e localização em anúncios.'; @override String get settings_privacyModeEnabled => 'Modo de privacidade ativado'; @@ -290,24 +283,24 @@ class AppLocalizationsPt extends AppLocalizations { String get settings_privacyModeDisabled => 'Modo de privacidade desativado'; @override - String get settings_actions => 'Ações'; + String get settings_actions => 'Ações'; @override String get settings_sendAdvertisement => 'Enviar Publicidade'; @override String get settings_sendAdvertisementSubtitle => - 'Presença de transmissão agora'; + 'Presença de transmissão agora'; @override - String get settings_advertisementSent => 'Anúncio enviado'; + String get settings_advertisementSent => 'Anúncio enviado'; @override - String get settings_syncTime => 'Tempo de Sincronização'; + String get settings_syncTime => 'Tempo de Sincronização'; @override String get settings_syncTimeSubtitle => - 'Definir o relógio do dispositivo para o horário do telefone'; + 'Definir o relógio do dispositivo para o horário do telefone'; @override String get settings_timeSynchronized => 'Sincronizado com o tempo'; @@ -328,24 +321,24 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_rebootDeviceConfirm => - 'Tem certeza de que deseja reiniciar o dispositivo? Você será desconectado.'; + 'Tem certeza de que deseja reiniciar o dispositivo? Você será desconectado.'; @override String get settings_debug => 'Depurar'; @override - String get settings_bleDebugLog => 'Log de Depuração BLE'; + String get settings_bleDebugLog => 'Log de Depuração BLE'; @override String get settings_bleDebugLogSubtitle => 'Comandos, respostas e dados brutos do BLE'; @override - String get settings_appDebugLog => 'Log de Depuração do Aplicativo'; + String get settings_appDebugLog => 'Log de Depuração do Aplicativo'; @override String get settings_appDebugLogSubtitle => - 'Mensagens de depuração do aplicativo'; + 'Mensagens de depuração do aplicativo'; @override String get settings_about => 'Sobre'; @@ -356,15 +349,16 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get settings_aboutLegalese => 'Projeto MeshCore de Código Aberto 2024'; + String get settings_aboutLegalese => + 'Projeto MeshCore de Código Aberto 2024'; @override String get settings_aboutDescription => - 'Um cliente Flutter de código aberto para dispositivos de rede mesh LoRa Core da MeshCore.'; + 'Um cliente Flutter de código aberto para dispositivos de rede mesh LoRa Core da MeshCore.'; @override String get settings_aboutOpenMeteoAttribution => - 'Dados de elevação LOS: Open-Meteo (CC BY 4.0)'; + 'Dados de elevação LOS: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Nome'; @@ -379,46 +373,47 @@ class AppLocalizationsPt extends AppLocalizations { String get settings_infoBattery => 'Bateria'; @override - String get settings_infoPublicKey => 'Chave Pública'; + String get settings_infoPublicKey => 'Chave Pública'; @override - String get settings_infoContactsCount => 'Número de Contatos'; + String get settings_infoContactsCount => 'Número de Contatos'; @override - String get settings_infoChannelCount => 'Número do Canal'; + String get settings_infoChannelCount => 'Número do Canal'; @override String get settings_presets => 'Presets'; @override - String get settings_frequency => 'Frequência (MHz)'; + String get settings_frequency => 'Frequência (MHz)'; @override String get settings_frequencyHelper => '300,0 - 2500,0'; @override - String get settings_frequencyInvalid => 'Frequência inválida (300-2500 MHz)'; + String get settings_frequencyInvalid => + 'Frequência inválida (300-2500 MHz)'; @override String get settings_bandwidth => 'Largura de banda'; @override - String get settings_spreadingFactor => 'Fator de Dispersão'; + String get settings_spreadingFactor => 'Fator de Dispersão'; @override - String get settings_codingRate => 'Taxa de Codificação'; + String get settings_codingRate => 'Taxa de Codificação'; @override - String get settings_txPower => 'TX Potência (dBm)'; + String get settings_txPower => 'TX Potência (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Potência de TX inválida (0-22 dBm)'; + String get settings_txPowerInvalid => 'Potência de TX inválida (0-22 dBm)'; @override - String get settings_clientRepeat => 'Repetição sem rede'; + String get settings_clientRepeat => 'Repetição sem rede'; @override String get settings_clientRepeatSubtitle => @@ -426,7 +421,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_clientRepeatFreqWarning => - 'A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.'; + 'A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.'; @override String settings_error(String message) { @@ -434,16 +429,16 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get appSettings_title => 'Configurações do App'; + String get appSettings_title => 'Configurações do App'; @override - String get appSettings_appearance => 'Aparência'; + String get appSettings_appearance => 'Aparência'; @override String get appSettings_theme => 'Tema'; @override - String get appSettings_themeSystem => 'Padrão do sistema'; + String get appSettings_themeSystem => 'Padrão do sistema'; @override String get appSettings_themeLight => 'Luz'; @@ -455,16 +450,16 @@ class AppLocalizationsPt extends AppLocalizations { String get appSettings_language => 'Idioma'; @override - String get appSettings_languageSystem => 'Padrão do sistema'; + String get appSettings_languageSystem => 'Padrão do sistema'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -473,16 +468,16 @@ class AppLocalizationsPt extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -491,10 +486,10 @@ class AppLocalizationsPt extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Russo'; @@ -511,87 +506,87 @@ class AppLocalizationsPt extends AppLocalizations { 'Mostrar metadados detalhados de roteamento e tempo para as mensagens'; @override - String get appSettings_notifications => 'Notificações'; + String get appSettings_notifications => 'Notificações'; @override - String get appSettings_enableNotifications => 'Ativar Notificações'; + String get appSettings_enableNotifications => 'Ativar Notificações'; @override String get appSettings_enableNotificationsSubtitle => - 'Receber notificações para mensagens e anúncios'; + 'Receber notificações para mensagens e anúncios'; @override String get appSettings_notificationPermissionDenied => - 'Permissão de notificação negada'; + 'Permissão de notificação negada'; @override - String get appSettings_notificationsEnabled => 'Notificações ativadas'; + String get appSettings_notificationsEnabled => 'Notificações ativadas'; @override - String get appSettings_notificationsDisabled => 'Notificações desativadas'; + String get appSettings_notificationsDisabled => 'Notificações desativadas'; @override - String get appSettings_messageNotifications => 'Notificações de Mensagem'; + String get appSettings_messageNotifications => 'Notificações de Mensagem'; @override String get appSettings_messageNotificationsSubtitle => - 'Mostrar notificação ao receber novas mensagens'; + 'Mostrar notificação ao receber novas mensagens'; @override String get appSettings_channelMessageNotifications => - 'Notificações de Mensagens do Canal'; + 'Notificações de Mensagens do Canal'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Mostrar notificação ao receber mensagens do canal'; + 'Mostrar notificação ao receber mensagens do canal'; @override String get appSettings_advertisementNotifications => - 'Notificações de Anúncios'; + 'Notificações de Anúncios'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Mostrar notificação quando novos nós forem descobertos'; + 'Mostrar notificação quando novos nós forem descobertos'; @override String get appSettings_messaging => 'Mensagens'; @override String get appSettings_clearPathOnMaxRetry => - 'Limpar Caminho em Tentativas Máximas'; + 'Limpar Caminho em Tentativas Máximas'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Redefinir o caminho de contato após 5 tentativas de envio falhas'; + 'Redefinir o caminho de contato após 5 tentativas de envio falhas'; @override String get appSettings_pathsWillBeCleared => - 'Os caminhos serão limpos após 5 tentativas falhas.'; + 'Os caminhos serão limpos após 5 tentativas falhas.'; @override String get appSettings_pathsWillNotBeCleared => - 'Os caminhos não serão limpos automaticamente.'; + 'Os caminhos não serão limpos automaticamente.'; @override - String get appSettings_autoRouteRotation => 'Rotação de Rota Automática'; + String get appSettings_autoRouteRotation => 'Rotação de Rota Automática'; @override String get appSettings_autoRouteRotationSubtitle => - 'Alternar entre os melhores caminhos e o modo inundação'; + 'Alternar entre os melhores caminhos e o modo inundação'; @override String get appSettings_autoRouteRotationEnabled => - 'Rotação de roteamento automático habilitada'; + 'Rotação de roteamento automático habilitada'; @override String get appSettings_autoRouteRotationDisabled => - 'Rotação de roteamento automático desativada'; + 'Rotação de roteamento automático desativada'; @override String get appSettings_battery => 'Bateria'; @override - String get appSettings_batteryChemistry => 'Química da Bateria'; + String get appSettings_batteryChemistry => 'Química da Bateria'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { @@ -612,37 +607,37 @@ class AppLocalizationsPt extends AppLocalizations { String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)'; @override - String get appSettings_mapDisplay => 'Exibição do Mapa'; + String get appSettings_mapDisplay => 'Exibição do Mapa'; @override String get appSettings_showRepeaters => 'Mostrar Repetidores'; @override String get appSettings_showRepeatersSubtitle => - 'Exibir nós de repetidor no mapa'; + 'Exibir nós de repetidor no mapa'; @override - String get appSettings_showChatNodes => 'Mostrar Nós de Chat'; + String get appSettings_showChatNodes => 'Mostrar Nós de Chat'; @override - String get appSettings_showChatNodesSubtitle => 'Exibir nós de chat no mapa'; + String get appSettings_showChatNodesSubtitle => 'Exibir nós de chat no mapa'; @override - String get appSettings_showOtherNodes => 'Mostrar Outros Nós'; + String get appSettings_showOtherNodes => 'Mostrar Outros Nós'; @override String get appSettings_showOtherNodesSubtitle => - 'Exibir outros tipos de nó no mapa'; + 'Exibir outros tipos de nó no mapa'; @override String get appSettings_timeFilter => 'Filtro de Tempo'; @override - String get appSettings_timeFilterShowAll => 'Mostrar todos os nós'; + String get appSettings_timeFilterShowAll => 'Mostrar todos os nós'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Mostrar nós das últimas $hours horas'; + return 'Mostrar nós das últimas $hours horas'; } @override @@ -650,22 +645,22 @@ class AppLocalizationsPt extends AppLocalizations { @override String get appSettings_showNodesDiscoveredWithin => - 'Mostrar nós descobertos dentro de:'; + 'Mostrar nós descobertos dentro de:'; @override String get appSettings_allTime => 'Todos os tempos'; @override - String get appSettings_lastHour => 'Última hora'; + String get appSettings_lastHour => 'Última hora'; @override - String get appSettings_last6Hours => 'Últimos 6 horas'; + String get appSettings_last6Hours => 'Últimos 6 horas'; @override - String get appSettings_last24Hours => 'Últimas 24 horas'; + String get appSettings_last24Hours => 'Últimas 24 horas'; @override - String get appSettings_lastWeek => 'Da última semana'; + String get appSettings_lastWeek => 'Da última semana'; @override String get appSettings_offlineMapCache => 'Cache de Mapa Offline'; @@ -674,17 +669,17 @@ class AppLocalizationsPt extends AppLocalizations { String get appSettings_unitsTitle => 'Unidades'; @override - String get appSettings_unitsMetric => 'Métrico (m/km)'; + String get appSettings_unitsMetric => 'Métrico (m/km)'; @override String get appSettings_unitsImperial => 'Imperial (ft/mi)'; @override - String get appSettings_noAreaSelected => 'Nenhuma área selecionada'; + String get appSettings_noAreaSelected => 'Nenhuma área selecionada'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Área selecionada (zoom $minZoom-$maxZoom)'; + return 'Área selecionada (zoom $minZoom-$maxZoom)'; } @override @@ -692,32 +687,32 @@ class AppLocalizationsPt extends AppLocalizations { @override String get appSettings_appDebugLogging => - 'Rastreamento de Depuração do Aplicativo'; + 'Rastreamento de Depuração do Aplicativo'; @override String get appSettings_appDebugLoggingSubtitle => - 'Registrar mensagens de depuração do aplicativo Log para solucionar problemas'; + 'Registrar mensagens de depuração do aplicativo Log para solucionar problemas'; @override String get appSettings_appDebugLoggingEnabled => - 'Log de depuração do aplicativo habilitado'; + 'Log de depuração do aplicativo habilitado'; @override String get appSettings_appDebugLoggingDisabled => - 'O registro de depuração do aplicativo está desativado.'; + 'O registro de depuração do aplicativo está desativado.'; @override String get contacts_title => 'Contactos'; @override - String get contacts_noContacts => 'Ainda não existem contatos.'; + String get contacts_noContacts => 'Ainda não existem contatos.'; @override String get contacts_contactsWillAppear => - 'Os contatos serão exibidos quando os dispositivos anunciarem.'; + 'Os contatos serão exibidos quando os dispositivos anunciarem.'; @override - String get contacts_unread => 'Não lido'; + String get contacts_unread => 'Não lido'; @override String get contacts_searchContactsNoNumber => 'Pesquisar Contatos...'; @@ -734,7 +729,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String contacts_searchUsers(int number, String str) { - return 'Pesquisar $number$str Usuários...'; + return 'Pesquisar $number$str Usuários...'; } @override @@ -748,11 +743,11 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get contacts_noUnreadContacts => 'Sem contatos não lidos.'; + String get contacts_noUnreadContacts => 'Sem contatos não lidos.'; @override String get contacts_noContactsFound => - 'Não foram encontrados contatos ou grupos.'; + 'Não foram encontrados contatos ou grupos.'; @override String get contacts_deleteContact => 'Excluir Contato'; @@ -792,11 +787,11 @@ class AppLocalizationsPt extends AppLocalizations { String get contacts_groupName => 'Nome do grupo'; @override - String get contacts_groupNameRequired => 'O nome do grupo é obrigatório.'; + String get contacts_groupNameRequired => 'O nome do grupo é obrigatório.'; @override String contacts_groupAlreadyExists(String name) { - return 'O grupo \"$name\" já existe'; + return 'O grupo \"$name\" já existe'; } @override @@ -804,43 +799,46 @@ class AppLocalizationsPt extends AppLocalizations { @override String get contacts_noContactsMatchFilter => - 'Não existem contatos que correspondam ao seu filtro'; + 'Não existem contatos que correspondam ao seu filtro'; @override String get contacts_noMembers => 'Nenhum membro'; @override - String get contacts_lastSeenNow => 'Última vez que foi visto agora'; + String get contacts_lastSeenNow => 'Última vez que foi visto agora'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Última vez que foi visto $minutes minutos atrás'; + return 'Última vez que foi visto $minutes minutos atrás'; } @override - String get contacts_lastSeenHourAgo => 'Última vez que foi visto há 1 hora.'; + String get contacts_lastSeenHourAgo => + 'Última vez que foi visto há 1 hora.'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Última vez visto $hours horas atrás'; + return 'Última vez visto $hours horas atrás'; } @override - String get contacts_lastSeenDayAgo => 'Última vez que foi visto 1 dia atrás'; + String get contacts_lastSeenDayAgo => + 'Última vez que foi visto 1 dia atrás'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Última vez visto $days dias atrás'; + return 'Última vez visto $days dias atrás'; } @override String get channels_title => 'Canais'; @override - String get channels_noChannelsConfigured => 'Nenhuma canalização configurada'; + String get channels_noChannelsConfigured => + 'Nenhuma canalização configurada'; @override - String get channels_addPublicChannel => 'Adicionar Canal Público'; + String get channels_addPublicChannel => 'Adicionar Canal Público'; @override String get channels_searchChannels => 'Pesquisar canais...'; @@ -857,13 +855,13 @@ class AppLocalizationsPt extends AppLocalizations { String get channels_hashtagChannel => 'Canal com hashtag'; @override - String get channels_public => 'Público'; + String get channels_public => 'Público'; @override String get channels_private => 'Privado'; @override - String get channels_publicChannel => 'Canal público'; + String get channels_publicChannel => 'Canal público'; @override String get channels_privateChannel => 'Canal privado'; @@ -882,7 +880,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String channels_deleteChannelConfirm(String name) { - return 'Excluir \"$name\"? Não pode ser desfeito.'; + return 'Excluir \"$name\"? Não pode ser desfeito.'; } @override @@ -892,29 +890,29 @@ class AppLocalizationsPt extends AppLocalizations { @override String channels_channelDeleted(String name) { - return 'Canal \"$name\" excluído'; + return 'Canal \"$name\" excluído'; } @override String get channels_addChannel => 'Adicionar Canal'; @override - String get channels_channelIndexLabel => 'Índice do Canal'; + String get channels_channelIndexLabel => 'Índice do Canal'; @override String get channels_channelName => 'Nome do Canal'; @override - String get channels_usePublicChannel => 'Usar Canal Público'; + String get channels_usePublicChannel => 'Usar Canal Público'; @override - String get channels_standardPublicPsk => 'PSK público padrão'; + String get channels_standardPublicPsk => 'PSK público padrão'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Gerar PSK aleatório'; + String get channels_generateRandomPsk => 'Gerar PSK aleatório'; @override String get channels_enterChannelName => 'Por favor, insira um nome de canal'; @@ -934,7 +932,7 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get channels_smazCompression => 'Compressão SMAZ'; + String get channels_smazCompression => 'Compressão SMAZ'; @override String channels_channelUpdated(String name) { @@ -942,7 +940,7 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get channels_publicChannelAdded => 'Canal público adicionado'; + String get channels_publicChannelAdded => 'Canal público adicionado'; @override String get channels_sortBy => 'Ordenar por'; @@ -954,10 +952,10 @@ class AppLocalizationsPt extends AppLocalizations { String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Últimas mensagens'; + String get channels_sortLatestMessages => 'Últimas mensagens'; @override - String get channels_sortUnread => 'Não lido'; + String get channels_sortUnread => 'Não lido'; @override String get channels_createPrivateChannel => 'Criar um Canal Privado'; @@ -974,7 +972,7 @@ class AppLocalizationsPt extends AppLocalizations { 'Inserir uma chave secreta manualmente.'; @override - String get channels_joinPublicChannel => 'Junte-se ao Canal Público'; + String get channels_joinPublicChannel => 'Junte-se ao Canal Público'; @override String get channels_joinPublicChannelDesc => @@ -988,7 +986,7 @@ class AppLocalizationsPt extends AppLocalizations { 'Qualquer pessoa pode participar de canais com hashtag.'; @override - String get channels_scanQrCode => 'Digitalizar um Código QR'; + String get channels_scanQrCode => 'Digitalizar um Código QR'; @override String get channels_scanQrCodeComingSoon => 'Em breve'; @@ -1000,13 +998,14 @@ class AppLocalizationsPt extends AppLocalizations { String get channels_hashtagHint => 'ex. #equipe'; @override - String get chat_noMessages => 'Ainda não existem mensagens.'; + String get chat_noMessages => 'Ainda não existem mensagens.'; @override - String get chat_sendMessageToStart => 'Enviar uma mensagem para começar'; + String get chat_sendMessageToStart => 'Enviar uma mensagem para começar'; @override - String get chat_originalMessageNotFound => 'Mensagem original não encontrada'; + String get chat_originalMessageNotFound => + 'Mensagem original não encontrada'; @override String chat_replyingTo(String name) { @@ -1019,7 +1018,7 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get chat_location => 'Localização'; + String get chat_location => 'Localização'; @override String chat_sendMessageTo(String contactName) { @@ -1031,14 +1030,14 @@ class AppLocalizationsPt extends AppLocalizations { @override String chat_messageTooLong(int maxBytes) { - return 'Mensagem muito longa (máximo $maxBytes bytes).'; + return 'Mensagem muito longa (máximo $maxBytes bytes).'; } @override String get chat_messageCopied => 'Mensagem copiada'; @override - String get chat_messageDeleted => 'Mensagem excluída'; + String get chat_messageDeleted => 'Mensagem excluída'; @override String get chat_retryingMessage => 'Tentando novamente'; @@ -1055,7 +1054,7 @@ class AppLocalizationsPt extends AppLocalizations { String get chat_reply => 'Responder'; @override - String get chat_addReaction => 'Adicionar Reação'; + String get chat_addReaction => 'Adicionar Reação'; @override String get chat_me => 'Eu'; @@ -1067,7 +1066,7 @@ class AppLocalizationsPt extends AppLocalizations { String get emojiCategoryGestures => 'Gestos'; @override - String get emojiCategoryHearts => 'Corações'; + String get emojiCategoryHearts => 'Corações'; @override String get emojiCategoryObjects => 'Objetos'; @@ -1085,19 +1084,19 @@ class AppLocalizationsPt extends AppLocalizations { String get gifPicker_noGifsFound => 'Nenhum GIF encontrado'; @override - String get gifPicker_failedLoad => 'Não foi possível carregar os GIFs'; + String get gifPicker_failedLoad => 'Não foi possível carregar os GIFs'; @override String get gifPicker_failedSearch => 'Falha na pesquisa de GIFs'; @override - String get gifPicker_noInternet => 'Sem conexão com a internet'; + String get gifPicker_noInternet => 'Sem conexão com a internet'; @override - String get debugLog_appTitle => 'Log de Depuração do Aplicativo'; + String get debugLog_appTitle => 'Log de Depuração do Aplicativo'; @override - String get debugLog_bleTitle => 'Log de Depuração BLE'; + String get debugLog_bleTitle => 'Log de Depuração BLE'; @override String get debugLog_copyLog => 'Copiar log'; @@ -1106,17 +1105,17 @@ class AppLocalizationsPt extends AppLocalizations { String get debugLog_clearLog => 'Limpar log'; @override - String get debugLog_copied => 'Log de depuração copiado'; + String get debugLog_copied => 'Log de depuração copiado'; @override String get debugLog_bleCopied => 'Log BLE copiado'; @override - String get debugLog_noEntries => 'Ainda não existem logs de depuração.'; + String get debugLog_noEntries => 'Ainda não existem logs de depuração.'; @override String get debugLog_enableInSettings => - 'Ativar o log de depuração do aplicativo nas configurações'; + 'Ativar o log de depuração do aplicativo nas configurações'; @override String get debugLog_frames => 'Estruturas'; @@ -1125,7 +1124,7 @@ class AppLocalizationsPt extends AppLocalizations { String get debugLog_rawLogRx => 'Log Raw-RX'; @override - String get debugLog_noBleActivity => 'Ainda não há atividade BLE.'; + String get debugLog_noBleActivity => 'Ainda não há atividade BLE.'; @override String debugFrame_length(int count) { @@ -1172,7 +1171,7 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get debugFrame_hexDump => 'Espaço Hexadecimal:'; + String get debugFrame_hexDump => 'Espaço Hexadecimal:'; @override String get chat_pathManagement => 'Gerenciamento de Caminhos'; @@ -1187,14 +1186,14 @@ class AppLocalizationsPt extends AppLocalizations { String get chat_autoUseSavedPath => 'Auto (usar caminho salvo)'; @override - String get chat_forceFloodMode => 'Modo de Inundação Forçado'; + String get chat_forceFloodMode => 'Modo de Inundação Forçado'; @override String get chat_recentAckPaths => 'Rotas de ACK Recentes (toque para usar):'; @override String get chat_pathHistoryFull => - 'O histórico está cheio. Remova entradas para adicionar novas.'; + 'O histórico está cheio. Remova entradas para adicionar novas.'; @override String get chat_hopSingular => 'pule'; @@ -1221,10 +1220,10 @@ class AppLocalizationsPt extends AppLocalizations { @override String get chat_noPathHistoryYet => - 'Ainda não há histórico de caminhos.\nEnvie uma mensagem para descobrir caminhos.'; + 'Ainda não há histórico de caminhos.\nEnvie uma mensagem para descobrir caminhos.'; @override - String get chat_pathActions => 'Ações do Caminho:'; + String get chat_pathActions => 'Ações do Caminho:'; @override String get chat_setCustomPath => 'Definir Caminho Personalizado'; @@ -1238,11 +1237,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get chat_clearPathSubtitle => - 'Forçar a descoberta na próxima transmissão'; + 'Forçar a descoberta na próxima transmissão'; @override String get chat_pathCleared => - 'Caminho limpo. A próxima mensagem redescobrirá a rota.'; + 'Caminho limpo. A próxima mensagem redescobrirá a rota.'; @override String get chat_floodModeSubtitle => @@ -1250,14 +1249,14 @@ class AppLocalizationsPt extends AppLocalizations { @override String get chat_floodModeEnabled => - 'Modo de inundação ativado. Desative-o novamente através do ícone de roteamento na barra de ferramentas.'; + 'Modo de inundação ativado. Desative-o novamente através do ícone de roteamento na barra de ferramentas.'; @override String get chat_fullPath => 'Caminho Completo'; @override String get chat_pathDetailsNotAvailable => - 'Os detalhes do caminho ainda não estão disponíveis. Tente enviar uma mensagem para atualizar.'; + 'Os detalhes do caminho ainda não estão disponíveis. Tente enviar uma mensagem para atualizar.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1278,7 +1277,8 @@ class AppLocalizationsPt extends AppLocalizations { String get chat_pathDeviceConfirmed => 'Dispositivo confirmado.'; @override - String get chat_pathDeviceNotConfirmed => 'Dispositivo ainda não confirmado.'; + String get chat_pathDeviceNotConfirmed => + 'Dispositivo ainda não confirmado.'; @override String get chat_type => 'Digite'; @@ -1287,24 +1287,24 @@ class AppLocalizationsPt extends AppLocalizations { String get chat_path => 'Caminho'; @override - String get chat_publicKey => 'Chave Pública'; + String get chat_publicKey => 'Chave Pública'; @override String get chat_compressOutgoingMessages => 'Comprimir mensagens enviadas'; @override - String get chat_floodForced => 'Inundação (forçada)'; + String get chat_floodForced => 'Inundação (forçada)'; @override - String get chat_directForced => 'Direto (forçado)'; + String get chat_directForced => 'Direto (forçado)'; @override String chat_hopsForced(int count) { - return '$count saltos (forçado)'; + return '$count saltos (forçado)'; } @override - String get chat_floodAuto => 'Inundação (automática)'; + String get chat_floodAuto => 'Inundação (automática)'; @override String get chat_direct => 'Salvar'; @@ -1314,7 +1314,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String chat_unread(int count) { - return 'Não lido: $count'; + return 'Não lido: $count'; } @override @@ -1329,32 +1329,32 @@ class AppLocalizationsPt extends AppLocalizations { @override String chat_couldNotOpenLink(String url) { - return 'Não foi possível abrir o link: $url'; + return 'Não foi possível abrir o link: $url'; } @override - String get chat_invalidLink => 'Formato de link inválido'; + String get chat_invalidLink => 'Formato de link inválido'; @override - String get map_title => 'Mapa de Nós'; + String get map_title => 'Mapa de Nós'; @override - String get map_lineOfSight => 'Linha de visão'; + String get map_lineOfSight => 'Linha de visão'; @override - String get map_losScreenTitle => 'Linha de visão'; + String get map_losScreenTitle => 'Linha de visão'; @override String get map_noNodesWithLocation => - 'Não existem nós com dados de localização.'; + 'Não existem nós com dados de localização.'; @override String get map_nodesNeedGps => - 'Os nós precisam partilhar as suas coordenadas GPS\npara aparecerem no mapa'; + 'Os nós precisam partilhar as suas coordenadas GPS\npara aparecerem no mapa'; @override String map_nodesCount(int count) { - return 'Nós: $count'; + return 'Nós: $count'; } @override @@ -1381,10 +1381,10 @@ class AppLocalizationsPt extends AppLocalizations { String get map_pinPrivate => 'Bloquear (Privado)'; @override - String get map_pinPublic => 'Pin (Público)'; + String get map_pinPublic => 'Pin (Público)'; @override - String get map_lastSeen => 'Última Visão'; + String get map_lastSeen => 'Última Visão'; @override String get map_disconnectConfirm => @@ -1403,10 +1403,10 @@ class AppLocalizationsPt extends AppLocalizations { String get map_shareMarkerHere => 'Compartilhar marcador aqui'; @override - String get map_pinLabel => 'Rótulo de marcador'; + String get map_pinLabel => 'Rótulo de marcador'; @override - String get map_label => 'Rótulo'; + String get map_label => 'Rótulo'; @override String get map_pointOfInterest => 'Ponto de interesse'; @@ -1418,14 +1418,14 @@ class AppLocalizationsPt extends AppLocalizations { String get map_sendToChannel => 'Enviar para o canal'; @override - String get map_noChannelsAvailable => 'Não existem canais disponíveis.'; + String get map_noChannelsAvailable => 'Não existem canais disponíveis.'; @override - String get map_publicLocationShare => 'Compartilhar local público'; + String get map_publicLocationShare => 'Compartilhar local público'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Você está prestes a compartilhar uma localização em $channelLabel. Este canal é público e qualquer pessoa com a PSK pode visualizá-lo.'; + return 'Você está prestes a compartilhar uma localização em $channelLabel. Este canal é público e qualquer pessoa com a PSK pode visualizá-lo.'; } @override @@ -1433,19 +1433,19 @@ class AppLocalizationsPt extends AppLocalizations { 'Conecte-se a um dispositivo para compartilhar marcadores'; @override - String get map_filterNodes => 'Filtrar Nós'; + String get map_filterNodes => 'Filtrar Nós'; @override - String get map_nodeTypes => 'Tipos de Nó'; + String get map_nodeTypes => 'Tipos de Nó'; @override - String get map_chatNodes => 'Nós de Chat'; + String get map_chatNodes => 'Nós de Chat'; @override String get map_repeaters => 'Repetidores'; @override - String get map_otherNodes => 'Outros Nós'; + String get map_otherNodes => 'Outros Nós'; @override String get map_keyPrefix => 'Prefixo Chave'; @@ -1454,7 +1454,7 @@ class AppLocalizationsPt extends AppLocalizations { String get map_filterByKeyPrefix => 'Filtrar por prefixo-chave'; @override - String get map_publicKeyPrefix => 'Prefixo de chave pública'; + String get map_publicKeyPrefix => 'Prefixo de chave pública'; @override String get map_markers => 'Marcadores'; @@ -1463,25 +1463,25 @@ class AppLocalizationsPt extends AppLocalizations { String get map_showSharedMarkers => 'Mostrar marcadores compartilhados'; @override - String get map_lastSeenTime => 'Último Tempo de Visualização'; + String get map_lastSeenTime => 'Último Tempo de Visualização'; @override String get map_sharedPin => 'Pin compartilhado'; @override - String get map_joinRoom => 'Junte-se à Sala'; + String get map_joinRoom => 'Junte-se à Sala'; @override String get map_manageRepeater => 'Gerenciar Repetidor'; @override - String get map_tapToAdd => 'Toque nos nós para adicioná-los ao caminho.'; + String get map_tapToAdd => 'Toque nos nós para adicioná-los ao caminho.'; @override - String get map_runTrace => 'Executar Traçado de Caminho'; + String get map_runTrace => 'Executar Traçado de Caminho'; @override - String get map_removeLast => 'Remover Último'; + String get map_removeLast => 'Remover Último'; @override String get map_pathTraceCancelled => 'Rastreamento de caminho cancelado.'; @@ -1491,11 +1491,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get mapCache_selectAreaFirst => - 'Selecione uma área para armazenar em cache primeiro'; + 'Selecione uma área para armazenar em cache primeiro'; @override String get mapCache_noTilesToDownload => - 'Não há tiles para baixar para esta área.'; + 'Não há tiles para baixar para esta área.'; @override String get mapCache_downloadTilesTitle => 'Baixar tiles'; @@ -1529,13 +1529,13 @@ class AppLocalizationsPt extends AppLocalizations { String get mapCache_offlineCacheCleared => 'Cache offline limpa'; @override - String get mapCache_noAreaSelected => 'Nenhuma área selecionada'; + String get mapCache_noAreaSelected => 'Nenhuma área selecionada'; @override - String get mapCache_cacheArea => 'Área de Cache'; + String get mapCache_cacheArea => 'Área de Cache'; @override - String get mapCache_useCurrentView => 'Usar a Visualização Atual'; + String get mapCache_useCurrentView => 'Usar a Visualização Atual'; @override String get mapCache_zoomRange => 'Intervalo de Zoom'; @@ -1576,17 +1576,17 @@ class AppLocalizationsPt extends AppLocalizations { @override String time_minutesAgo(int minutes) { - return '$minutes minutos atrás'; + return '$minutes minutos atrás'; } @override String time_hoursAgo(int hours) { - return '${hours}h atrás'; + return '${hours}h atrás'; } @override String time_daysAgo(int days) { - return '$days dias atrás'; + return '$days dias atrás'; } @override @@ -1608,7 +1608,7 @@ class AppLocalizationsPt extends AppLocalizations { String get time_weeks => 'semanas'; @override - String get time_month => 'mês'; + String get time_month => 'mês'; @override String get time_months => 'meses'; @@ -1643,15 +1643,15 @@ class AppLocalizationsPt extends AppLocalizations { @override String get login_savePasswordSubtitle => - 'A senha será armazenada com segurança neste dispositivo.'; + 'A senha será armazenada com segurança neste dispositivo.'; @override String get login_repeaterDescription => - 'Insira a senha do repetidor para acessar as configurações e o status.'; + 'Insira a senha do repetidor para acessar as configurações e o status.'; @override String get login_roomDescription => - 'Insira a senha da sala para acessar as configurações e o status.'; + 'Insira a senha da sala para acessar as configurações e o status.'; @override String get login_routing => 'Rotas'; @@ -1663,7 +1663,7 @@ class AppLocalizationsPt extends AppLocalizations { String get login_autoUseSavedPath => 'Auto (usar caminho salvo)'; @override - String get login_forceFloodMode => 'Modo de Inundação Forçado'; + String get login_forceFloodMode => 'Modo de Inundação Forçado'; @override String get login_managePaths => 'Gerenciar Caminhos'; @@ -1683,7 +1683,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get login_failedMessage => - 'Falha no login. A senha está incorreta ou o repetidor está inacessível.'; + 'Falha no login. A senha está incorreta ou o repetidor está inacessível.'; @override String get common_reload => 'Recarregar'; @@ -1715,38 +1715,38 @@ class AppLocalizationsPt extends AppLocalizations { @override String get path_hexPrefixInstructions => - 'Insira os prefixos hexadecimais de 2 caracteres para cada salto, separados por vírgulas.'; + 'Insira os prefixos hexadecimais de 2 caracteres para cada salto, separados por vírgulas.'; @override String get path_hexPrefixExample => - 'A1,F2,3C (cada nó usa o primeiro byte de sua chave pública)'; + 'A1,F2,3C (cada nó usa o primeiro byte de sua chave pública)'; @override String get path_labelHexPrefixes => 'Prefixo Hexadecimal'; @override String get path_helperMaxHops => - 'Máximo de 64 saltos. Cada prefixo tem 2 caracteres hexadecimais (1 byte)'; + 'Máximo de 64 saltos. Cada prefixo tem 2 caracteres hexadecimais (1 byte)'; @override String get path_selectFromContacts => 'Ou selecione de contatos:'; @override String get path_noRepeatersFound => - 'Não foram encontrados repetidores ou servidores de sala.'; + 'Não foram encontrados repetidores ou servidores de sala.'; @override String get path_customPathsRequire => - 'Caminhos personalizados exigem saltos intermediários que podem transmitir mensagens.'; + 'Caminhos personalizados exigem saltos intermediários que podem transmitir mensagens.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Prefixos hexadecimais inválidos: $prefixes'; + return 'Prefixos hexadecimais inválidos: $prefixes'; } @override String get path_tooLong => - 'Caminho muito longo. Máximo de 64 saltos permitidos.'; + 'Caminho muito longo. Máximo de 64 saltos permitidos.'; @override String get path_setPath => 'Definir Caminho'; @@ -1765,14 +1765,14 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_statusSubtitle => - 'Visualizar status do repetidor, estatísticas e vizinhos.'; + 'Visualizar status do repetidor, estatísticas e vizinhos.'; @override String get repeater_telemetry => 'Telemetria'; @override String get repeater_telemetrySubtitle => - 'Visualizar telemetria de sensores e estatísticas do sistema'; + 'Visualizar telemetria de sensores e estatísticas do sistema'; @override String get repeater_cli => 'CLI'; @@ -1787,10 +1787,10 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_neighborsSubtitle => 'Visualizar vizinhos de salto zero.'; @override - String get repeater_settings => 'Configurações'; + String get repeater_settings => 'Configurações'; @override - String get repeater_settingsSubtitle => 'Configurar parâmetros do repetidor'; + String get repeater_settingsSubtitle => 'Configurar parâmetros do repetidor'; @override String get repeater_statusTitle => 'Status do Repetidor'; @@ -1802,7 +1802,7 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_autoUseSavedPath => 'Auto (usar caminho salvo)'; @override - String get repeater_forceFloodMode => 'Modo de Inundação Forçado'; + String get repeater_forceFloodMode => 'Modo de Inundação Forçado'; @override String get repeater_pathManagement => 'Gerenciamento de caminhos'; @@ -1811,7 +1811,8 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_refresh => 'Atualizar'; @override - String get repeater_statusRequestTimeout => 'Solicitação de status expirou.'; + String get repeater_statusRequestTimeout => + 'Solicitação de status expirou.'; @override String repeater_errorLoadingStatus(String error) { @@ -1819,13 +1820,13 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get repeater_systemInformation => 'Informações do Sistema'; + String get repeater_systemInformation => 'Informações do Sistema'; @override String get repeater_battery => 'Bateria'; @override - String get repeater_clockAtLogin => 'Relógio (no login)'; + String get repeater_clockAtLogin => 'Relógio (no login)'; @override String get repeater_uptime => 'Disponibilidade'; @@ -1834,19 +1835,19 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_queueLength => 'Comprimento da Fila'; @override - String get repeater_debugFlags => 'Marcar Flags de Depuração'; + String get repeater_debugFlags => 'Marcar Flags de Depuração'; @override - String get repeater_radioStatistics => 'Estatísticas de Rádio'; + String get repeater_radioStatistics => 'Estatísticas de Rádio'; @override - String get repeater_lastRssi => 'Último RSSI'; + String get repeater_lastRssi => 'Último RSSI'; @override - String get repeater_lastSnr => 'Último SNR'; + String get repeater_lastSnr => 'Último SNR'; @override - String get repeater_noiseFloor => 'Nível de Ruído'; + String get repeater_noiseFloor => 'Nível de Ruído'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1855,7 +1856,7 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_rxAirtime => 'RX Airtime'; @override - String get repeater_packetStatistics => 'Estatísticas de Pacote'; + String get repeater_packetStatistics => 'Estatísticas de Pacote'; @override String get repeater_sent => 'Enviado'; @@ -1878,17 +1879,17 @@ class AppLocalizationsPt extends AppLocalizations { @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Total: $total, Inundação: $flood, Direto: $direct'; + return 'Total: $total, Inundação: $flood, Direto: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Total: $total, Inundação: $flood, Direto: $direct'; + return 'Total: $total, Inundação: $flood, Direto: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Inundação: $flood, Direto: $direct'; + return 'Inundação: $flood, Direto: $direct'; } @override @@ -1897,10 +1898,10 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Configurações do Repetidor'; + String get repeater_settingsTitle => 'Configurações do Repetidor'; @override - String get repeater_basicSettings => 'Configurações Básicas'; + String get repeater_basicSettings => 'Configurações Básicas'; @override String get repeater_repeaterName => 'Nome do Repetidor'; @@ -1922,10 +1923,10 @@ class AppLocalizationsPt extends AppLocalizations { 'Acesso com senha de leitura somente'; @override - String get repeater_radioSettings => 'Configurações de Rádio'; + String get repeater_radioSettings => 'Configurações de Rádio'; @override - String get repeater_frequencyMhz => 'Frequência (MHz)'; + String get repeater_frequencyMhz => 'Frequência (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @@ -1940,13 +1941,13 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_bandwidth => 'Largura de banda'; @override - String get repeater_spreadingFactor => 'Fator de Dispersão'; + String get repeater_spreadingFactor => 'Fator de Dispersão'; @override - String get repeater_codingRate => 'Taxa de Codificação'; + String get repeater_codingRate => 'Taxa de Codificação'; @override - String get repeater_locationSettings => 'Configurações de Localização'; + String get repeater_locationSettings => 'Configurações de Localização'; @override String get repeater_latitude => 'Latitude'; @@ -1983,13 +1984,13 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_privacyModeSubtitle => - 'Esconder nome/localização em anúncios'; + 'Esconder nome/localização em anúncios'; @override - String get repeater_advertisementSettings => 'Configurações de Anúncios'; + String get repeater_advertisementSettings => 'Configurações de Anúncios'; @override - String get repeater_localAdvertInterval => 'Intervalo de Anúncio Local'; + String get repeater_localAdvertInterval => 'Intervalo de Anúncio Local'; @override String repeater_localAdvertIntervalMinutes(int minutes) { @@ -1998,7 +1999,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Intervalo de Anúncio de Inundação'; + 'Intervalo de Anúncio de Inundação'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -2007,7 +2008,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_encryptedAdvertInterval => - 'Intervalo de Anúncio Criptografado'; + 'Intervalo de Anúncio Criptografado'; @override String get repeater_dangerZone => 'Zona de Perigo'; @@ -2028,11 +2029,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_regenerateIdentityKeySubtitle => - 'Gerar nova chave pública/privada'; + 'Gerar nova chave pública/privada'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Isso gerará uma nova identidade para o repetidor. Continuar?'; + 'Isso gerará uma nova identidade para o repetidor. Continuar?'; @override String get repeater_eraseFileSystem => 'Excluir Sistema de Arquivos'; @@ -2043,11 +2044,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_eraseFileSystemConfirm => - 'AVISO: Isso apagará todos os dados no repetidor. Isso não pode ser desfeito!'; + 'AVISO: Isso apagará todos os dados no repetidor. Isso não pode ser desfeito!'; @override String get repeater_eraseSerialOnly => - 'Apagar está disponível apenas via console serial.'; + 'Apagar está disponível apenas via console serial.'; @override String repeater_commandSent(String command) { @@ -2063,26 +2064,27 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_confirm => 'Confirmar'; @override - String get repeater_settingsSaved => 'Configurações salvas com sucesso'; + String get repeater_settingsSaved => 'Configurações salvas com sucesso'; @override String repeater_errorSavingSettings(String error) { - return 'Erro ao salvar as configurações: $error'; + return 'Erro ao salvar as configurações: $error'; } @override - String get repeater_refreshBasicSettings => 'Atualizar Configurações Básicas'; + String get repeater_refreshBasicSettings => + 'Atualizar Configurações Básicas'; @override String get repeater_refreshRadioSettings => - 'Atualizar Configurações de Rádio'; + 'Atualizar Configurações de Rádio'; @override String get repeater_refreshTxPower => 'Atualizar TX de energia'; @override String get repeater_refreshLocationSettings => - 'Atualizar Configurações de Localização'; + 'Atualizar Configurações de Localização'; @override String get repeater_refreshPacketForwarding => @@ -2096,7 +2098,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_refreshAdvertisementSettings => - 'Atualizar Configurações do Anúncio'; + 'Atualizar Configurações do Anúncio'; @override String repeater_refreshed(String label) { @@ -2112,20 +2114,20 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_cliTitle => 'Repetidor CLI'; @override - String get repeater_debugNextCommand => 'Depurar Próximo Comando'; + String get repeater_debugNextCommand => 'Depurar Próximo Comando'; @override String get repeater_commandHelp => 'Ajuda'; @override - String get repeater_clearHistory => 'Limpar Histórico'; + String get repeater_clearHistory => 'Limpar Histórico'; @override - String get repeater_noCommandsSent => 'Ainda não foram enviadas comandos.'; + String get repeater_noCommandsSent => 'Ainda não foram enviadas comandos.'; @override String get repeater_typeCommandOrUseQuick => - 'Digite um comando abaixo ou use comandos rápidos'; + 'Digite um comando abaixo ou use comandos rápidos'; @override String get repeater_enterCommandHint => 'Insira o comando...'; @@ -2134,7 +2136,7 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_previousCommand => 'Comando anterior'; @override - String get repeater_nextCommand => 'Próxima ação'; + String get repeater_nextCommand => 'Próxima ação'; @override String get repeater_enterCommandFirst => 'Insira um comando primeiro'; @@ -2151,7 +2153,7 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_cliQuickGetName => 'Obter Nome'; @override - String get repeater_cliQuickGetRadio => 'Obter Rádio'; + String get repeater_cliQuickGetRadio => 'Obter Rádio'; @override String get repeater_cliQuickGetTx => 'Obter TX'; @@ -2160,24 +2162,24 @@ class AppLocalizationsPt extends AppLocalizations { String get repeater_cliQuickNeighbors => 'Vizinhos'; @override - String get repeater_cliQuickVersion => 'Versão'; + String get repeater_cliQuickVersion => 'Versão'; @override String get repeater_cliQuickAdvertise => 'Anunciar'; @override - String get repeater_cliQuickClock => 'Relógio'; + String get repeater_cliQuickClock => 'Relógio'; @override - String get repeater_cliHelpAdvert => 'Envia um pacote de anúncios'; + String get repeater_cliHelpAdvert => 'Envia um pacote de anúncios'; @override String get repeater_cliHelpReboot => - 'Reinicia o dispositivo. (note, você pode obter \'Timeout\' que é normal)'; + 'Reinicia o dispositivo. (note, você pode obter \'Timeout\' que é normal)'; @override String get repeater_cliHelpClock => - 'Exibe a hora atual de cada dispositivo, de acordo com o relógio do dispositivo.'; + 'Exibe a hora atual de cada dispositivo, de acordo com o relógio do dispositivo.'; @override String get repeater_cliHelpPassword => @@ -2185,38 +2187,38 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_cliHelpVersion => - 'Mostra a versão do dispositivo e a data de construção do firmware.'; + 'Mostra a versão do dispositivo e a data de construção do firmware.'; @override String get repeater_cliHelpClearStats => - 'Reseta vários contadores de estatísticas para zero.'; + 'Reseta vários contadores de estatísticas para zero.'; @override String get repeater_cliHelpSetAf => 'Define o fator de tempo de ar.'; @override String get repeater_cliHelpSetTx => - 'Define a potência de transmissão LoRa em dBm (redefinir para aplicar).'; + 'Define a potência de transmissão LoRa em dBm (redefinir para aplicar).'; @override String get repeater_cliHelpSetRepeat => - 'Habilita ou desabilita o papel do repetidor para este nó.'; + 'Habilita ou desabilita o papel do repetidor para este nó.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Servidor de sala) Se \'ligado\', então o login com senha em branco será permitido, mas não poderá Postar na sala. (apenas ler).'; + '(Servidor de sala) Se \'ligado\', então o login com senha em branco será permitido, mas não poderá Postar na sala. (apenas ler).'; @override String get repeater_cliHelpSetFloodMax => - 'Define o número máximo de saltos de pacotes de inundação de entrada (se for >= máximo, o pacote não é encaminhado)'; + 'Define o número máximo de saltos de pacotes de inundação de entrada (se for >= máximo, o pacote não é encaminhado)'; @override String get repeater_cliHelpSetIntThresh => - 'Define o Limite de Interferência (em dB). O valor padrão é 14. Defina como 0 para desativar a detecção de interferência de canal.'; + 'Define o Limite de Interferência (em dB). O valor padrão é 14. Defina como 0 para desativar a detecção de interferência de canal.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Define o intervalo para resetar o Controlador de Ganho Automático. Defina como 0 para desativar.'; + 'Define o intervalo para resetar o Controlador de Ganho Automático. Defina como 0 para desativar.'; @override String get repeater_cliHelpSetMultiAcks => @@ -2224,42 +2226,42 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_cliHelpSetAdvertInterval => - 'Define o intervalo do timer em minutos para enviar um pacote de anúncio local (sem salto). Defina como 0 para desativar.'; + 'Define o intervalo do timer em minutos para enviar um pacote de anúncio local (sem salto). Defina como 0 para desativar.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Define o intervalo do timer em horas para enviar um pacote de anúncio em massa. Defina como 0 para desativar.'; + 'Define o intervalo do timer em horas para enviar um pacote de anúncio em massa. Defina como 0 para desativar.'; @override String get repeater_cliHelpSetGuestPassword => - 'Define/atualiza a senha do convidado. (para repetidores, os logins de convidados podem enviar a solicitação \"Obter Estatísticas\")'; + 'Define/atualiza a senha do convidado. (para repetidores, os logins de convidados podem enviar a solicitação \"Obter Estatísticas\")'; @override - String get repeater_cliHelpSetName => 'Define o nome do anúncio.'; + String get repeater_cliHelpSetName => 'Define o nome do anúncio.'; @override String get repeater_cliHelpSetLat => - 'Define a latitude do mapa de anúncios. (graus decimais)'; + 'Define a latitude do mapa de anúncios. (graus decimais)'; @override String get repeater_cliHelpSetLon => - 'Define a longitude do mapa de anúncios. (graus decimais)'; + 'Define a longitude do mapa de anúncios. (graus decimais)'; @override String get repeater_cliHelpSetRadio => - 'Define completamente novos parâmetros de rádio e salva nas preferências. Requer um comando \"reboot\" para aplicar.'; + 'Define completamente novos parâmetros de rádio e salva nas preferências. Requer um comando \"reboot\" para aplicar.'; @override String get repeater_cliHelpSetRxDelay => - 'Configurações (experimental) base (deve ser > 1 para efeito) para aplicar um pequeno atraso aos pacotes recebidos, com base na força do sinal/pontuação. Defina como 0 para desativar.'; + 'Configurações (experimental) base (deve ser > 1 para efeito) para aplicar um pequeno atraso aos pacotes recebidos, com base na força do sinal/pontuação. Defina como 0 para desativar.'; @override String get repeater_cliHelpSetTxDelay => - 'Define um fator multiplicado com o tempo-em-ar para um pacote de modo de inundação e com um sistema de slot aleatório, para atrasar seu encaminhamento. (para diminuir a probabilidade de colisões)'; + 'Define um fator multiplicado com o tempo-em-ar para um pacote de modo de inundação e com um sistema de slot aleatório, para atrasar seu encaminhamento. (para diminuir a probabilidade de colisões)'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Igual a txdelay, mas para aplicar um atraso aleatório à encaminhamento de pacotes em modo direto.'; + 'Igual a txdelay, mas para aplicar um atraso aleatório à encaminhamento de pacotes em modo direto.'; @override String get repeater_cliHelpSetBridgeEnabled => 'Ativar/Desativar ponte.'; @@ -2270,7 +2272,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_cliHelpSetBridgeSource => - 'Escolha se a ponte retransmitirá pacotes recebidos ou pacotes transmitidos.'; + 'Escolha se a ponte retransmitirá pacotes recebidos ou pacotes transmitidos.'; @override String get repeater_cliHelpSetBridgeBaud => @@ -2286,15 +2288,15 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_cliHelpTempRadio => - 'Define parâmetros de rádio temporários para o número especificado de minutos, revertendo para os parâmetros de rádio originais posteriormente. (não salva nas preferências).'; + 'Define parâmetros de rádio temporários para o número especificado de minutos, revertendo para os parâmetros de rádio originais posteriormente. (não salva nas preferências).'; @override String get repeater_cliHelpSetPerm => - 'Modifica o ACL. Remove a entrada correspondente (pelo prefixo de pubkey) se \"permissions\" for zero. Adiciona uma nova entrada se o pubkey-hex for de comprimento total e não estiver atualmente no ACL. Atualiza a entrada por correspondência de prefixo de pubkey. Os bits de permissão variam conforme o papel do firmware, mas os 2 bits inferiores são: 0 (Guest), 1 (Read only), 2 (Read write), 3 (Admin)'; + 'Modifica o ACL. Remove a entrada correspondente (pelo prefixo de pubkey) se \"permissions\" for zero. Adiciona uma nova entrada se o pubkey-hex for de comprimento total e não estiver atualmente no ACL. Atualiza a entrada por correspondência de prefixo de pubkey. Os bits de permissão variam conforme o papel do firmware, mas os 2 bits inferiores são: 0 (Guest), 1 (Read only), 2 (Read write), 3 (Admin)'; @override String get repeater_cliHelpGetBridgeType => - 'Obtém tipo de ponte nenhum, rs232, espnow'; + 'Obtém tipo de ponte nenhum, rs232, espnow'; @override String get repeater_cliHelpLogStart => @@ -2310,86 +2312,86 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_cliHelpNeighbors => - 'Mostra uma lista de outros nós de repetição ouvidos através de anúncios zero-hop. Cada linha é id-prefixo-hexadecimal:timestamp:snr-vezes-4'; + 'Mostra uma lista de outros nós de repetição ouvidos através de anúncios zero-hop. Cada linha é id-prefixo-hexadecimal:timestamp:snr-vezes-4'; @override String get repeater_cliHelpNeighborRemove => - 'Remove a primeira entrada correspondente (por prefixo de chave pública (hexadecimal)) da lista de vizinhos.'; + 'Remove a primeira entrada correspondente (por prefixo de chave pública (hexadecimal)) da lista de vizinhos.'; @override String get repeater_cliHelpRegion => - '(série apenas) Lista todas as regiões definidas e as permissões de inundação atuais.'; + '(série apenas) Lista todas as regiões definidas e as permissões de inundação atuais.'; @override String get repeater_cliHelpRegionLoad => - 'NOTA: isto é uma invocação multi-comando especial. Cada comando subsequente é um nome de região (indentado com espaços para indicar a hierarquia pai, com um espaço mínimo). Terminado enviando uma linha em branco/comando.'; + 'NOTA: isto é uma invocação multi-comando especial. Cada comando subsequente é um nome de região (indentado com espaços para indicar a hierarquia pai, com um espaço mínimo). Terminado enviando uma linha em branco/comando.'; @override String get repeater_cliHelpRegionGet => - 'Procura região com o prefixo de nome dado (ou \"\\\" para o âmbito global). Responde com \"-> nome-região (nome-pai) \'F\'\"'; + 'Procura região com o prefixo de nome dado (ou \"\\\" para o âmbito global). Responde com \"-> nome-região (nome-pai) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Adiciona ou atualiza uma definição de região com o nome fornecido.'; + 'Adiciona ou atualiza uma definição de região com o nome fornecido.'; @override String get repeater_cliHelpRegionRemove => - 'Remove uma definição de região com o nome fornecido. (deve corresponder exatamente e não ter regiões filhas)'; + 'Remove uma definição de região com o nome fornecido. (deve corresponder exatamente e não ter regiões filhas)'; @override String get repeater_cliHelpRegionAllowf => - 'Define a permissão de \'F\'luido para a região especificada. (\'\' para o escopo global/legado)'; + 'Define a permissão de \'F\'luido para a região especificada. (\'\' para o escopo global/legado)'; @override String get repeater_cliHelpRegionDenyf => - 'Remove a permissão de \"F\"luido para a região especificada. (NOTA: neste momento NÃO é aconselhável usar isso no escopo global/legado!!)'; + 'Remove a permissão de \"F\"luido para a região especificada. (NOTA: neste momento NÃO é aconselhável usar isso no escopo global/legado!!)'; @override String get repeater_cliHelpRegionHome => - 'Responde com a região \'home\' atual. (Observação aplicada em nenhum lugar ainda, reservado para o futuro)'; + 'Responde com a região \'home\' atual. (Observação aplicada em nenhum lugar ainda, reservado para o futuro)'; @override - String get repeater_cliHelpRegionHomeSet => 'Define a região \'casa\'.'; + String get repeater_cliHelpRegionHomeSet => 'Define a região \'casa\'.'; @override String get repeater_cliHelpRegionSave => - 'Persiste a lista/mapa de regiões para o armazenamento.'; + 'Persiste a lista/mapa de regiões para o armazenamento.'; @override String get repeater_cliHelpGps => - 'Mostra o status do GPS. Quando o GPS estiver desligado, responde apenas com \"off\", se estiver ligado, responde com \"on\", status, fix, contagem de satélites.'; + 'Mostra o status do GPS. Quando o GPS estiver desligado, responde apenas com \"off\", se estiver ligado, responde com \"on\", status, fix, contagem de satélites.'; @override String get repeater_cliHelpGpsOnOff => 'Alterna o estado de energia do GPS.'; @override String get repeater_cliHelpGpsSync => - 'Sincroniza o tempo do nó com o relógio GPS.'; + 'Sincroniza o tempo do nó com o relógio GPS.'; @override String get repeater_cliHelpGpsSetLoc => - 'Define a posição do nó para coordenadas GPS e salvar preferências.'; + 'Define a posição do nó para coordenadas GPS e salvar preferências.'; @override String get repeater_cliHelpGpsAdvert => - 'Define a configuração de anúncio da localização do nó:\n- nenhum: não incluir a localização nos anúncios\n- compartilhar: compartilhar a localização GPS (do SensorManager)\n- preferências: anunciar a localização armazenada nas preferências'; + 'Define a configuração de anúncio da localização do nó:\n- nenhum: não incluir a localização nos anúncios\n- compartilhar: compartilhar a localização GPS (do SensorManager)\n- preferências: anunciar a localização armazenada nas preferências'; @override String get repeater_cliHelpGpsAdvertSet => - 'Define a configuração do anúncio de localização.'; + 'Define a configuração do anúncio de localização.'; @override String get repeater_commandsListTitle => 'Lista de Comandos'; @override String get repeater_commandsListNote => - 'NOTA: para os diversos comandos \"set...\", também existe um comando \"get...\".'; + 'NOTA: para os diversos comandos \"set...\", também existe um comando \"get...\".'; @override String get repeater_general => 'Geral'; @override - String get repeater_settingsCategory => 'Configurações'; + String get repeater_settingsCategory => 'Configurações'; @override String get repeater_bridge => 'Ponte'; @@ -2402,25 +2404,25 @@ class AppLocalizationsPt extends AppLocalizations { @override String get repeater_regionManagementRepeaterOnly => - 'Gerenciamento de Região (Apenas Repetidor)'; + 'Gerenciamento de Região (Apenas Repetidor)'; @override String get repeater_regionNote => - 'Os comandos de região foram introduzidos para gerenciar definições e permissões de região.'; + 'Os comandos de região foram introduzidos para gerenciar definições e permissões de região.'; @override String get repeater_gpsManagement => 'Gerenciamento GPS'; @override String get repeater_gpsNote => - 'O comando GPS foi introduzido para gerenciar tópicos relacionados à localização.'; + 'O comando GPS foi introduzido para gerenciar tópicos relacionados à localização.'; @override String get telemetry_receivedData => 'Dados de Telemetria Recebidos'; @override String get telemetry_requestTimeout => - 'Solicitação de telemetria expirou o tempo.'; + 'Solicitação de telemetria expirou o tempo.'; @override String telemetry_errorLoading(String error) { @@ -2428,7 +2430,8 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get telemetry_noData => 'Não estão disponíveis dados de telemetria.'; + String get telemetry_noData => + 'Não estão disponíveis dados de telemetria.'; @override String telemetry_channelTitle(int channel) { @@ -2439,7 +2442,7 @@ class AppLocalizationsPt extends AppLocalizations { String get telemetry_batteryLabel => 'Bateria'; @override - String get telemetry_voltageLabel => 'Tensão'; + String get telemetry_voltageLabel => 'Tensão'; @override String get telemetry_mcuTemperatureLabel => 'Temperatura do MCU'; @@ -2467,7 +2470,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2486,7 +2489,7 @@ class AppLocalizationsPt extends AppLocalizations { String get neighbors_repeatersNeighbors => 'Repetidores Vizinhos'; @override - String get neighbors_noData => 'Não estão disponíveis dados de vizinhos.'; + String get neighbors_noData => 'Não estão disponíveis dados de vizinhos.'; @override String neighbors_unknownContact(String pubkey) { @@ -2495,11 +2498,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String neighbors_heardAgo(String time) { - return 'Ouvido: $time atrás'; + return 'Ouvido: $time atrás'; } @override - String get channelPath_title => 'Rótulo de Caminho de Pacote'; + String get channelPath_title => 'Rótulo de Caminho de Pacote'; @override String get channelPath_viewMap => 'Ver mapa'; @@ -2512,7 +2515,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get channelPath_noHopDetails => - 'Os detalhes do pacote não estão disponíveis.'; + 'Os detalhes do pacote não estão disponíveis.'; @override String get channelPath_messageDetails => 'Detalhes da Mensagem'; @@ -2536,11 +2539,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Rastreamento observado $index • $hops'; + return 'Rastreamento observado $index • $hops'; } @override - String get channelPath_noLocationData => 'Não há dados de localização.'; + String get channelPath_noLocationData => 'Não há dados de localização.'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2556,7 +2559,7 @@ class AppLocalizationsPt extends AppLocalizations { String get channelPath_unknownPath => 'Desconhecido'; @override - String get channelPath_floodPath => 'Inundação'; + String get channelPath_floodPath => 'Inundação'; @override String get channelPath_directPath => 'Salvar'; @@ -2576,11 +2579,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get channelPath_noRepeaterLocations => - 'Não estão disponíveis localizações de repetidores para este caminho.'; + 'Não estão disponíveis localizações de repetidores para este caminho.'; @override String channelPath_primaryPath(int index) { - return 'Caminho $index (Primário)'; + return 'Caminho $index (Primário)'; } @override @@ -2591,12 +2594,12 @@ class AppLocalizationsPt extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Não estão disponíveis detalhes de voo para este pacote.'; + 'Não estão disponíveis detalhes de voo para este pacote.'; @override String get channelPath_unknownRepeater => 'Repetidor Desconhecido'; @@ -2609,17 +2612,17 @@ class AppLocalizationsPt extends AppLocalizations { @override String get community_createDesc => - 'Crie uma nova comunidade e compartilhe via código QR.'; + 'Crie uma nova comunidade e compartilhe via código QR.'; @override String get community_join => 'Junte-se'; @override - String get community_joinTitle => 'Junte-se à Comunidade'; + String get community_joinTitle => 'Junte-se à Comunidade'; @override String community_joinConfirmation(String name) { - return 'Você gostaria de se juntar à comunidade \"$name\"?'; + return 'Você gostaria de se juntar à comunidade \"$name\"?'; } @override @@ -2627,13 +2630,13 @@ class AppLocalizationsPt extends AppLocalizations { @override String get community_scanInstructions => - 'Aponte a câmera para um código QR da comunidade'; + 'Aponte a câmera para um código QR da comunidade'; @override - String get community_showQr => 'Mostrar Código QR'; + String get community_showQr => 'Mostrar Código QR'; @override - String get community_publicChannel => 'Comunidade Pública'; + String get community_publicChannel => 'Comunidade Pública'; @override String get community_hashtagChannel => 'Hashtag da Comunidade'; @@ -2651,7 +2654,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String community_joined(String name) { - return 'Juntou-se à comunidade \"$name\"'; + return 'Juntou-se à comunidade \"$name\"'; } @override @@ -2659,39 +2662,39 @@ class AppLocalizationsPt extends AppLocalizations { @override String community_qrInstructions(String name) { - return 'Escanear este código QR para juntar-se a $name'; + return 'Escanear este código QR para juntar-se a $name'; } @override String get community_hashtagPrivacyHint => - 'Os canais de hashtag da comunidade só podem ser acessados por membros da comunidade'; + 'Os canais de hashtag da comunidade só podem ser acessados por membros da comunidade'; @override - String get community_invalidQrCode => 'Código QR da comunidade inválido'; + String get community_invalidQrCode => 'Código QR da comunidade inválido'; @override - String get community_alreadyMember => 'Já é Membro'; + String get community_alreadyMember => 'Já é Membro'; @override String community_alreadyMemberMessage(String name) { - return 'Você já é membro de \"$name\".'; + return 'Você já é membro de \"$name\".'; } @override String get community_addPublicChannel => - 'Adicionar Canal Público da Comunidade'; + 'Adicionar Canal Público da Comunidade'; @override String get community_addPublicChannelHint => - 'Adicionar automaticamente o canal público para esta comunidade'; + 'Adicionar automaticamente o canal público para esta comunidade'; @override String get community_noCommunities => - 'Ainda não foram adicionadas comunidades.'; + 'Ainda não foram adicionadas comunidades.'; @override String get community_scanOrCreate => - 'Escaneie um código QR ou crie uma comunidade para começar.'; + 'Escaneie um código QR ou crie uma comunidade para começar.'; @override String get community_manageCommunities => 'Gerenciar Comunidades'; @@ -2706,7 +2709,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String community_deleteChannelsWarning(int count) { - return 'Isso também excluirá $count canal/canais e suas mensagens.'; + return 'Isso também excluirá $count canal/canais e suas mensagens.'; } @override @@ -2719,7 +2722,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String community_regenerateSecretConfirm(String name) { - return 'Regenerar a chave secreta para \"$name\"? Todos os membros precisarão escanear o novo código QR para continuar a comunicação.'; + return 'Regenerar a chave secreta para \"$name\"? Todos os membros precisarão escanear o novo código QR para continuar a comunicação.'; } @override @@ -2740,7 +2743,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String community_scanToUpdateSecret(String name) { - return 'Scanar o novo código QR para atualizar o segredo para \"$name\"\n\n\n+++++'; + return 'Scanar o novo código QR para atualizar o segredo para \"$name\"\n\n\n+++++'; } @override @@ -2758,7 +2761,7 @@ class AppLocalizationsPt extends AppLocalizations { @override String get community_regularHashtagDesc => - 'Hashtag público (qualquer pessoa pode participar)'; + 'Hashtag público (qualquer pessoa pode participar)'; @override String get community_communityHashtag => 'Hashtag da Comunidade'; @@ -2779,7 +2782,7 @@ class AppLocalizationsPt extends AppLocalizations { String get listFilter_sortBy => 'Ordenar por'; @override - String get listFilter_latestMessages => 'Últimas mensagens'; + String get listFilter_latestMessages => 'Últimas mensagens'; @override String get listFilter_heardRecently => 'Ouvido recentemente'; @@ -2803,7 +2806,7 @@ class AppLocalizationsPt extends AppLocalizations { String get listFilter_removeFromFavorites => 'Remover da lista de favoritos'; @override - String get listFilter_users => 'Usuários'; + String get listFilter_users => 'Usuários'; @override String get listFilter_repeaters => 'Repetidores'; @@ -2812,36 +2815,36 @@ class AppLocalizationsPt extends AppLocalizations { String get listFilter_roomServers => 'Servidores de sala'; @override - String get listFilter_unreadOnly => 'Apenas não lido'; + String get listFilter_unreadOnly => 'Apenas não lido'; @override String get listFilter_newGroup => 'Novo grupo'; @override - String get pathTrace_you => 'Você'; + String get pathTrace_you => 'Você'; @override String get pathTrace_failed => 'Falha no rastreamento de caminho.'; @override - String get pathTrace_notAvailable => 'Traçado de caminho não disponível.'; + String get pathTrace_notAvailable => 'Traçado de caminho não disponível.'; @override String get pathTrace_refreshTooltip => 'Atualizar Path Trace.'; @override String get pathTrace_someHopsNoLocation => - 'Um ou mais dos lúpulos estão sem localização!'; + 'Um ou mais dos lúpulos estão sem localização!'; @override String get pathTrace_clearTooltip => 'Limpar caminho'; @override - String get losSelectStartEnd => 'Selecione nós iniciais e finais para LOS.'; + String get losSelectStartEnd => 'Selecione nós iniciais e finais para LOS.'; @override String losRunFailed(String error) { - return 'Falha na verificação da linha de visão: $error'; + return 'Falha na verificação da linha de visão: $error'; } @override @@ -2849,17 +2852,17 @@ class AppLocalizationsPt extends AppLocalizations { @override String get losRunToViewElevationProfile => - 'Execute o LOS para visualizar o perfil de elevação'; + 'Execute o LOS para visualizar o perfil de elevação'; @override String get losMenuTitle => 'Menu LOS'; @override String get losMenuSubtitle => - 'Toque nos nós ou mantenha pressionado o mapa para obter pontos personalizados'; + 'Toque nos nós ou mantenha pressionado o mapa para obter pontos personalizados'; @override - String get losShowDisplayNodes => 'Mostrar nós de exibição'; + String get losShowDisplayNodes => 'Mostrar nós de exibição'; @override String get losCustomPoints => 'Pontos personalizados'; @@ -2889,7 +2892,7 @@ class AppLocalizationsPt extends AppLocalizations { String get losRun => 'Executar LOS'; @override - String get losNoElevationData => 'Sem dados de elevação'; + String get losNoElevationData => 'Sem dados de elevação'; @override String losProfileClear( @@ -2898,7 +2901,7 @@ class AppLocalizationsPt extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, limpar LOS, liberação mínima $clearance $heightUnit'; + return '$distance $distanceUnit, limpar LOS, liberação mínima $clearance $heightUnit'; } @override @@ -2924,11 +2927,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Dados de elevação indisponíveis para uma ou mais amostras.'; + 'Dados de elevação indisponíveis para uma ou mais amostras.'; @override String get losErrorInvalidInput => - 'Dados de pontos/elevação inválidos para cálculo de LOS.'; + 'Dados de pontos/elevação inválidos para cálculo de LOS.'; @override String get losRenameCustomPoint => 'Renomear ponto personalizado'; @@ -2944,10 +2947,10 @@ class AppLocalizationsPt extends AppLocalizations { @override String get losElevationAttribution => - 'Dados de elevação: Open-Meteo (CC BY 4.0)'; + 'Dados de elevação: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Horizonte de rádio'; + String get losLegendRadioHorizon => 'Horizonte de rádio'; @override String get losLegendLosBeam => 'Linha de visada'; @@ -2956,13 +2959,13 @@ class AppLocalizationsPt extends AppLocalizations { String get losLegendTerrain => 'Terreno'; @override - String get losFrequencyLabel => 'Frequência'; + String get losFrequencyLabel => 'Frequência'; @override - String get losFrequencyInfoTooltip => 'Ver detalhes do cálculo'; + String get losFrequencyInfoTooltip => 'Ver detalhes do cálculo'; @override - String get losFrequencyDialogTitle => 'Cálculo do horizonte de rádio'; + String get losFrequencyDialogTitle => 'Cálculo do horizonte de rádio'; @override String losFrequencyDialogDescription( @@ -2971,23 +2974,24 @@ class AppLocalizationsPt extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Começando em k=$baselineK em $baselineFreq MHz, o cálculo ajusta o fator k para a banda atual de $frequencyMHz MHz, que define o limite do horizonte de rádio curvo.'; + return 'Começando em k=$baselineK em $baselineFreq MHz, o cálculo ajusta o fator k para a banda atual de $frequencyMHz MHz, que define o limite do horizonte de rádio curvo.'; } @override - String get contacts_pathTrace => 'Traçado de Caminho'; + String get contacts_pathTrace => 'Traçado de Caminho'; @override String get contacts_ping => 'Pingar'; @override - String get contacts_repeaterPathTrace => 'Traçar caminho para repetidor'; + String get contacts_repeaterPathTrace => 'Traçar caminho para repetidor'; @override String get contacts_repeaterPing => 'Pingar repetidor'; @override - String get contacts_roomPathTrace => 'Traçar caminho para o servidor da sala'; + String get contacts_roomPathTrace => + 'Traçar caminho para o servidor da sala'; @override String get contacts_roomPing => 'Pingar servidor da sala'; @@ -3001,10 +3005,10 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get contacts_clipboardEmpty => 'Área de Transferência Está Vazia.'; + String get contacts_clipboardEmpty => 'Área de Transferência Está Vazia.'; @override - String get contacts_invalidAdvertFormat => 'Dados de Contato Inválidos'; + String get contacts_invalidAdvertFormat => 'Dados de Contato Inválidos'; @override String get contacts_contactImported => 'Contato foi importado.'; @@ -3013,39 +3017,41 @@ class AppLocalizationsPt extends AppLocalizations { String get contacts_contactImportFailed => 'Contato falhou ao ser importado.'; @override - String get contacts_zeroHopAdvert => 'Anúncio Zero Hop'; + String get contacts_zeroHopAdvert => 'Anúncio Zero Hop'; @override - String get contacts_floodAdvert => 'Anúncio de Inundação'; + String get contacts_floodAdvert => 'Anúncio de Inundação'; @override String get contacts_copyAdvertToClipboard => - 'Copiar Anúncio para Área de Transferência'; + 'Copiar Anúncio para Área de Transferência'; @override String get contacts_addContactFromClipboard => - 'Adicionar Contato da Área de Transferência'; + 'Adicionar Contato da Área de Transferência'; @override String get contacts_ShareContact => - 'Copiar contato para Área de Transferência'; + 'Copiar contato para Área de Transferência'; @override - String get contacts_ShareContactZeroHop => 'Compartilhar contato por anúncio'; + String get contacts_ShareContactZeroHop => + 'Compartilhar contato por anúncio'; @override - String get contacts_zeroHopContactAdvertSent => 'Enviou contato por anúncio.'; + String get contacts_zeroHopContactAdvertSent => + 'Enviou contato por anúncio.'; @override String get contacts_zeroHopContactAdvertFailed => 'Falha ao enviar contato.'; @override String get contacts_contactAdvertCopied => - 'Anúncio copiado para a Área de Transferência.'; + 'Anúncio copiado para a Área de Transferência.'; @override String get contacts_contactAdvertCopyFailed => - 'Cópia do anúncio para a Área de Transferência falhou.'; + 'Cópia do anúncio para a Área de Transferência falhou.'; @override String get notification_activityTitle => 'Atividade MeshCore'; @@ -3077,8 +3083,8 @@ class AppLocalizationsPt extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'novos nós', - one: 'novo nó', + other: 'novos nós', + one: 'novo nó', ); return '$count $_temp0'; } @@ -3097,21 +3103,21 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_gpxExportRepeatersSubtitle => - 'Exporta repetidores / roomserver com localização para arquivo GPX.'; + 'Exporta repetidores / roomserver com localização para arquivo GPX.'; @override String get settings_gpxExportContacts => 'Exportar companheiros para GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Exporta companheiros com uma localização para um arquivo GPX.'; + 'Exporta companheiros com uma localização para um arquivo GPX.'; @override String get settings_gpxExportAll => 'Exportar todos os contatos para GPX'; @override String get settings_gpxExportAllSubtitle => - 'Exporta todos os contatos com uma localização para um arquivo GPX.'; + 'Exporta todos os contatos com uma localização para um arquivo GPX.'; @override String get settings_gpxExportSuccess => 'Arquivo GPX exportado com sucesso.'; @@ -3121,17 +3127,17 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_gpxExportNotAvailable => - 'Não suportado no seu dispositivo/SO'; + 'Não suportado no seu dispositivo/SO'; @override String get settings_gpxExportError => 'Ocorreu um erro ao exportar.'; @override String get settings_gpxExportRepeatersRoom => - 'Localizações do servidor de repetidor e sala'; + 'Localizações do servidor de repetidor e sala'; @override - String get settings_gpxExportChat => 'Localizações de companheiros'; + String get settings_gpxExportChat => 'Localizações de companheiros'; @override String get settings_gpxExportAllContacts => 'Todos os locais de contatos'; @@ -3142,11 +3148,11 @@ class AppLocalizationsPt extends AppLocalizations { @override String get settings_gpxExportShareSubject => - 'meshcore-open exportação de dados de mapa GPX'; + 'meshcore-open exportação de dados de mapa GPX'; @override - String get snrIndicator_nearByRepeaters => 'Repetidores Próximos'; + String get snrIndicator_nearByRepeaters => 'Repetidores Próximos'; @override - String get snrIndicator_lastSeen => 'Visto pela última vez'; + String get snrIndicator_lastSeen => 'Visto pela última vez'; } diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index 6a25aa2..456d497 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -12,92 +12,93 @@ class AppLocalizationsRu extends AppLocalizations { String get appTitle => 'MeshCore Open'; @override - String get nav_contacts => 'Контакты'; + String get nav_contacts => 'Контакты'; @override - String get nav_channels => 'Каналы'; + String get nav_channels => 'Каналы'; @override - String get nav_map => 'Карта'; + String get nav_map => 'Карта'; @override - String get common_cancel => 'Отмена'; + String get common_cancel => 'Отмена'; @override String get common_ok => 'OK'; @override - String get common_connect => 'Коннект'; + String get common_connect => 'Коннект'; @override - String get common_unknownDevice => 'Неизвестное устройство'; + String get common_unknownDevice => + 'Неизвестное устройство'; @override - String get common_save => 'Сохранить'; + String get common_save => 'Сохранить'; @override - String get common_delete => 'Удалить'; + String get common_delete => 'Удалить'; @override - String get common_close => 'Закрыть'; + String get common_close => 'Закрыть'; @override - String get common_edit => 'Изменить'; + String get common_edit => 'Изменить'; @override - String get common_add => 'Добавить'; + String get common_add => 'Добавить'; @override - String get common_settings => 'Настройки'; + String get common_settings => 'Настройки'; @override - String get common_disconnect => 'Отключить'; + String get common_disconnect => 'Отключить'; @override - String get common_connected => 'Подключено'; + String get common_connected => 'Подключено'; @override - String get common_disconnected => 'Отключено'; + String get common_disconnected => 'Отключено'; @override - String get common_create => 'Создать'; + String get common_create => 'Создать'; @override - String get common_continue => 'Продолжить'; + String get common_continue => 'Продолжить'; @override - String get common_share => 'Поделиться'; + String get common_share => 'Поделиться'; @override - String get common_copy => 'Копировать'; + String get common_copy => 'Копировать'; @override - String get common_retry => 'Повторить'; + String get common_retry => 'Повторить'; @override - String get common_hide => 'Скрыть'; + String get common_hide => 'Скрыть'; @override - String get common_remove => 'Убрать'; + String get common_remove => 'Убрать'; @override - String get common_enable => 'Включить'; + String get common_enable => 'Включить'; @override - String get common_disable => 'Выключить'; + String get common_disable => 'Выключить'; @override - String get common_reboot => 'Перезагрузить'; + String get common_reboot => 'Перезагрузить'; @override - String get common_loading => 'Загрузка...'; + String get common_loading => 'Загрузка...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { - return '$volts В'; + return '$volts Ð’'; } @override @@ -108,13 +109,6 @@ class AppLocalizationsRu extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Выберите способ подключения'; - - @override - String get connectionChoiceSubtitle => - 'Выберите, каким способом вы хотите получить свой устройство MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -122,230 +116,247 @@ class AppLocalizationsRu extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Подключение через USB'; + String get usbScreenTitle => 'Подключение через USB'; @override String get usbScreenSubtitle => - 'Выберите обнаруженное устройство с последовательным интерфейсом и подключите его напрямую к вашему узлу MeshCore.'; + 'Выберите обнаруженное устройство с последовательным интерфейсом и подключите его напрямую к вашему узлу MeshCore.'; @override - String get usbScreenStatus => 'Выберите USB-устройство'; + String get usbScreenStatus => 'Выберите USB-устройство'; @override String get usbScreenNote => - 'USB-серийный порт активен на поддерживаемых устройствах Android и на настольных платформах.'; + 'USB-серийный порт активен на поддерживаемых устройствах Android и на настольных платформах.'; @override String get usbScreenEmptyState => - 'Не обнаружено устройств USB. Подключите одно из них и обновите список.'; + 'Не обнаружено устройств USB. Подключите одно из них и обновите список.'; @override - String get scanner_scanning => 'Поиск устройств...'; + String get scanner_scanning => 'Поиск устройств...'; @override - String get scanner_connecting => 'Подключение...'; + String get scanner_connecting => 'Подключение...'; @override - String get scanner_disconnecting => 'Отключение...'; + String get scanner_disconnecting => 'Отключение...'; @override - String get scanner_notConnected => 'Не подключено'; + String get scanner_notConnected => 'Не подключено'; @override String scanner_connectedTo(String deviceName) { - return 'Подключено к $deviceName'; + return 'Подключено к $deviceName'; } @override - String get scanner_searchingDevices => 'Поиск устройств MeshCore...'; + String get scanner_searchingDevices => + 'Поиск устройств MeshCore...'; @override - String get scanner_tapToScan => 'Нажмите для поиска MeshCore устройств'; + String get scanner_tapToScan => + 'Нажмите для поиска MeshCore устройств'; @override String scanner_connectionFailed(String error) { - return 'Подключение не удалось: $error'; + return 'Подключение не удалось: $error'; } @override - String get scanner_stop => 'Стоп'; + String get scanner_stop => 'Стоп'; @override - String get scanner_scan => 'Сканирование'; + String get scanner_scan => 'Сканирование'; @override - String get scanner_bluetoothOff => 'Bluetooth выключен'; + String get scanner_bluetoothOff => 'Bluetooth выключен'; @override String get scanner_bluetoothOffMessage => - 'Пожалуйста, включите Bluetooth, чтобы найти устройства.'; + 'Пожалуйста, включите Bluetooth, чтобы найти устройства.'; @override - String get scanner_chromeRequired => 'Требуется браузер Chrome'; + String get scanner_chromeRequired => + 'Требуется браузер Chrome'; @override String get scanner_chromeRequiredMessage => - 'Для поддержки Bluetooth в этом веб-приложении требуется Google Chrome или браузер на базе Chromium.'; + 'Для поддержки Bluetooth в этом веб-приложении требуется Google Chrome или браузер на базе Chromium.'; @override - String get scanner_enableBluetooth => 'Включите Bluetooth'; + String get scanner_enableBluetooth => 'Включите Bluetooth'; @override - String get device_quickSwitch => 'Быстрое переключение'; + String get device_quickSwitch => 'Быстрое переключение'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Настройки'; + String get settings_title => 'Настройки'; @override - String get settings_deviceInfo => 'Информация об устройстве'; + String get settings_deviceInfo => + 'Информация об устройстве'; @override - String get settings_appSettings => 'Настройки приложения'; + String get settings_appSettings => 'Настройки приложения'; @override String get settings_appSettingsSubtitle => - 'Уведомления, сообщения и настройки карты'; + 'Уведомления, сообщения и настройки карты'; @override - String get settings_nodeSettings => 'Настройки ноды'; + String get settings_nodeSettings => 'Настройки ноды'; @override - String get settings_nodeName => 'Имя ноды'; + String get settings_nodeName => 'Имя ноды'; @override - String get settings_nodeNameNotSet => 'Не установлено'; + String get settings_nodeNameNotSet => 'Не установлено'; @override - String get settings_nodeNameHint => 'Введите имя ноды'; + String get settings_nodeNameHint => 'Введите имя ноды'; @override - String get settings_nodeNameUpdated => 'Имя обновлено'; + String get settings_nodeNameUpdated => 'Имя обновлено'; @override - String get settings_radioSettings => 'Настройки радио'; + String get settings_radioSettings => 'Настройки радио'; @override String get settings_radioSettingsSubtitle => - 'Частота, мощность и коэффициент распространения'; + 'Частота, мощность и коэффициент распространения'; @override - String get settings_radioSettingsUpdated => 'Настройки радио обновлены'; + String get settings_radioSettingsUpdated => + 'Настройки радио обновлены'; @override - String get settings_location => 'Позиция'; + String get settings_location => 'Позиция'; @override - String get settings_locationSubtitle => 'Координаты GPS'; + String get settings_locationSubtitle => 'Координаты GPS'; @override - String get settings_locationUpdated => 'Позиция и настройки GPS обновлены'; + String get settings_locationUpdated => + 'Позиция и настройки GPS обновлены'; @override - String get settings_locationBothRequired => 'Введите широту и долготу.'; + String get settings_locationBothRequired => + 'Введите широту и долготу.'; @override - String get settings_locationInvalid => 'Неверная широта или долгота.'; + String get settings_locationInvalid => + 'Неверная широта или долгота.'; @override - String get settings_locationGPSEnable => 'Включить GPS'; + String get settings_locationGPSEnable => 'Включить GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Включение GPS для автоматического обновления позиции.'; + 'Включение GPS для автоматического обновления позиции.'; @override String get settings_locationIntervalSec => - 'Интервал для позиционирования GPS (секунды)'; + 'Интервал для позиционирования GPS (секунды)'; @override String get settings_locationIntervalInvalid => - 'Интервал должен составлять не менее 60 секунд и не более 86400 секунд.'; + 'Интервал должен составлять не менее 60 секунд и не более 86400 секунд.'; @override - String get settings_latitude => 'Широта'; + String get settings_latitude => 'Широта'; @override - String get settings_longitude => 'Долгота'; + String get settings_longitude => 'Долгота'; @override - String get settings_privacyMode => 'Режим конфиденциальности'; + String get settings_privacyMode => + 'Режим конфиденциальности'; @override String get settings_privacyModeSubtitle => - 'Скрыть имя/позицию в анонсировании'; + 'Скрыть имя/позицию в анонсировании'; @override String get settings_privacyModeToggle => - 'Включите режим конфиденциальности, чтобы скрыть свое имя и местоположение в анонсировании.'; + 'Включите режим конфиденциальности, чтобы скрыть свое имя и местоположение в анонсировании.'; @override - String get settings_privacyModeEnabled => 'Режим конфиденциальности включен'; + String get settings_privacyModeEnabled => + 'Режим конфиденциальности включен'; @override String get settings_privacyModeDisabled => - 'Режим конфиденциальности выключен'; + 'Режим конфиденциальности выключен'; @override - String get settings_actions => 'Действия'; + String get settings_actions => 'Действия'; @override - String get settings_sendAdvertisement => 'Отправить анонсирование'; + String get settings_sendAdvertisement => + 'Отправить анонсирование'; @override String get settings_sendAdvertisementSubtitle => - 'Отправить анонсирование о присутствии сейчас'; + 'Отправить анонсирование о присутствии сейчас'; @override - String get settings_advertisementSent => 'Анонсирование отправлено'; + String get settings_advertisementSent => + 'Анонсирование отправлено'; @override - String get settings_syncTime => 'Синхронизация времени'; + String get settings_syncTime => 'Синхронизация времени'; @override - String get settings_syncTimeSubtitle => 'Синхронизировать время с телефоном'; + String get settings_syncTimeSubtitle => + 'Синхронизировать время с телефоном'; @override - String get settings_timeSynchronized => 'Время синхронизировано'; + String get settings_timeSynchronized => + 'Время синхронизировано'; @override - String get settings_refreshContacts => 'Обновить контакты'; + String get settings_refreshContacts => 'Обновить контакты'; @override String get settings_refreshContactsSubtitle => - 'Перезагрузить список контактов с устройства'; + 'Перезагрузить список контактов с устройства'; @override - String get settings_rebootDevice => 'Перезагрузить устройство'; + String get settings_rebootDevice => + 'Перезагрузить устройство'; @override String get settings_rebootDeviceSubtitle => - 'Перезапустить устройство MeshCore'; + 'Перезапустить устройство MeshCore'; @override String get settings_rebootDeviceConfirm => - 'Вы уверены, что хотите перезагрузить устройство? Вы будете отключены.'; + 'Ð’Ñ‹ уверены, что хотите перезагрузить устройство? Ð’Ñ‹ будете отключены.'; @override - String get settings_debug => 'Отладка'; + String get settings_debug => 'Отладка'; @override - String get settings_bleDebugLog => 'Журнал отладки BLE'; + String get settings_bleDebugLog => 'Журнал отладки BLE'; @override String get settings_bleDebugLogSubtitle => - 'Команды BLE, ответы и сырые данные'; + 'Команды BLE, ответы и сырые данные'; @override - String get settings_appDebugLog => 'Журнал отладки приложения'; + String get settings_appDebugLog => + 'Журнал отладки приложения'; @override - String get settings_appDebugLogSubtitle => 'Сообщения отладки приложения'; + String get settings_appDebugLogSubtitle => + 'Сообщения отладки приложения'; @override - String get settings_about => 'О программе'; + String get settings_about => 'О программе'; @override String settings_aboutVersion(String version) { @@ -357,1209 +368,1278 @@ class AppLocalizationsRu extends AppLocalizations { @override String get settings_aboutDescription => - 'Открытое клиентское приложение на Flutter для устройств MeshCore с LoRa-сетями.'; + 'Открытое клиентское приложение на Flutter для устройств MeshCore с LoRa-сетями.'; @override String get settings_aboutOpenMeteoAttribution => - 'Данные о высоте LOS: Open-Meteo (CC BY 4.0)'; + 'Данные о высоте LOS: Open-Meteo (CC BY 4.0)'; @override - String get settings_infoName => 'Имя'; + String get settings_infoName => 'Имя'; @override String get settings_infoId => 'ID'; @override - String get settings_infoStatus => 'Статус'; + String get settings_infoStatus => 'Статус'; @override - String get settings_infoBattery => 'Батарея'; + String get settings_infoBattery => 'Батарея'; @override - String get settings_infoPublicKey => 'Публичный ключ'; + String get settings_infoPublicKey => 'Публичный ключ'; @override - String get settings_infoContactsCount => 'Количество контактов'; + String get settings_infoContactsCount => + 'Количество контактов'; @override - String get settings_infoChannelCount => 'Количество каналов'; + String get settings_infoChannelCount => 'Количество каналов'; @override - String get settings_presets => 'Пресеты'; + String get settings_presets => 'Пресеты'; @override - String get settings_frequency => 'Частота (МГц)'; + String get settings_frequency => 'Частота (МГц)'; @override - String get settings_frequencyHelper => '300.0 – 2500.0'; + String get settings_frequencyHelper => '300.0 – 2500.0'; @override - String get settings_frequencyInvalid => 'Недопустимая частота (300–2500 МГц)'; + String get settings_frequencyInvalid => + 'Недопустимая частота (300–2500 МГц)'; @override - String get settings_bandwidth => 'Полоса пропускания'; + String get settings_bandwidth => 'Полоса пропускания'; @override - String get settings_spreadingFactor => 'Коэффициент расширения'; + String get settings_spreadingFactor => + 'Коэффициент расширения'; @override - String get settings_codingRate => 'Коэффициент кодирования'; + String get settings_codingRate => + 'Коэффициент кодирования'; @override - String get settings_txPower => 'Мощность передачи (дБм)'; + String get settings_txPower => 'Мощность передачи (дБм)'; @override - String get settings_txPowerHelper => '0 – 22'; + String get settings_txPowerHelper => '0 – 22'; @override String get settings_txPowerInvalid => - 'Недопустимая мощность передачи (0–22 дБм)'; + 'Недопустимая мощность передачи (0–22 дБм)'; @override - String get settings_clientRepeat => 'Повторение \"вне сети\"'; + String get settings_clientRepeat => + 'Повторение \"вне сети\"'; @override String get settings_clientRepeatSubtitle => - 'Позвольте этому устройству повторять пакеты данных для других устройств.'; + 'Позвольте этому устройству повторять пакеты данных для других устройств.'; @override String get settings_clientRepeatFreqWarning => - 'Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.'; + 'Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.'; @override String settings_error(String message) { - return 'Ошибка: $message'; + return 'Ошибка: $message'; } @override - String get appSettings_title => 'Настройки приложения'; + String get appSettings_title => 'Настройки приложения'; @override - String get appSettings_appearance => 'Внешний вид'; + String get appSettings_appearance => 'Внешний вид'; @override - String get appSettings_theme => 'Тема'; + String get appSettings_theme => 'Тема'; @override - String get appSettings_themeSystem => 'Как в системе'; + String get appSettings_themeSystem => 'Как в системе'; @override - String get appSettings_themeLight => 'Светлая'; + String get appSettings_themeLight => 'Светлая'; @override - String get appSettings_themeDark => 'Тёмная'; + String get appSettings_themeDark => 'Тёмная'; @override - String get appSettings_language => 'Язык'; + String get appSettings_language => 'Язык'; @override - String get appSettings_languageSystem => 'Как в системе'; + String get appSettings_languageSystem => 'Как в системе'; @override - String get appSettings_languageEn => 'Английский'; + String get appSettings_languageEn => 'Английский'; @override - String get appSettings_languageFr => 'Французский'; + String get appSettings_languageFr => 'Французский'; @override - String get appSettings_languageEs => 'Испанский'; + String get appSettings_languageEs => 'Испанский'; @override - String get appSettings_languageDe => 'Немецкий'; + String get appSettings_languageDe => 'Немецкий'; @override - String get appSettings_languagePl => 'Польский'; + String get appSettings_languagePl => 'Польский'; @override - String get appSettings_languageSl => 'Словенский'; + String get appSettings_languageSl => 'Словенский'; @override - String get appSettings_languagePt => 'Португальский'; + String get appSettings_languagePt => 'Португальский'; @override - String get appSettings_languageIt => 'Итальянский'; + String get appSettings_languageIt => 'Итальянский'; @override - String get appSettings_languageZh => 'Китайский'; + String get appSettings_languageZh => 'Китайский'; @override - String get appSettings_languageSv => 'Шведский'; + String get appSettings_languageSv => 'Шведский'; @override - String get appSettings_languageNl => 'Нидерландский'; + String get appSettings_languageNl => 'Нидерландский'; @override - String get appSettings_languageSk => 'Словацкий'; + String get appSettings_languageSk => 'Словацкий'; @override - String get appSettings_languageBg => 'Болгарский'; + String get appSettings_languageBg => 'Болгарский'; @override - String get appSettings_languageRu => 'Русский'; + String get appSettings_languageRu => 'Русский'; @override - String get appSettings_languageUk => 'Українська'; + String get appSettings_languageUk => 'Українська'; @override String get appSettings_enableMessageTracing => - 'Включить трассировку сообщений'; + 'Включить трассировку сообщений'; @override String get appSettings_enableMessageTracingSubtitle => - 'Показывать подробные метаданные о маршрутизации и времени для сообщений'; + 'Показывать подробные метаданные о маршрутизации и времени для сообщений'; @override - String get appSettings_notifications => 'Уведомления'; + String get appSettings_notifications => 'Уведомления'; @override - String get appSettings_enableNotifications => 'Включить уведомления'; + String get appSettings_enableNotifications => + 'Включить уведомления'; @override String get appSettings_enableNotificationsSubtitle => - 'Получать уведомления о сообщениях и оповещениях'; + 'Получать уведомления о сообщениях и оповещениях'; @override String get appSettings_notificationPermissionDenied => - 'Разрешение на уведомления отклонено'; + 'Разрешение на уведомления отклонено'; @override - String get appSettings_notificationsEnabled => 'Уведомления включены'; + String get appSettings_notificationsEnabled => + 'Уведомления включены'; @override - String get appSettings_notificationsDisabled => 'Уведомления отключены'; + String get appSettings_notificationsDisabled => + 'Уведомления отключены'; @override - String get appSettings_messageNotifications => 'Уведомления о сообщениях'; + String get appSettings_messageNotifications => + 'Уведомления о сообщениях'; @override String get appSettings_messageNotificationsSubtitle => - 'Показывать уведомление при получении новых сообщений'; + 'Показывать уведомление при получении новых сообщений'; @override String get appSettings_channelMessageNotifications => - 'Уведомления о сообщениях в каналах'; + 'Уведомления о сообщениях в каналах'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Показывать уведомление при получении сообщений в каналах'; + 'Показывать уведомление при получении сообщений в каналах'; @override String get appSettings_advertisementNotifications => - 'Уведомления об анонсированиях'; + 'Уведомления об анонсированиях'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Показывать уведомление при обнаружении новых нод'; + 'Показывать уведомление при обнаружении новых нод'; @override - String get appSettings_messaging => 'Обмен сообщениями'; + String get appSettings_messaging => 'Обмен сообщениями'; @override String get appSettings_clearPathOnMaxRetry => - 'Сбросить маршрут после максимального числа попыток'; + 'Сбросить маршрут после максимального числа попыток'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Сбросить маршрут контакта после 5 неудачных попыток отправки'; + 'Сбросить маршрут контакта после 5 неудачных попыток отправки'; @override String get appSettings_pathsWillBeCleared => - 'Маршруты будут сброшены после 5 неудачных попыток'; + 'Маршруты будут сброшены после 5 неудачных попыток'; @override String get appSettings_pathsWillNotBeCleared => - 'Маршруты не будут автоматически сбрасываться'; + 'Маршруты не будут автоматически сбрасываться'; @override String get appSettings_autoRouteRotation => - 'Автоматическое переключение маршрутов'; + 'Автоматическое переключение маршрутов'; @override String get appSettings_autoRouteRotationSubtitle => - 'Циклически переключаться между лучшими маршрутами и режимом рассылки'; + 'Циклически переключаться между лучшими маршрутами и режимом рассылки'; @override String get appSettings_autoRouteRotationEnabled => - 'Автоматическое переключение маршрутов включено'; + 'Автоматическое переключение маршрутов включено'; @override String get appSettings_autoRouteRotationDisabled => - 'Автоматическое переключение маршрутов отключено'; + 'Автоматическое переключение маршрутов отключено'; @override - String get appSettings_battery => 'Батарея'; + String get appSettings_battery => 'Батарея'; @override - String get appSettings_batteryChemistry => 'Химия батареи'; + String get appSettings_batteryChemistry => 'Химия батареи'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Установить для устройства ($deviceName)'; + return 'Установить для устройства ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Подключитесь к устройству, чтобы выбрать'; + 'Подключитесь к устройству, чтобы выбрать'; @override - String get appSettings_batteryNmc => '18650 NMC (3.0–4.2 В)'; + String get appSettings_batteryNmc => '18650 NMC (3.0–4.2 Ð’)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2.6–3.65 В)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2.6–3.65 Ð’)'; @override - String get appSettings_batteryLipo => 'LiPo (3.0–4.2 В)'; + String get appSettings_batteryLipo => 'LiPo (3.0–4.2 Ð’)'; @override - String get appSettings_mapDisplay => 'Отображение карты'; + String get appSettings_mapDisplay => 'Отображение карты'; @override - String get appSettings_showRepeaters => 'Показывать репитеры'; + String get appSettings_showRepeaters => + 'Показывать репитеры'; @override String get appSettings_showRepeatersSubtitle => - 'Отображать репитеры на карте'; + 'Отображать репитеры на карте'; @override - String get appSettings_showChatNodes => 'Показывать чат-ноды'; + String get appSettings_showChatNodes => + 'Показывать чат-ноды'; @override String get appSettings_showChatNodesSubtitle => - 'Отображать чат-ноды на карте'; + 'Отображать чат-ноды на карте'; @override - String get appSettings_showOtherNodes => 'Показывать другие ноды'; + String get appSettings_showOtherNodes => + 'Показывать другие ноды'; @override String get appSettings_showOtherNodesSubtitle => - 'Отображать другие типы нод на карте'; + 'Отображать другие типы нод на карте'; @override - String get appSettings_timeFilter => 'Фильтр по времени'; + String get appSettings_timeFilter => 'Фильтр по времени'; @override - String get appSettings_timeFilterShowAll => 'Показывать все ноды'; + String get appSettings_timeFilterShowAll => + 'Показывать все ноды'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Показывать ноды за последние $hours ч'; + return 'Показывать ноды за последние $hours ч'; } @override - String get appSettings_mapTimeFilter => 'Временной фильтр карты'; + String get appSettings_mapTimeFilter => + 'Временной фильтр карты'; @override String get appSettings_showNodesDiscoveredWithin => - 'Показывать ноды, обнаруженные за:'; + 'Показывать ноды, обнаруженные за:'; @override - String get appSettings_allTime => 'Всё время'; + String get appSettings_allTime => 'Всё время'; @override - String get appSettings_lastHour => 'Последний час'; + String get appSettings_lastHour => 'Последний час'; @override - String get appSettings_last6Hours => 'Последние 6 часов'; + String get appSettings_last6Hours => 'Последние 6 часов'; @override - String get appSettings_last24Hours => 'Последние 24 часа'; + String get appSettings_last24Hours => 'Последние 24 часа'; @override - String get appSettings_lastWeek => 'Последнюю неделю'; + String get appSettings_lastWeek => 'Последнюю неделю'; @override - String get appSettings_offlineMapCache => 'Кэш офлайн-карты'; + String get appSettings_offlineMapCache => 'Кэш офлайн-карты'; @override - String get appSettings_unitsTitle => 'Единицы'; + String get appSettings_unitsTitle => 'Единицы'; @override - String get appSettings_unitsMetric => 'Метрическая (м/км)'; + String get appSettings_unitsMetric => 'Метрическая (м/км)'; @override - String get appSettings_unitsImperial => 'Имперская (ft / mi)'; + String get appSettings_unitsImperial => 'Имперская (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Область не выбрана'; + String get appSettings_noAreaSelected => 'Область не выбрана'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Область выбрана (масштаб $minZoom–$maxZoom)'; + return 'Область выбрана (масштаб $minZoom–$maxZoom)'; } @override - String get appSettings_debugCard => 'Отладка'; + String get appSettings_debugCard => 'Отладка'; @override - String get appSettings_appDebugLogging => 'Журнал отладки приложения'; + String get appSettings_appDebugLogging => + 'Журнал отладки приложения'; @override String get appSettings_appDebugLoggingSubtitle => - 'Записывать отладочные сообщения приложения для диагностики'; + 'Записывать отладочные сообщения приложения для диагностики'; @override String get appSettings_appDebugLoggingEnabled => - 'Журнал отладки приложения включён'; + 'Журнал отладки приложения включён'; @override String get appSettings_appDebugLoggingDisabled => - 'Журнал отладки приложения отключён'; + 'Журнал отладки приложения отключён'; @override - String get contacts_title => 'Контакты'; + String get contacts_title => 'Контакты'; @override - String get contacts_noContacts => 'Контактов пока нет'; + String get contacts_noContacts => 'Контактов пока нет'; @override String get contacts_contactsWillAppear => - 'Контакты появятся, когда устройства начнут рассылать оповещения'; + 'Контакты появятся, когда устройства начнут рассылать оповещения'; @override - String get contacts_unread => 'Непрочитанное'; + String get contacts_unread => 'Непрочитанное'; @override - String get contacts_searchContactsNoNumber => 'Поиск контактов...'; + String get contacts_searchContactsNoNumber => + 'Поиск контактов...'; @override String contacts_searchContacts(int number, String str) { - return 'Поиск контактов...'; + return 'Поиск контактов...'; } @override String contacts_searchFavorites(int number, String str) { - return 'Поиск $number$str избранного...'; + return 'Поиск $number$str избранного...'; } @override String contacts_searchUsers(int number, String str) { - return 'Поиск $number$str пользователей...'; + return 'Поиск $number$str пользователей...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Поиск $number$str ретрансляторов...'; + return 'Поиск $number$str ретрансляторов...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Поиск $number$str серверов комнат...'; + return 'Поиск $number$str серверов комнат...'; } @override - String get contacts_noUnreadContacts => 'Нет непрочитанных контактов'; + String get contacts_noUnreadContacts => + 'Нет непрочитанных контактов'; @override - String get contacts_noContactsFound => 'Контакты или группы не найдены'; + String get contacts_noContactsFound => + 'Контакты или группы не найдены'; @override - String get contacts_deleteContact => 'Удалить контакт'; + String get contacts_deleteContact => 'Удалить контакт'; @override String contacts_removeConfirm(String contactName) { - return 'Удалить $contactName из контактов?'; + return 'Удалить $contactName из контактов?'; } @override - String get contacts_manageRepeater => 'Управление репитером'; + String get contacts_manageRepeater => + 'Управление репитером'; @override - String get contacts_manageRoom => 'Управление сервером комнат'; + String get contacts_manageRoom => + 'Управление сервером комнат'; @override - String get contacts_roomLogin => 'Вход на сервер комнат'; + String get contacts_roomLogin => 'Вход на сервер комнат'; @override - String get contacts_openChat => 'Открыть чат'; + String get contacts_openChat => 'Открыть чат'; @override - String get contacts_editGroup => 'Изменить группу'; + String get contacts_editGroup => 'Изменить группу'; @override - String get contacts_deleteGroup => 'Удалить группу'; + String get contacts_deleteGroup => 'Удалить группу'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Удалить \"$groupName\"?'; + return 'Удалить \"$groupName\"?'; } @override - String get contacts_newGroup => 'Новая группа'; + String get contacts_newGroup => 'Новая группа'; @override - String get contacts_groupName => 'Имя группы'; + String get contacts_groupName => 'Имя группы'; @override - String get contacts_groupNameRequired => 'Имя группы обязательно'; + String get contacts_groupNameRequired => + 'Имя группы обязательно'; @override String contacts_groupAlreadyExists(String name) { - return 'Группа \"$name\" уже существует'; + return 'Группа \"$name\" уже существует'; } @override - String get contacts_filterContacts => 'Фильтр контактов...'; + String get contacts_filterContacts => 'Фильтр контактов...'; @override String get contacts_noContactsMatchFilter => - 'Нет контактов, соответствующих фильтру'; + 'Нет контактов, соответствующих фильтру'; @override - String get contacts_noMembers => 'Нет участников'; + String get contacts_noMembers => 'Нет участников'; @override - String get contacts_lastSeenNow => 'Видели только что'; + String get contacts_lastSeenNow => 'Видели только что'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Видели $minutes мин назад'; + return 'Видели $minutes мин назад'; } @override - String get contacts_lastSeenHourAgo => 'Видели 1 час назад'; + String get contacts_lastSeenHourAgo => 'Видели 1 час назад'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Видели $hours ч назад'; + return 'Видели $hours ч назад'; } @override - String get contacts_lastSeenDayAgo => 'Видели 1 день назад'; + String get contacts_lastSeenDayAgo => 'Видели 1 день назад'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Видели $days дн. назад'; + return 'Видели $days дн. назад'; } @override - String get channels_title => 'Каналы'; + String get channels_title => 'Каналы'; @override - String get channels_noChannelsConfigured => 'Каналы не настроены'; + String get channels_noChannelsConfigured => + 'Каналы не настроены'; @override - String get channels_addPublicChannel => 'Добавить публичный канал'; + String get channels_addPublicChannel => + 'Добавить публичный канал'; @override - String get channels_searchChannels => 'Поиск каналов...'; + String get channels_searchChannels => 'Поиск каналов...'; @override - String get channels_noChannelsFound => 'Каналы не найдены'; + String get channels_noChannelsFound => 'Каналы не найдены'; @override String channels_channelIndex(int index) { - return 'Канал $index'; + return 'Канал $index'; } @override - String get channels_hashtagChannel => 'Хэштег-канал'; + String get channels_hashtagChannel => 'Хэштег-канал'; @override - String get channels_public => 'Публичный'; + String get channels_public => 'Публичный'; @override - String get channels_private => 'Приватный'; + String get channels_private => 'Приватный'; @override - String get channels_publicChannel => 'Публичный канал'; + String get channels_publicChannel => 'Публичный канал'; @override - String get channels_privateChannel => 'Приватный канал'; + String get channels_privateChannel => 'Приватный канал'; @override - String get channels_editChannel => 'Изменить канал'; + String get channels_editChannel => 'Изменить канал'; @override - String get channels_muteChannel => 'Отключить уведомления канала'; + String get channels_muteChannel => + 'Отключить уведомления канала'; @override - String get channels_unmuteChannel => 'Включить уведомления канала'; + String get channels_unmuteChannel => + 'Включить уведомления канала'; @override - String get channels_deleteChannel => 'Удалить канал'; + String get channels_deleteChannel => 'Удалить канал'; @override String channels_deleteChannelConfirm(String name) { - return 'Удалить \"$name\"? Это действие нельзя отменить.'; + return 'Удалить \"$name\"? Это действие нельзя отменить.'; } @override String channels_channelDeleteFailed(String name) { - return 'Не удалось удалить канал $name.'; + return 'Не удалось удалить канал $name.'; } @override String channels_channelDeleted(String name) { - return 'Канал \"$name\" удалён'; + return 'Канал \"$name\" удалён'; } @override - String get channels_addChannel => 'Добавить канал'; + String get channels_addChannel => 'Добавить канал'; @override - String get channels_channelIndexLabel => 'Индекс канала'; + String get channels_channelIndexLabel => 'Индекс канала'; @override - String get channels_channelName => 'Имя канала'; + String get channels_channelName => 'Имя канала'; @override - String get channels_usePublicChannel => 'Использовать публичный канал'; + String get channels_usePublicChannel => + 'Использовать публичный канал'; @override - String get channels_standardPublicPsk => 'Стандартный публичный PSK'; + String get channels_standardPublicPsk => + 'Стандартный публичный PSK'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Сгенерировать случайный PSK'; + String get channels_generateRandomPsk => + 'Сгенерировать случайный PSK'; @override - String get channels_enterChannelName => 'Введите имя канала'; + String get channels_enterChannelName => 'Введите имя канала'; @override String get channels_pskMustBe32Hex => - 'PSK должен содержать 32 шестнадцатеричных символа'; + 'PSK должен содержать 32 шестнадцатеричных символа'; @override String channels_channelAdded(String name) { - return 'Канал \"$name\" добавлен'; + return 'Канал \"$name\" добавлен'; } @override String channels_editChannelTitle(int index) { - return 'Изменить канал $index'; + return 'Изменить канал $index'; } @override - String get channels_smazCompression => 'Сжатие SMAZ'; + String get channels_smazCompression => 'Сжатие SMAZ'; @override String channels_channelUpdated(String name) { - return 'Канал \"$name\" обновлён'; + return 'Канал \"$name\" обновлён'; } @override - String get channels_publicChannelAdded => 'Публичный канал добавлен'; + String get channels_publicChannelAdded => + 'Публичный канал добавлен'; @override - String get channels_sortBy => 'Сортировка'; + String get channels_sortBy => 'Сортировка'; @override - String get channels_sortManual => 'Вручную'; + String get channels_sortManual => 'Вручную'; @override - String get channels_sortAZ => 'По алфавиту'; + String get channels_sortAZ => 'По алфавиту'; @override - String get channels_sortLatestMessages => 'По последним сообщениям'; + String get channels_sortLatestMessages => + 'По последним сообщениям'; @override - String get channels_sortUnread => 'По непрочитанным'; + String get channels_sortUnread => 'По непрочитанным'; @override - String get channels_createPrivateChannel => 'Создать приватный канал'; + String get channels_createPrivateChannel => + 'Создать приватный канал'; @override - String get channels_createPrivateChannelDesc => 'Защищён секретным ключом.'; + String get channels_createPrivateChannelDesc => + 'Защищён секретным ключом.'; @override String get channels_joinPrivateChannel => - 'Присоединиться к приватному каналу'; + 'Присоединиться к приватному каналу'; @override String get channels_joinPrivateChannelDesc => - 'Введите секретный ключ вручную.'; + 'Введите секретный ключ вручную.'; @override - String get channels_joinPublicChannel => 'Присоединиться к публичному каналу'; + String get channels_joinPublicChannel => + 'Присоединиться к публичному каналу'; @override String get channels_joinPublicChannelDesc => - 'К этому каналу может присоединиться любой.'; + 'К этому каналу может присоединиться любой.'; @override - String get channels_joinHashtagChannel => 'Присоединиться к хэштег-каналу'; + String get channels_joinHashtagChannel => + 'Присоединиться к хэштег-каналу'; @override String get channels_joinHashtagChannelDesc => - 'К хэштег-каналам может присоединиться любой.'; + 'К хэштег-каналам может присоединиться любой.'; @override - String get channels_scanQrCode => 'Сканировать QR-код'; + String get channels_scanQrCode => 'Сканировать QR-код'; @override - String get channels_scanQrCodeComingSoon => 'Скоро будет'; + String get channels_scanQrCodeComingSoon => 'Скоро будет'; @override - String get channels_enterHashtag => 'Введите хэштег'; + String get channels_enterHashtag => 'Введите хэштег'; @override - String get channels_hashtagHint => 'например, #команда'; + String get channels_hashtagHint => 'например, #команда'; @override - String get chat_noMessages => 'Сообщений пока нет'; + String get chat_noMessages => 'Сообщений пока нет'; @override - String get chat_sendMessageToStart => 'Отправьте сообщение, чтобы начать'; + String get chat_sendMessageToStart => + 'Отправьте сообщение, чтобы начать'; @override - String get chat_originalMessageNotFound => 'Исходное сообщение не найдено'; + String get chat_originalMessageNotFound => + 'Исходное сообщение не найдено'; @override String chat_replyingTo(String name) { - return 'Ответ для $name'; + return 'Ответ для $name'; } @override String chat_replyTo(String name) { - return 'Ответить $name'; + return 'Ответить $name'; } @override - String get chat_location => 'Местоположение'; + String get chat_location => 'Местоположение'; @override String chat_sendMessageTo(String contactName) { - return 'Отправить сообщение $contactName'; + return 'Отправить сообщение $contactName'; } @override - String get chat_typeMessage => 'Напишите сообщение...'; + String get chat_typeMessage => 'Напишите сообщение...'; @override String chat_messageTooLong(int maxBytes) { - return 'Сообщение слишком длинное (макс. $maxBytes байт).'; + return 'Сообщение слишком длинное (макс. $maxBytes байт).'; } @override - String get chat_messageCopied => 'Сообщение скопировано'; + String get chat_messageCopied => 'Сообщение скопировано'; @override - String get chat_messageDeleted => 'Сообщение удалено'; + String get chat_messageDeleted => 'Сообщение удалено'; @override - String get chat_retryingMessage => 'Повтор отправки сообщения'; + String get chat_retryingMessage => + 'Повтор отправки сообщения'; @override String chat_retryCount(int current, int max) { - return 'Попытка $current/$max'; + return 'Попытка $current/$max'; } @override - String get chat_sendGif => 'Отправить GIF'; + String get chat_sendGif => 'Отправить GIF'; @override - String get chat_reply => 'Ответить'; + String get chat_reply => 'Ответить'; @override - String get chat_addReaction => 'Добавить реакцию'; + String get chat_addReaction => 'Добавить реакцию'; @override - String get chat_me => 'Я'; + String get chat_me => 'Я'; @override - String get emojiCategorySmileys => 'Смайлы'; + String get emojiCategorySmileys => 'Смайлы'; @override - String get emojiCategoryGestures => 'Жесты'; + String get emojiCategoryGestures => 'Жесты'; @override - String get emojiCategoryHearts => 'Сердечки'; + String get emojiCategoryHearts => 'Сердечки'; @override - String get emojiCategoryObjects => 'Предметы'; + String get emojiCategoryObjects => 'Предметы'; @override - String get gifPicker_title => 'Выберите GIF'; + String get gifPicker_title => 'Выберите GIF'; @override - String get gifPicker_searchHint => 'Поиск GIF...'; + String get gifPicker_searchHint => 'Поиск GIF...'; @override - String get gifPicker_poweredBy => 'Работает на GIPHY'; + String get gifPicker_poweredBy => 'Работает на GIPHY'; @override - String get gifPicker_noGifsFound => 'GIF не найдены'; + String get gifPicker_noGifsFound => 'GIF не найдены'; @override - String get gifPicker_failedLoad => 'Не удалось загрузить GIF'; + String get gifPicker_failedLoad => + 'Не удалось загрузить GIF'; @override - String get gifPicker_failedSearch => 'Не удалось выполнить поиск GIF'; + String get gifPicker_failedSearch => + 'Не удалось выполнить поиск GIF'; @override - String get gifPicker_noInternet => 'Нет подключения к интернету'; + String get gifPicker_noInternet => + 'Нет подключения к интернету'; @override - String get debugLog_appTitle => 'Журнал отладки приложения'; + String get debugLog_appTitle => + 'Журнал отладки приложения'; @override - String get debugLog_bleTitle => 'Журнал отладки BLE'; + String get debugLog_bleTitle => 'Журнал отладки BLE'; @override - String get debugLog_copyLog => 'Копировать журнал'; + String get debugLog_copyLog => 'Копировать журнал'; @override - String get debugLog_clearLog => 'Очистить журнал'; + String get debugLog_clearLog => 'Очистить журнал'; @override - String get debugLog_copied => 'Журнал отладки скопирован'; + String get debugLog_copied => + 'Журнал отладки скопирован'; @override - String get debugLog_bleCopied => 'Журнал BLE скопирован'; + String get debugLog_bleCopied => 'Журнал BLE скопирован'; @override - String get debugLog_noEntries => 'Журнал отладки пока пуст'; + String get debugLog_noEntries => + 'Журнал отладки пока пуст'; @override String get debugLog_enableInSettings => - 'Включите запись журнала отладки в настройках'; + 'Включите запись журнала отладки в настройках'; @override - String get debugLog_frames => 'Фреймы'; + String get debugLog_frames => 'Фреймы'; @override - String get debugLog_rawLogRx => 'Сырой журнал приёма'; + String get debugLog_rawLogRx => 'Сырой журнал приёма'; @override - String get debugLog_noBleActivity => 'Активность BLE пока отсутствует'; + String get debugLog_noBleActivity => + 'Активность BLE пока отсутствует'; @override String debugFrame_length(int count) { - return 'Длина фрейма: $count байт'; + return 'Длина фрейма: $count байт'; } @override String debugFrame_command(String value) { - return 'Команда: 0x$value'; + return 'Команда: 0x$value'; } @override - String get debugFrame_textMessageHeader => 'Фрейм текстового сообщения:'; + String get debugFrame_textMessageHeader => + 'Фрейм текстового сообщения:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '- Публичный ключ получателя: $pubKey'; + return '- Публичный ключ получателя: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Временная метка: $timestamp'; + return '- Временная метка: $timestamp'; } @override String debugFrame_flags(String value) { - return '- Флаги: 0x$value'; + return '- Флаги: 0x$value'; } @override String debugFrame_textType(int type, String label) { - return '- Тип текста: $type ($label)'; + return '- Тип текста: $type ($label)'; } @override String get debugFrame_textTypeCli => 'CLI'; @override - String get debugFrame_textTypePlain => 'Обычный'; + String get debugFrame_textTypePlain => 'Обычный'; @override String debugFrame_text(String text) { - return '- Текст: \"$text\"'; + return '- Текст: \"$text\"'; } @override - String get debugFrame_hexDump => 'Шестнадцатеричный дамп:'; + String get debugFrame_hexDump => + 'Шестнадцатеричный дамп:'; @override - String get chat_pathManagement => 'Управление маршрутами'; + String get chat_pathManagement => 'Управление маршрутами'; @override - String get chat_ShowAllPaths => 'Показать все пути'; + String get chat_ShowAllPaths => 'Показать все пути'; @override - String get chat_routingMode => 'Режим маршрутизации'; + String get chat_routingMode => 'Режим маршрутизации'; @override - String get chat_autoUseSavedPath => 'Авто (использовать сохранённый маршрут)'; + String get chat_autoUseSavedPath => + 'Авто (использовать сохранённый маршрут)'; @override - String get chat_forceFloodMode => 'Принудительный режим рассылки'; + String get chat_forceFloodMode => + 'Принудительный режим рассылки'; @override String get chat_recentAckPaths => - 'Недавние подтверждённые маршруты (нажмите, чтобы использовать):'; + 'Недавние подтверждённые маршруты (нажмите, чтобы использовать):'; @override String get chat_pathHistoryFull => - 'История маршрутов заполнена. Удалите записи, чтобы добавить новые.'; + 'История маршрутов заполнена. Удалите записи, чтобы добавить новые.'; @override - String get chat_hopSingular => 'хоп'; + String get chat_hopSingular => 'хоп'; @override - String get chat_hopPlural => 'хопов'; + String get chat_hopPlural => 'хопов'; @override String chat_hopsCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'хопов', - many: 'хопов', - few: 'хопа', - one: 'хоп', + other: 'хопов', + many: 'хопов', + few: 'хопа', + one: 'хоп', ); return '$count $_temp0'; } @override - String get chat_successes => 'успешно'; + String get chat_successes => 'успешно'; @override - String get chat_removePath => 'Удалить маршрут'; + String get chat_removePath => 'Удалить маршрут'; @override String get chat_noPathHistoryYet => - 'История маршрутов пока пуста.\nОтправьте сообщение, чтобы обнаружить маршруты.'; + 'История маршрутов пока пуста.\nОтправьте сообщение, чтобы обнаружить маршруты.'; @override - String get chat_pathActions => 'Действия с маршрутом:'; + String get chat_pathActions => 'Действия с маршрутом:'; @override - String get chat_setCustomPath => 'Указать маршрут вручную'; + String get chat_setCustomPath => + 'Указать маршрут вручную'; @override - String get chat_setCustomPathSubtitle => 'Вручную задать маршрут передачи'; + String get chat_setCustomPathSubtitle => + 'Вручную задать маршрут передачи'; @override - String get chat_clearPath => 'Очистить маршрут'; + String get chat_clearPath => 'Очистить маршрут'; @override String get chat_clearPathSubtitle => - 'Принудительно обновить маршрут при следующей отправке'; + 'Принудительно обновить маршрут при следующей отправке'; @override String get chat_pathCleared => - 'Маршрут очищен. Следующее сообщение обновит маршрут.'; + 'Маршрут очищен. Следующее сообщение обновит маршрут.'; @override String get chat_floodModeSubtitle => - 'Используйте переключатель маршрутизации в панели приложения'; + 'Используйте переключатель маршрутизации в панели приложения'; @override String get chat_floodModeEnabled => - 'Режим рассылки включён. Отключите через значок маршрутизации в панели приложения.'; + 'Режим рассылки включён. Отключите через значок маршрутизации в панели приложения.'; @override - String get chat_fullPath => 'Полный маршрут'; + String get chat_fullPath => 'Полный маршрут'; @override String get chat_pathDetailsNotAvailable => - 'Детали маршрута ещё недоступны. Попробуйте отправить сообщение для обновления.'; + 'Детали маршрута ещё недоступны. Попробуйте отправить сообщение для обновления.'; @override String chat_pathSetHops(int hopCount, String status) { String _temp0 = intl.Intl.pluralLogic( hopCount, locale: localeName, - other: 'хопов', - many: 'хопов', - few: 'хопа', - one: 'хоп', + other: 'хопов', + many: 'хопов', + few: 'хопа', + one: 'хоп', ); - return 'Маршрут установлен: $hopCount $_temp0 — $status'; + return 'Маршрут установлен: $hopCount $_temp0 — $status'; } @override String get chat_pathSavedLocally => - 'Сохранено локально. Подключитесь для синхронизации.'; + 'Сохранено локально. Подключитесь для синхронизации.'; @override - String get chat_pathDeviceConfirmed => 'Подтверждено устройством.'; + String get chat_pathDeviceConfirmed => + 'Подтверждено устройством.'; @override - String get chat_pathDeviceNotConfirmed => 'Ещё не подтверждено устройством.'; + String get chat_pathDeviceNotConfirmed => + 'Ещё не подтверждено устройством.'; @override - String get chat_type => 'Тип'; + String get chat_type => 'Тип'; @override - String get chat_path => 'Маршрут'; + String get chat_path => 'Маршрут'; @override - String get chat_publicKey => 'Публичный ключ'; + String get chat_publicKey => 'Публичный ключ'; @override - String get chat_compressOutgoingMessages => 'Сжимать исходящие сообщения'; + String get chat_compressOutgoingMessages => + 'Сжимать исходящие сообщения'; @override - String get chat_floodForced => 'Рассылка (принудительно)'; + String get chat_floodForced => + 'Рассылка (принудительно)'; @override - String get chat_directForced => 'Прямой (принудительно)'; + String get chat_directForced => 'Прямой (принудительно)'; @override String chat_hopsForced(int count) { - return '$count хоп(ов) (принудительно)'; + return '$count хоп(ов) (принудительно)'; } @override - String get chat_floodAuto => 'Рассылка (авто)'; + String get chat_floodAuto => 'Рассылка (авто)'; @override - String get chat_direct => 'Прямой'; + String get chat_direct => 'Прямой'; @override - String get chat_poiShared => 'Точка интереса отправлена'; + String get chat_poiShared => + 'Точка интереса отправлена'; @override String chat_unread(int count) { - return 'Непрочитанных: $count'; + return 'Непрочитанных: $count'; } @override - String get chat_openLink => 'Открыть ссылку?'; + String get chat_openLink => 'Открыть ссылку?'; @override String get chat_openLinkConfirmation => - 'Хотите открыть эту ссылку в вашем браузере?'; + 'Хотите открыть эту ссылку в вашем браузере?'; @override - String get chat_open => 'Открыть'; + String get chat_open => 'Открыть'; @override String chat_couldNotOpenLink(String url) { - return 'Не удалось открыть ссылку: $url'; + return 'Не удалось открыть ссылку: $url'; } @override - String get chat_invalidLink => 'Неправильный формат ссылки'; + String get chat_invalidLink => + 'Неправильный формат ссылки'; @override - String get map_title => 'Карта нод'; + String get map_title => 'Карта нод'; @override - String get map_lineOfSight => 'Линия видимости'; + String get map_lineOfSight => 'Линия видимости'; @override - String get map_losScreenTitle => 'Линия видимости'; + String get map_losScreenTitle => 'Линия видимости'; @override - String get map_noNodesWithLocation => 'Нет нод с данными о местоположении'; + String get map_noNodesWithLocation => + 'Нет нод с данными о местоположении'; @override String get map_nodesNeedGps => - 'Ноды должны передавать свои GPS-координаты, чтобы отображаться на карте'; + 'Ноды должны передавать свои GPS-координаты, чтобы отображаться на карте'; @override String map_nodesCount(int count) { - return 'Нод: $count'; + return 'Нод: $count'; } @override String map_pinsCount(int count) { - return 'Меток: $count'; + return 'Меток: $count'; } @override - String get map_chat => 'Чат'; + String get map_chat => 'Чат'; @override - String get map_repeater => 'Репитер'; + String get map_repeater => 'Репитер'; @override - String get map_room => 'Комната'; + String get map_room => 'Комната'; @override - String get map_sensor => 'Сенсор'; + String get map_sensor => 'Сенсор'; @override - String get map_pinDm => 'Метка (ЛС)'; + String get map_pinDm => 'Метка (ЛС)'; @override - String get map_pinPrivate => 'Метка (Приватная)'; + String get map_pinPrivate => 'Метка (Приватная)'; @override - String get map_pinPublic => 'Метка (Публичная)'; + String get map_pinPublic => 'Метка (Публичная)'; @override - String get map_lastSeen => 'Последнее появление'; + String get map_lastSeen => 'Последнее появление'; @override String get map_disconnectConfirm => - 'Вы уверены, что хотите отключиться от этого устройства?'; + 'Ð’Ñ‹ уверены, что хотите отключиться от этого устройства?'; @override - String get map_from => 'От'; + String get map_from => 'От'; @override - String get map_source => 'Источник'; + String get map_source => 'Источник'; @override - String get map_flags => 'Флаги'; + String get map_flags => 'Флаги'; @override - String get map_shareMarkerHere => 'Поделиться меткой здесь'; + String get map_shareMarkerHere => + 'Поделиться меткой здесь'; @override - String get map_pinLabel => 'Метка'; + String get map_pinLabel => 'Метка'; @override - String get map_label => 'Подпись'; + String get map_label => 'Подпись'; @override - String get map_pointOfInterest => 'Точка интереса'; + String get map_pointOfInterest => 'Точка интереса'; @override - String get map_sendToContact => 'Отправить контакту'; + String get map_sendToContact => 'Отправить контакту'; @override - String get map_sendToChannel => 'Отправить в канал'; + String get map_sendToChannel => 'Отправить в канал'; @override - String get map_noChannelsAvailable => 'Нет доступных каналов'; + String get map_noChannelsAvailable => + 'Нет доступных каналов'; @override - String get map_publicLocationShare => 'Публичная передача местоположения'; + String get map_publicLocationShare => + 'Публичная передача местоположения'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Вы собираетесь поделиться местоположением в $channelLabel. Этот канал публичный, и любой, у кого есть PSK, сможет его увидеть.'; + return 'Ð’Ñ‹ собираетесь поделиться местоположением в $channelLabel. Этот канал публичный, и любой, у кого есть PSK, сможет его увидеть.'; } @override String get map_connectToShareMarkers => - 'Подключитесь к устройству, чтобы делиться метками'; + 'Подключитесь к устройству, чтобы делиться метками'; @override - String get map_filterNodes => 'Фильтр нод'; + String get map_filterNodes => 'Фильтр нод'; @override - String get map_nodeTypes => 'Типы нод'; + String get map_nodeTypes => 'Типы нод'; @override - String get map_chatNodes => 'Чат-ноды'; + String get map_chatNodes => 'Чат-ноды'; @override - String get map_repeaters => 'Репитеры'; + String get map_repeaters => 'Репитеры'; @override - String get map_otherNodes => 'Другие ноды'; + String get map_otherNodes => 'Другие ноды'; @override - String get map_keyPrefix => 'Префикс ключа'; + String get map_keyPrefix => 'Префикс ключа'; @override - String get map_filterByKeyPrefix => 'Фильтр по префиксу ключа'; + String get map_filterByKeyPrefix => + 'Фильтр по префиксу ключа'; @override - String get map_publicKeyPrefix => 'Префикс публичного ключа'; + String get map_publicKeyPrefix => + 'Префикс публичного ключа'; @override - String get map_markers => 'Метки'; + String get map_markers => 'Метки'; @override - String get map_showSharedMarkers => 'Показывать общие метки'; + String get map_showSharedMarkers => + 'Показывать общие метки'; @override - String get map_lastSeenTime => 'Время последнего появления'; + String get map_lastSeenTime => + 'Время последнего появления'; @override - String get map_sharedPin => 'Общая метка'; + String get map_sharedPin => 'Общая метка'; @override - String get map_joinRoom => 'Присоединиться к комнате'; + String get map_joinRoom => 'Присоединиться к комнате'; @override - String get map_manageRepeater => 'Управление репитером'; + String get map_manageRepeater => 'Управление репитером'; @override - String get map_tapToAdd => 'Нажимайте на узлы, чтобы добавить их в путь.'; + String get map_tapToAdd => + 'Нажимайте на узлы, чтобы добавить их в путь.'; @override - String get map_runTrace => 'Запустить трассировку пути'; + String get map_runTrace => + 'Запустить трассировку пути'; @override - String get map_removeLast => 'Удалить последний'; + String get map_removeLast => 'Удалить последний'; @override - String get map_pathTraceCancelled => 'Отмена трассировки пути'; + String get map_pathTraceCancelled => + 'Отмена трассировки пути'; @override - String get mapCache_title => 'Кэш офлайн-карты'; + String get mapCache_title => 'Кэш офлайн-карты'; @override String get mapCache_selectAreaFirst => - 'Сначала выберите область для кэширования'; + 'Сначала выберите область для кэширования'; @override String get mapCache_noTilesToDownload => - 'Нет плиток для загрузки в этой области'; + 'Нет плиток для загрузки в этой области'; @override - String get mapCache_downloadTilesTitle => 'Загрузить плитки'; + String get mapCache_downloadTilesTitle => 'Загрузить плитки'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Загрузить $count плиток для офлайн-использования?'; + return 'Загрузить $count плиток для офлайн-использования?'; } @override - String get mapCache_downloadAction => 'Загрузить'; + String get mapCache_downloadAction => 'Загрузить'; @override String mapCache_cachedTiles(int count) { - return 'Закэшировано $count плиток'; + return 'Закэшировано $count плиток'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Закэшировано $downloaded плиток ($failed не загружено)'; + return 'Закэшировано $downloaded плиток ($failed не загружено)'; } @override - String get mapCache_clearOfflineCacheTitle => 'Очистить офлайн-кэш'; + String get mapCache_clearOfflineCacheTitle => + 'Очистить офлайн-кэш'; @override String get mapCache_clearOfflineCachePrompt => - 'Удалить все закэшированные плитки карты?'; + 'Удалить все закэшированные плитки карты?'; @override - String get mapCache_offlineCacheCleared => 'Офлайн-кэш очищен'; + String get mapCache_offlineCacheCleared => 'Офлайн-кэш очищен'; @override - String get mapCache_noAreaSelected => 'Область не выбрана'; + String get mapCache_noAreaSelected => 'Область не выбрана'; @override - String get mapCache_cacheArea => 'Область кэширования'; + String get mapCache_cacheArea => 'Область кэширования'; @override - String get mapCache_useCurrentView => 'Использовать текущий вид'; + String get mapCache_useCurrentView => + 'Использовать текущий вид'; @override - String get mapCache_zoomRange => 'Диапазон масштаба'; + String get mapCache_zoomRange => 'Диапазон масштаба'; @override String mapCache_estimatedTiles(int count) { - return 'Оценочное количество плиток: $count'; + return 'Оценочное количество плиток: $count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return 'Загружено $completed из $total'; + return 'Загружено $completed из $total'; } @override - String get mapCache_downloadTilesButton => 'Загрузить плитки'; + String get mapCache_downloadTilesButton => 'Загрузить плитки'; @override - String get mapCache_clearCacheButton => 'Очистить кэш'; + String get mapCache_clearCacheButton => 'Очистить кэш'; @override String mapCache_failedDownloads(int count) { - return 'Неудачных загрузок: $count'; + return 'Неудачных загрузок: $count'; } @override @@ -1569,133 +1649,134 @@ class AppLocalizationsRu extends AppLocalizations { String east, String west, ) { - return 'С $north, Ю $south, В $east, З $west'; + return 'С $north, Ю $south, Ð’ $east, З $west'; } @override - String get time_justNow => 'Только что'; + String get time_justNow => 'Только что'; @override String time_minutesAgo(int minutes) { - return '$minutes мин назад'; + return '$minutes мин назад'; } @override String time_hoursAgo(int hours) { - return '$hours ч назад'; + return '$hours ч назад'; } @override String time_daysAgo(int days) { - return '$days дн. назад'; + return '$days дн. назад'; } @override - String get time_hour => 'час'; + String get time_hour => 'час'; @override - String get time_hours => 'часов'; + String get time_hours => 'часов'; @override - String get time_day => 'день'; + String get time_day => 'день'; @override - String get time_days => 'дней'; + String get time_days => 'дней'; @override - String get time_week => 'неделя'; + String get time_week => 'неделя'; @override - String get time_weeks => 'недель'; + String get time_weeks => 'недель'; @override - String get time_month => 'месяц'; + String get time_month => 'месяц'; @override - String get time_months => 'месяцев'; + String get time_months => 'месяцев'; @override - String get time_minutes => 'минут'; + String get time_minutes => 'минут'; @override - String get time_allTime => 'Всё время'; + String get time_allTime => 'Всё время'; @override - String get dialog_disconnect => 'Отключиться'; + String get dialog_disconnect => 'Отключиться'; @override String get dialog_disconnectConfirm => - 'Вы уверены, что хотите отключиться от этого устройства?'; + 'Ð’Ñ‹ уверены, что хотите отключиться от этого устройства?'; @override - String get login_repeaterLogin => 'Вход в репитер'; + String get login_repeaterLogin => 'Вход в репитер'; @override - String get login_roomLogin => 'Вход на сервер комнат'; + String get login_roomLogin => 'Вход на сервер комнат'; @override - String get login_password => 'Пароль'; + String get login_password => 'Пароль'; @override - String get login_enterPassword => 'Введите пароль'; + String get login_enterPassword => 'Введите пароль'; @override - String get login_savePassword => 'Сохранить пароль'; + String get login_savePassword => 'Сохранить пароль'; @override String get login_savePasswordSubtitle => - 'Пароль будет надёжно сохранён на этом устройстве'; + 'Пароль будет надёжно сохранён на этом устройстве'; @override String get login_repeaterDescription => - 'Введите пароль репитера для доступа к настройкам и статусу.'; + 'Введите пароль репитера для доступа к настройкам и статусу.'; @override String get login_roomDescription => - 'Введите пароль комнаты для доступа к настройкам и статусу.'; + 'Введите пароль комнаты для доступа к настройкам и статусу.'; @override - String get login_routing => 'Маршрутизация'; + String get login_routing => 'Маршрутизация'; @override - String get login_routingMode => 'Режим маршрутизации'; + String get login_routingMode => 'Режим маршрутизации'; @override String get login_autoUseSavedPath => - 'Авто (использовать сохранённый маршрут)'; + 'Авто (использовать сохранённый маршрут)'; @override - String get login_forceFloodMode => 'Принудительный режим рассылки'; + String get login_forceFloodMode => + 'Принудительный режим рассылки'; @override - String get login_managePaths => 'Управление маршрутами'; + String get login_managePaths => 'Управление маршрутами'; @override - String get login_login => 'Войти'; + String get login_login => 'Войти'; @override String login_attempt(int current, int max) { - return 'Попытка $current/$max'; + return 'Попытка $current/$max'; } @override String login_failed(String error) { - return 'Ошибка входа: $error'; + return 'Ошибка входа: $error'; } @override String get login_failedMessage => - 'Не удалось войти. Либо пароль неверен, либо репитер недоступен.'; + 'Не удалось войти. Либо пароль неверен, либо репитер недоступен.'; @override - String get common_reload => 'Обновить'; + String get common_reload => 'Обновить'; @override - String get common_clear => 'Очистить'; + String get common_clear => 'Очистить'; @override String path_currentPath(String path) { - return 'Текущий маршрут: $path'; + return 'Текущий маршрут: $path'; } @override @@ -1703,171 +1784,185 @@ class AppLocalizationsRu extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'хопов', - many: 'хопов', - few: 'хопа', - one: 'хоп', + other: 'хопов', + many: 'хопов', + few: 'хопа', + one: 'хоп', ); - return 'Используется маршрут из $count $_temp0'; + return 'Используется маршрут из $count $_temp0'; } @override - String get path_enterCustomPath => 'Введите маршрут вручную'; + String get path_enterCustomPath => + 'Введите маршрут вручную'; @override - String get path_currentPathLabel => 'Текущий маршрут'; + String get path_currentPathLabel => 'Текущий маршрут'; @override String get path_hexPrefixInstructions => - 'Введите 2-символьные шестнадцатеричные префиксы для каждого хопа, разделённые запятыми.'; + 'Введите 2-символьные шестнадцатеричные префиксы для каждого хопа, разделённые запятыми.'; @override String get path_hexPrefixExample => - 'Пример: A1,F2,3C (каждый узел использует первый байт своего публичного ключа)'; + 'Пример: A1,F2,3C (каждый узел использует первый байт своего публичного ключа)'; @override - String get path_labelHexPrefixes => 'Маршрут (шестнадцатеричные префиксы)'; + String get path_labelHexPrefixes => + 'Маршрут (шестнадцатеричные префиксы)'; @override String get path_helperMaxHops => - 'Максимум 64 хопа. Каждый префикс — 2 шестнадцатеричных символа (1 байт)'; + 'Максимум 64 хопа. Каждый префикс — 2 шестнадцатеричных символа (1 байт)'; @override - String get path_selectFromContacts => 'Или выберите из контактов:'; + String get path_selectFromContacts => + 'Или выберите из контактов:'; @override - String get path_noRepeatersFound => 'Репитеры или серверы комнат не найдены.'; + String get path_noRepeatersFound => + 'Репитеры или серверы комнат не найдены.'; @override String get path_customPathsRequire => - 'Пользовательские маршруты требуют промежуточных узлов, способных ретранслировать сообщения.'; + 'Пользовательские маршруты требуют промежуточных узлов, способных ретранслировать сообщения.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Недопустимые шестнадцатеричные префиксы: $prefixes'; + return 'Недопустимые шестнадцатеричные префиксы: $prefixes'; } @override - String get path_tooLong => 'Маршрут слишком длинный. Максимум 64 хопа.'; + String get path_tooLong => + 'Маршрут слишком длинный. Максимум 64 хопа.'; @override - String get path_setPath => 'Установить маршрут'; + String get path_setPath => 'Установить маршрут'; @override - String get repeater_management => 'Управление репитером'; + String get repeater_management => 'Управление репитером'; @override - String get room_management => 'Управление сервером комнат'; + String get room_management => + 'Управление сервером комнат'; @override - String get repeater_managementTools => 'Инструменты управления'; + String get repeater_managementTools => + 'Инструменты управления'; @override - String get repeater_status => 'Статус'; + String get repeater_status => 'Статус'; @override String get repeater_statusSubtitle => - 'Просмотр статуса, статистики и соседей репитера'; + 'Просмотр статуса, статистики и соседей репитера'; @override - String get repeater_telemetry => 'Телеметрия'; + String get repeater_telemetry => 'Телеметрия'; @override String get repeater_telemetrySubtitle => - 'Просмотр телеметрии датчиков и системной статистики'; + 'Просмотр телеметрии датчиков и системной статистики'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Отправка команд репитеру'; + String get repeater_cliSubtitle => + 'Отправка команд репитеру'; @override - String get repeater_neighbors => 'Соседи'; + String get repeater_neighbors => 'Соседи'; @override - String get repeater_neighborsSubtitle => 'Просмотр соседей на нулевом хопе.'; + String get repeater_neighborsSubtitle => + 'Просмотр соседей на нулевом хопе.'; @override - String get repeater_settings => 'Настройки'; + String get repeater_settings => 'Настройки'; @override - String get repeater_settingsSubtitle => 'Настройка параметров репитера'; + String get repeater_settingsSubtitle => + 'Настройка параметров репитера'; @override - String get repeater_statusTitle => 'Статус репитера'; + String get repeater_statusTitle => 'Статус репитера'; @override - String get repeater_routingMode => 'Режим маршрутизации'; + String get repeater_routingMode => 'Режим маршрутизации'; @override String get repeater_autoUseSavedPath => - 'Авто (использовать сохранённый маршрут)'; + 'Авто (использовать сохранённый маршрут)'; @override - String get repeater_forceFloodMode => 'Принудительный режим рассылки'; + String get repeater_forceFloodMode => + 'Принудительный режим рассылки'; @override - String get repeater_pathManagement => 'Управление маршрутами'; + String get repeater_pathManagement => + 'Управление маршрутами'; @override - String get repeater_refresh => 'Обновить'; + String get repeater_refresh => 'Обновить'; @override - String get repeater_statusRequestTimeout => 'Время ожидания статуса истекло.'; + String get repeater_statusRequestTimeout => + 'Время ожидания статуса истекло.'; @override String repeater_errorLoadingStatus(String error) { - return 'Ошибка загрузки статуса: $error'; + return 'Ошибка загрузки статуса: $error'; } @override - String get repeater_systemInformation => 'Системная информация'; + String get repeater_systemInformation => + 'Системная информация'; @override - String get repeater_battery => 'Батарея'; + String get repeater_battery => 'Батарея'; @override - String get repeater_clockAtLogin => 'Время (при входе)'; + String get repeater_clockAtLogin => 'Время (при входе)'; @override - String get repeater_uptime => 'Время работы'; + String get repeater_uptime => 'Время работы'; @override - String get repeater_queueLength => 'Длина очереди'; + String get repeater_queueLength => 'Длина очереди'; @override - String get repeater_debugFlags => 'Флаги отладки'; + String get repeater_debugFlags => 'Флаги отладки'; @override - String get repeater_radioStatistics => 'Радиостатистика'; + String get repeater_radioStatistics => 'Радиостатистика'; @override - String get repeater_lastRssi => 'Последний RSSI'; + String get repeater_lastRssi => 'Последний RSSI'; @override - String get repeater_lastSnr => 'Последний SNR'; + String get repeater_lastSnr => 'Последний SNR'; @override - String get repeater_noiseFloor => 'Уровень шума'; + String get repeater_noiseFloor => 'Уровень шума'; @override - String get repeater_txAirtime => 'Время эфира (передача)'; + String get repeater_txAirtime => 'Время эфира (передача)'; @override - String get repeater_rxAirtime => 'Время эфира (приём)'; + String get repeater_rxAirtime => 'Время эфира (приём)'; @override - String get repeater_packetStatistics => 'Статистика пакетов'; + String get repeater_packetStatistics => 'Статистика пакетов'; @override - String get repeater_sent => 'Отправлено'; + String get repeater_sent => 'Отправлено'; @override - String get repeater_received => 'Получено'; + String get repeater_received => 'Получено'; @override - String get repeater_duplicates => 'Дубликаты'; + String get repeater_duplicates => 'Дубликаты'; @override String repeater_daysHoursMinsSecs( @@ -1876,674 +1971,708 @@ class AppLocalizationsRu extends AppLocalizations { int minutes, int seconds, ) { - return '$days дн. $hoursч $minutesм $secondsс'; + return '$days дн. $hoursч $minutesм $secondsс'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Всего: $total, Рассылка: $flood, Прямые: $direct'; + return 'Всего: $total, Рассылка: $flood, Прямые: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Всего: $total, Рассылка: $flood, Прямые: $direct'; + return 'Всего: $total, Рассылка: $flood, Прямые: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Рассылка: $flood, Прямые: $direct'; + return 'Рассылка: $flood, Прямые: $direct'; } @override String repeater_duplicatesTotal(int total) { - return 'Всего: $total'; + return 'Всего: $total'; } @override - String get repeater_settingsTitle => 'Настройки репитера'; + String get repeater_settingsTitle => 'Настройки репитера'; @override - String get repeater_basicSettings => 'Основные настройки'; + String get repeater_basicSettings => 'Основные настройки'; @override - String get repeater_repeaterName => 'Имя репитера'; + String get repeater_repeaterName => 'Имя репитера'; @override - String get repeater_repeaterNameHelper => 'Отображаемое имя этого репитера'; + String get repeater_repeaterNameHelper => + 'Отображаемое имя этого репитера'; @override - String get repeater_adminPassword => 'Пароль администратора'; + String get repeater_adminPassword => + 'Пароль администратора'; @override - String get repeater_adminPasswordHelper => 'Пароль с полным доступом'; + String get repeater_adminPasswordHelper => + 'Пароль с полным доступом'; @override - String get repeater_guestPassword => 'Гостевой пароль'; + String get repeater_guestPassword => 'Гостевой пароль'; @override String get repeater_guestPasswordHelper => - 'Пароль для доступа только для чтения'; + 'Пароль для доступа только для чтения'; @override - String get repeater_radioSettings => 'Настройки радио'; + String get repeater_radioSettings => 'Настройки радио'; @override - String get repeater_frequencyMhz => 'Частота (МГц)'; + String get repeater_frequencyMhz => 'Частота (МГц)'; @override - String get repeater_frequencyHelper => '300–2500 МГц'; + String get repeater_frequencyHelper => '300–2500 МГц'; @override - String get repeater_txPower => 'Мощность передачи'; + String get repeater_txPower => 'Мощность передачи'; @override - String get repeater_txPowerHelper => '1–30 дБм'; + String get repeater_txPowerHelper => '1–30 дБм'; @override - String get repeater_bandwidth => 'Полоса пропускания'; + String get repeater_bandwidth => 'Полоса пропускания'; @override - String get repeater_spreadingFactor => 'Коэффициент расширения'; + String get repeater_spreadingFactor => + 'Коэффициент расширения'; @override - String get repeater_codingRate => 'Коэффициент кодирования'; + String get repeater_codingRate => + 'Коэффициент кодирования'; @override - String get repeater_locationSettings => 'Настройки местоположения'; + String get repeater_locationSettings => + 'Настройки местоположения'; @override - String get repeater_latitude => 'Широта'; + String get repeater_latitude => 'Широта'; @override String get repeater_latitudeHelper => - 'В десятичных градусах (напр., 37.7749)'; + 'Ð’ десятичных градусах (напр., 37.7749)'; @override - String get repeater_longitude => 'Долгота'; + String get repeater_longitude => 'Долгота'; @override String get repeater_longitudeHelper => - 'В десятичных градусах (напр., -122.4194)'; + 'Ð’ десятичных градусах (напр., -122.4194)'; @override - String get repeater_features => 'Функции'; + String get repeater_features => 'Функции'; @override - String get repeater_packetForwarding => 'Пересылка пакетов'; + String get repeater_packetForwarding => 'Пересылка пакетов'; @override String get repeater_packetForwardingSubtitle => - 'Разрешить репитеру пересылать пакеты'; + 'Разрешить репитеру пересылать пакеты'; @override - String get repeater_guestAccess => 'Гостевой доступ'; + String get repeater_guestAccess => 'Гостевой доступ'; @override String get repeater_guestAccessSubtitle => - 'Разрешить гостевой доступ только для чтения'; + 'Разрешить гостевой доступ только для чтения'; @override - String get repeater_privacyMode => 'Режим конфиденциальности'; + String get repeater_privacyMode => + 'Режим конфиденциальности'; @override String get repeater_privacyModeSubtitle => - 'Скрывать имя/местоположение в оповещениях'; + 'Скрывать имя/местоположение в оповещениях'; @override - String get repeater_advertisementSettings => 'Настройки анонсирования'; + String get repeater_advertisementSettings => + 'Настройки анонсирования'; @override - String get repeater_localAdvertInterval => 'Интервал локальных анонсирований'; + String get repeater_localAdvertInterval => + 'Интервал локальных анонсирований'; @override String repeater_localAdvertIntervalMinutes(int minutes) { - return '$minutes минут'; + return '$minutes минут'; } @override String get repeater_floodAdvertInterval => - 'Интервал анонсирований рассылкой (flood)'; + 'Интервал анонсирований рассылкой (flood)'; @override String repeater_floodAdvertIntervalHours(int hours) { - return '$hours часов'; + return '$hours часов'; } @override String get repeater_encryptedAdvertInterval => - 'Интервал зашифрованных анонсирований'; + 'Интервал зашифрованных анонсирований'; @override - String get repeater_dangerZone => 'Опасная зона'; + String get repeater_dangerZone => 'Опасная зона'; @override - String get repeater_rebootRepeater => 'Перезагрузить репитер'; + String get repeater_rebootRepeater => + 'Перезагрузить репитер'; @override String get repeater_rebootRepeaterSubtitle => - 'Перезапустить устройство репитера'; + 'Перезапустить устройство репитера'; @override String get repeater_rebootRepeaterConfirm => - 'Вы уверены, что хотите перезагрузить этот репитер?'; + 'Ð’Ñ‹ уверены, что хотите перезагрузить этот репитер?'; @override - String get repeater_regenerateIdentityKey => 'Пересоздать ключ идентификации'; + String get repeater_regenerateIdentityKey => + 'Пересоздать ключ идентификации'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Сгенерировать новую пару публичного/приватного ключей'; + 'Сгенерировать новую пару публичного/приватного ключей'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Это создаст новую идентичность для репитера. Продолжить?'; + 'Это создаст новую идентичность для репитера. Продолжить?'; @override - String get repeater_eraseFileSystem => 'Стереть файловую систему'; + String get repeater_eraseFileSystem => + 'Стереть файловую систему'; @override String get repeater_eraseFileSystemSubtitle => - 'Отформатировать файловую систему репитера'; + 'Отформатировать файловую систему репитера'; @override String get repeater_eraseFileSystemConfirm => - 'ВНИМАНИЕ: это удалит все данные на репитере. Действие нельзя отменить!'; + 'ВНИМАНИЕ: это удалит все данные на репитере. Действие нельзя отменить!'; @override String get repeater_eraseSerialOnly => - 'Очистка доступна только через последовательную консоль.'; + 'Очистка доступна только через последовательную консоль.'; @override String repeater_commandSent(String command) { - return 'Команда отправлена: $command'; + return 'Команда отправлена: $command'; } @override String repeater_errorSendingCommand(String error) { - return 'Ошибка отправки команды: $error'; + return 'Ошибка отправки команды: $error'; } @override - String get repeater_confirm => 'Подтвердить'; + String get repeater_confirm => 'Подтвердить'; @override - String get repeater_settingsSaved => 'Настройки успешно сохранены'; + String get repeater_settingsSaved => + 'Настройки успешно сохранены'; @override String repeater_errorSavingSettings(String error) { - return 'Ошибка сохранения настроек: $error'; + return 'Ошибка сохранения настроек: $error'; } @override - String get repeater_refreshBasicSettings => 'Обновить основные настройки'; + String get repeater_refreshBasicSettings => + 'Обновить основные настройки'; @override - String get repeater_refreshRadioSettings => 'Обновить настройки радио'; + String get repeater_refreshRadioSettings => + 'Обновить настройки радио'; @override - String get repeater_refreshTxPower => 'Обновить мощность передачи'; + String get repeater_refreshTxPower => + 'Обновить мощность передачи'; @override String get repeater_refreshLocationSettings => - 'Обновить настройки местоположения'; + 'Обновить настройки местоположения'; @override - String get repeater_refreshPacketForwarding => 'Обновить пересылку пакетов'; + String get repeater_refreshPacketForwarding => + 'Обновить пересылку пакетов'; @override - String get repeater_refreshGuestAccess => 'Обновить гостевой доступ'; + String get repeater_refreshGuestAccess => + 'Обновить гостевой доступ'; @override - String get repeater_refreshPrivacyMode => 'Обновить режим конфиденциальности'; + String get repeater_refreshPrivacyMode => + 'Обновить режим конфиденциальности'; @override String get repeater_refreshAdvertisementSettings => - 'Обновить настройки анонсирований'; + 'Обновить настройки анонсирований'; @override String repeater_refreshed(String label) { - return '$label обновлён'; + return '$label обновлён'; } @override String repeater_errorRefreshing(String label) { - return 'Ошибка обновления $label'; + return 'Ошибка обновления $label'; } @override - String get repeater_cliTitle => 'CLI репитера'; + String get repeater_cliTitle => 'CLI репитера'; @override - String get repeater_debugNextCommand => 'Отладка следующей команды'; + String get repeater_debugNextCommand => + 'Отладка следующей команды'; @override - String get repeater_commandHelp => 'Справка по командам'; + String get repeater_commandHelp => 'Справка по командам'; @override - String get repeater_clearHistory => 'Очистить историю'; + String get repeater_clearHistory => 'Очистить историю'; @override - String get repeater_noCommandsSent => 'Команды ещё не отправлялись'; + String get repeater_noCommandsSent => + 'Команды ещё не отправлялись'; @override String get repeater_typeCommandOrUseQuick => - 'Введите команду ниже или используйте быстрые команды'; + 'Введите команду ниже или используйте быстрые команды'; @override - String get repeater_enterCommandHint => 'Введите команду...'; + String get repeater_enterCommandHint => 'Введите команду...'; @override - String get repeater_previousCommand => 'Предыдущая команда'; + String get repeater_previousCommand => 'Предыдущая команда'; @override - String get repeater_nextCommand => 'Следующая команда'; + String get repeater_nextCommand => 'Следующая команда'; @override - String get repeater_enterCommandFirst => 'Сначала введите команду'; + String get repeater_enterCommandFirst => + 'Сначала введите команду'; @override - String get repeater_cliCommandFrameTitle => 'Фрейм CLI-команды'; + String get repeater_cliCommandFrameTitle => 'Фрейм CLI-команды'; @override String repeater_cliCommandError(String error) { - return 'Ошибка: $error'; + return 'Ошибка: $error'; } @override - String get repeater_cliQuickGetName => 'Получить имя'; + String get repeater_cliQuickGetName => 'Получить имя'; @override - String get repeater_cliQuickGetRadio => 'Получить радио'; + String get repeater_cliQuickGetRadio => 'Получить радио'; @override - String get repeater_cliQuickGetTx => 'Получить TX'; + String get repeater_cliQuickGetTx => 'Получить TX'; @override - String get repeater_cliQuickNeighbors => 'Соседи'; + String get repeater_cliQuickNeighbors => 'Соседи'; @override - String get repeater_cliQuickVersion => 'Версия'; + String get repeater_cliQuickVersion => 'Версия'; @override - String get repeater_cliQuickAdvertise => 'Анонсировать'; + String get repeater_cliQuickAdvertise => 'Анонсировать'; @override - String get repeater_cliQuickClock => 'Время'; + String get repeater_cliQuickClock => 'Время'; @override - String get repeater_cliHelpAdvert => 'Отправляет пакет анонсирования'; + String get repeater_cliHelpAdvert => + 'Отправляет пакет анонсирования'; @override String get repeater_cliHelpReboot => - 'Перезагружает устройство. (обычно вы получите «Тайм-аут» — это нормально)'; + 'Перезагружает устройство. (обычно вы получите «Тайм-аут» — это нормально)'; @override String get repeater_cliHelpClock => - 'Показывает текущее время по часам устройства.'; + 'Показывает текущее время по часам устройства.'; @override String get repeater_cliHelpPassword => - 'Устанавливает новый пароль администратора для устройства.'; + 'Устанавливает новый пароль администратора для устройства.'; @override String get repeater_cliHelpVersion => - 'Показывает версию устройства и дату сборки прошивки.'; + 'Показывает версию устройства и дату сборки прошивки.'; @override String get repeater_cliHelpClearStats => - 'Сбрасывает различные счётчики статистики в ноль.'; + 'Сбрасывает различные счётчики статистики в ноль.'; @override String get repeater_cliHelpSetAf => - 'Устанавливает коэффициент времени в эфире.'; + 'Устанавливает коэффициент времени в эфире.'; @override String get repeater_cliHelpSetTx => - 'Устанавливает мощность передачи LoRa в дБм. (требуется перезагрузка)'; + 'Устанавливает мощность передачи LoRa в дБм. (требуется перезагрузка)'; @override String get repeater_cliHelpSetRepeat => - 'Включает или отключает роль репитера для этой ноды.'; + 'Включает или отключает роль репитера для этой ноды.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Сервер комнат) Если «on», то вход без пароля разрешён, но публиковать в комнату нельзя (только чтение)'; + '(Сервер комнат) Если «on», то вход без пароля разрешён, но публиковать в комнату нельзя (только чтение)'; @override String get repeater_cliHelpSetFloodMax => - 'Устанавливает максимальное число хопов для входящих пакетов в режиме рассылки (если >= макс., пакет не пересылается)'; + 'Устанавливает максимальное число хопов для входящих пакетов в режиме рассылки (если >= макс., пакет не пересылается)'; @override String get repeater_cliHelpSetIntThresh => - 'Устанавливает порог интерференции (в дБ). По умолчанию 14. Установите 0, чтобы отключить обнаружение помех.'; + 'Устанавливает порог интерференции (в дБ). По умолчанию 14. Установите 0, чтобы отключить обнаружение помех.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Устанавливает интервал сброса автоматической регулировки усиления. Установите 0, чтобы отключить.'; + 'Устанавливает интервал сброса автоматической регулировки усиления. Установите 0, чтобы отключить.'; @override String get repeater_cliHelpSetMultiAcks => - 'Включает или отключает функцию «двойных ACK».'; + 'Включает или отключает функцию «двойных ACK».'; @override String get repeater_cliHelpSetAdvertInterval => - 'Устанавливает интервал (в минутах) отправки локального (нулевой хоп) анонсирования. Установите 0, чтобы отключить.'; + 'Устанавливает интервал (в минутах) отправки локального (нулевой хоп) анонсирования. Установите 0, чтобы отключить.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Устанавливает интервал (в часах) отправки анонсирований рассылкой. Установите 0, чтобы отключить.'; + 'Устанавливает интервал (в часах) отправки анонсирований рассылкой. Установите 0, чтобы отключить.'; @override String get repeater_cliHelpSetGuestPassword => - 'Устанавливает/обновляет гостевой пароль. (для репитеров гости могут отправлять запрос «Get Stats»)'; + 'Устанавливает/обновляет гостевой пароль. (для репитеров гости могут отправлять запрос «Get Stats»)'; @override - String get repeater_cliHelpSetName => 'Устанавливает имя в оповещениях.'; + String get repeater_cliHelpSetName => + 'Устанавливает имя в оповещениях.'; @override String get repeater_cliHelpSetLat => - 'Устанавливает широту для карты в оповещениях. (десятичные градусы)'; + 'Устанавливает широту для карты в оповещениях. (десятичные градусы)'; @override String get repeater_cliHelpSetLon => - 'Устанавливает долготу для карты в оповещениях. (десятичные градусы)'; + 'Устанавливает долготу для карты в оповещениях. (десятичные градусы)'; @override String get repeater_cliHelpSetRadio => - 'Устанавливает полностью новые параметры радио и сохраняет их в настройки. Требуется команда «reboot» для применения.'; + 'Устанавливает полностью новые параметры радио и сохраняет их в настройки. Требуется команда «reboot» для применения.'; @override String get repeater_cliHelpSetRxDelay => - 'Устанавливает (экспериментально) базовую задержку (>1 для эффекта) для принятых пакетов на основе качества сигнала. Установите 0, чтобы отключить.'; + 'Устанавливает (экспериментально) базовую задержку (>1 для эффекта) для принятых пакетов на основе качества сигнала. Установите 0, чтобы отключить.'; @override String get repeater_cliHelpSetTxDelay => - 'Устанавливает множитель времени в эфире для пакета в режиме рассылки и применяет случайную задержку перед пересылкой (чтобы уменьшить коллизии).'; + 'Устанавливает множитель времени в эфире для пакета в режиме рассылки и применяет случайную задержку перед пересылкой (чтобы уменьшить коллизии).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'То же, что txdelay, но для случайной задержки пересылки пакетов в прямом режиме.'; + 'То же, что txdelay, но для случайной задержки пересылки пакетов в прямом режиме.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Включить/выключить мост.'; + String get repeater_cliHelpSetBridgeEnabled => + 'Включить/выключить мост.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Установить задержку перед ретрансляцией пакетов.'; + 'Установить задержку перед ретрансляцией пакетов.'; @override String get repeater_cliHelpSetBridgeSource => - 'Выбрать, будет ли мост ретранслировать полученные или отправленные пакеты.'; + 'Выбрать, будет ли мост ретранслировать полученные или отправленные пакеты.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Установить скорость последовательного соединения для мостов RS232.'; + 'Установить скорость последовательного соединения для мостов RS232.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Установить секрет моста для мостов ESP-NOW.'; + 'Установить секрет моста для мостов ESP-NOW.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Устанавливает пользовательский коэффициент коррекции напряжения батареи (поддерживается только на некоторых платах).'; + 'Устанавливает пользовательский коэффициент коррекции напряжения батареи (поддерживается только на некоторых платах).'; @override String get repeater_cliHelpTempRadio => - 'Устанавливает временные параметры радио на заданное число минут, затем возвращает исходные. (НЕ сохраняется в настройки).'; + 'Устанавливает временные параметры радио на заданное число минут, затем возвращает исходные. (НЕ сохраняется в настройки).'; @override String get repeater_cliHelpSetPerm => - 'Изменяет ACL. Удаляет запись (по префиксу публичного ключа), если «permissions» равен нулю. Добавляет новую запись, если указан полный ключ и он отсутствует в ACL. Обновляет запись по совпадению префикса. Биты прав зависят от роли прошивки, но младшие 2 бита: 0 (Гость), 1 (Только чтение), 2 (Чтение/запись), 3 (Админ)'; + 'Изменяет ACL. Удаляет запись (по префиксу публичного ключа), если «permissions» равен нулю. Добавляет новую запись, если указан полный ключ и он отсутствует в ACL. Обновляет запись по совпадению префикса. Биты прав зависят от роли прошивки, но младшие 2 бита: 0 (Гость), 1 (Только чтение), 2 (Чтение/запись), 3 (Админ)'; @override String get repeater_cliHelpGetBridgeType => - 'Получает тип моста: none, rs232, espnow'; + 'Получает тип моста: none, rs232, espnow'; @override String get repeater_cliHelpLogStart => - 'Начинает запись пакетов в файловую систему.'; + 'Начинает запись пакетов в файловую систему.'; @override String get repeater_cliHelpLogStop => - 'Останавливает запись пакетов в файловую систему.'; + 'Останавливает запись пакетов в файловую систему.'; @override String get repeater_cliHelpLogErase => - 'Удаляет журналы пакетов из файловой системы.'; + 'Удаляет журналы пакетов из файловой системы.'; @override String get repeater_cliHelpNeighbors => - 'Показывает список других репитеров, услышанных через оповещения нулевого хопа. Каждая строка: префикс-id-в-hex:временная-метка:snr×4'; + 'Показывает список других репитеров, услышанных через оповещения нулевого хопа. Каждая строка: префикс-id-в-hex:временная-метка:snr×4'; @override String get repeater_cliHelpNeighborRemove => - 'Удаляет первую подходящую запись (по префиксу публичного ключа в hex) из списка соседей.'; + 'Удаляет первую подходящую запись (по префиксу публичного ключа в hex) из списка соседей.'; @override String get repeater_cliHelpRegion => - '(только через последовательный порт) Показывает все определённые регионы и текущие права на рассылку.'; + '(только через последовательный порт) Показывает все определённые регионы и текущие права на рассылку.'; @override String get repeater_cliHelpRegionLoad => - 'ПРИМЕЧАНИЕ: это специальная многострочная команда. Каждая следующая строка — имя региона (с отступом пробелами для указания иерархии, минимум один пробел). Завершается пустой строкой.'; + 'ПРИМЕЧАНИЕ: это специальная многострочная команда. Каждая следующая строка — имя региона (с отступом пробелами для указания иерархии, минимум один пробел). Завершается пустой строкой.'; @override String get repeater_cliHelpRegionGet => - 'Ищет регион по префиксу имени (или «*» для глобальной области). Отвечает: «-> имя-региона (родитель) \'F\'»'; + 'Ищет регион по префиксу имени (или «*» для глобальной области). Отвечает: «-> имя-региона (родитель) \'F\'»'; @override String get repeater_cliHelpRegionPut => - 'Добавляет или обновляет определение региона с заданным именем.'; + 'Добавляет или обновляет определение региона с заданным именем.'; @override String get repeater_cliHelpRegionRemove => - 'Удаляет определение региона с заданным именем. (должно точно совпадать и не иметь дочерних регионов)'; + 'Удаляет определение региона с заданным именем. (должно точно совпадать и не иметь дочерних регионов)'; @override String get repeater_cliHelpRegionAllowf => - 'Разрешает рассылку («F»lood) для заданного региона. («*» для глобальной/устаревшей области)'; + 'Разрешает рассылку («F»lood) для заданного региона. («*» для глобальной/устаревшей области)'; @override String get repeater_cliHelpRegionDenyf => - 'Запрещает рассылку («F»lood) для заданного региона. (НЕ рекомендуется для глобальной области!)'; + 'Запрещает рассылку («F»lood) для заданного региона. (НЕ рекомендуется для глобальной области!)'; @override String get repeater_cliHelpRegionHome => - 'Показывает текущий «домашний» регион. (Пока не используется, зарезервировано на будущее)'; + 'Показывает текущий «домашний» регион. (Пока не используется, зарезервировано на будущее)'; @override String get repeater_cliHelpRegionHomeSet => - 'Устанавливает «домашний» регион.'; + 'Устанавливает «домашний» регион.'; @override String get repeater_cliHelpRegionSave => - 'Сохраняет список/карту регионов в память.'; + 'Сохраняет список/карту регионов в память.'; @override String get repeater_cliHelpGps => - 'Показывает статус GPS. Если GPS выключен — отвечает только «off». Если включён — показывает статус, фиксацию, количество спутников.'; + 'Показывает статус GPS. Если GPS выключен — отвечает только «off». Если включён — показывает статус, фиксацию, количество спутников.'; @override - String get repeater_cliHelpGpsOnOff => 'Переключает состояние питания GPS.'; + String get repeater_cliHelpGpsOnOff => + 'Переключает состояние питания GPS.'; @override String get repeater_cliHelpGpsSync => - 'Синхронизирует время ноды с часами GPS.'; + 'Синхронизирует время ноды с часами GPS.'; @override String get repeater_cliHelpGpsSetLoc => - 'Устанавливает позицию ноды по координатам GPS и сохраняет в настройки.'; + 'Устанавливает позицию ноды по координатам GPS и сохраняет в настройки.'; @override String get repeater_cliHelpGpsAdvert => - 'Показывает конфигурацию передачи местоположения в анонсированиях:\n- none: не включать местоположение\n- share: передавать GPS-координаты (из SensorManager)\n- prefs: передавать координаты из настроек'; + 'Показывает конфигурацию передачи местоположения в анонсированиях:\n- none: не включать местоположение\n- share: передавать GPS-координаты (из SensorManager)\n- prefs: передавать координаты из настроек'; @override String get repeater_cliHelpGpsAdvertSet => - 'Устанавливает конфигурацию передачи местоположения.'; + 'Устанавливает конфигурацию передачи местоположения.'; @override - String get repeater_commandsListTitle => 'Список команд'; + String get repeater_commandsListTitle => 'Список команд'; @override String get repeater_commandsListNote => - 'ПРИМЕЧАНИЕ: для большинства команд «set ...» существуют соответствующие команды «get ...».'; + 'ПРИМЕЧАНИЕ: для большинства команд «set ...» существуют соответствующие команды «get ...».'; @override - String get repeater_general => 'Общие'; + String get repeater_general => 'Общие'; @override - String get repeater_settingsCategory => 'Настройки'; + String get repeater_settingsCategory => 'Настройки'; @override - String get repeater_bridge => 'Мост'; + String get repeater_bridge => 'Мост'; @override - String get repeater_logging => 'Журналирование'; + String get repeater_logging => 'Журналирование'; @override - String get repeater_neighborsRepeaterOnly => 'Соседи (только для репитеров)'; + String get repeater_neighborsRepeaterOnly => + 'Соседи (только для репитеров)'; @override String get repeater_regionManagementRepeaterOnly => - 'Управление регионами (только для репитеров)'; + 'Управление регионами (только для репитеров)'; @override String get repeater_regionNote => - 'Команды регионов введены для управления определениями регионов и правами доступа.'; + 'Команды регионов введены для управления определениями регионов и правами доступа.'; @override - String get repeater_gpsManagement => 'Управление GPS'; + String get repeater_gpsManagement => 'Управление GPS'; @override String get repeater_gpsNote => - 'Команда gps введена для управления параметрами, связанными с местоположением.'; + 'Команда gps введена для управления параметрами, связанными с местоположением.'; @override - String get telemetry_receivedData => 'Полученные телеметрические данные'; + String get telemetry_receivedData => + 'Полученные телеметрические данные'; @override - String get telemetry_requestTimeout => 'Время ожидания телеметрии истекло.'; + String get telemetry_requestTimeout => + 'Время ожидания телеметрии истекло.'; @override String telemetry_errorLoading(String error) { - return 'Ошибка загрузки телеметрии: $error'; + return 'Ошибка загрузки телеметрии: $error'; } @override - String get telemetry_noData => 'Данные телеметрии недоступны.'; + String get telemetry_noData => + 'Данные телеметрии недоступны.'; @override String telemetry_channelTitle(int channel) { - return 'Канал $channel'; + return 'Канал $channel'; } @override - String get telemetry_batteryLabel => 'Батарея'; + String get telemetry_batteryLabel => 'Батарея'; @override - String get telemetry_voltageLabel => 'Напряжение'; + String get telemetry_voltageLabel => 'Напряжение'; @override - String get telemetry_mcuTemperatureLabel => 'Температура МК'; + String get telemetry_mcuTemperatureLabel => 'Температура МК'; @override - String get telemetry_temperatureLabel => 'Температура'; + String get telemetry_temperatureLabel => 'Температура'; @override - String get telemetry_currentLabel => 'Ток'; + String get telemetry_currentLabel => 'Ток'; @override String telemetry_batteryValue(int percent, String volts) { - return '$percent% / $voltsВ'; + return '$percent% / $voltsÐ’'; } @override String telemetry_voltageValue(String volts) { - return '$voltsВ'; + return '$voltsÐ’'; } @override String telemetry_currentValue(String amps) { - return '$ampsА'; + return '$ampsА'; } @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Полученные данные о соседях'; + String get neighbors_receivedData => + 'Полученные данные о соседях'; @override String get neighbors_requestTimedOut => - 'Время ожидания данных о соседях истекло.'; + 'Время ожидания данных о соседях истекло.'; @override String neighbors_errorLoading(String error) { - return 'Ошибка загрузки соседей: $error'; + return 'Ошибка загрузки соседей: $error'; } @override - String get neighbors_repeatersNeighbors => 'Соседи репитеров'; + String get neighbors_repeatersNeighbors => 'Соседи репитеров'; @override - String get neighbors_noData => 'Данные о соседях недоступны.'; + String get neighbors_noData => + 'Данные о соседях недоступны.'; @override String neighbors_unknownContact(String pubkey) { - return 'Неизвестный $pubkey'; + return 'Неизвестный $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Слушал(а): $time назад'; + return 'Слушал(а): $time назад'; } @override - String get channelPath_title => 'Путь пакета'; + String get channelPath_title => 'Путь пакета'; @override - String get channelPath_viewMap => 'Посмотреть на карте'; + String get channelPath_viewMap => 'Посмотреть на карте'; @override - String get channelPath_otherObservedPaths => 'Другие наблюдаемые пути'; + String get channelPath_otherObservedPaths => + 'Другие наблюдаемые пути'; @override - String get channelPath_repeaterHops => 'Хопы через репитеры'; + String get channelPath_repeaterHops => 'Хопы через репитеры'; @override String get channelPath_noHopDetails => - 'Детали хопов для этого пакета не предоставлены.'; + 'Детали хопов для этого пакета не предоставлены.'; @override - String get channelPath_messageDetails => 'Детали сообщения'; + String get channelPath_messageDetails => 'Детали сообщения'; @override - String get channelPath_senderLabel => 'Отправитель'; + String get channelPath_senderLabel => 'Отправитель'; @override - String get channelPath_timeLabel => 'Время'; + String get channelPath_timeLabel => 'Время'; @override - String get channelPath_repeatsLabel => 'Повторы'; + String get channelPath_repeatsLabel => 'Повторы'; @override String channelPath_pathLabel(int index) { - return 'Путь $index'; + return 'Путь $index'; } @override - String get channelPath_observedLabel => 'Наблюдаемый'; + String get channelPath_observedLabel => 'Наблюдаемый'; @override String channelPath_observedPathTitle(int index, String hops) { - return 'Наблюдаемый путь $index • $hops'; + return 'Наблюдаемый путь $index • $hops'; } @override - String get channelPath_noLocationData => 'Нет данных о местоположении'; + String get channelPath_noLocationData => + 'Нет данных о местоположении'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2556,343 +2685,361 @@ class AppLocalizationsRu extends AppLocalizations { } @override - String get channelPath_unknownPath => 'Неизвестный'; + String get channelPath_unknownPath => 'Неизвестный'; @override - String get channelPath_floodPath => 'Рассылка'; + String get channelPath_floodPath => 'Рассылка'; @override - String get channelPath_directPath => 'Прямой'; + String get channelPath_directPath => 'Прямой'; @override String channelPath_observedZeroOf(int total) { - return '0 из $total хопов'; + return '0 из $total хопов'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed из $total хопов'; + return '$observed из $total хопов'; } @override - String get channelPath_mapTitle => 'Карта пути'; + String get channelPath_mapTitle => 'Карта пути'; @override String get channelPath_noRepeaterLocations => - 'Нет данных о местоположении репитеров для этого пути.'; + 'Нет данных о местоположении репитеров для этого пути.'; @override String channelPath_primaryPath(int index) { - return 'Путь $index (Основной)'; + return 'Путь $index (Основной)'; } @override - String get channelPath_pathLabelTitle => 'Путь'; + String get channelPath_pathLabelTitle => 'Путь'; @override - String get channelPath_observedPathHeader => 'Наблюдаемый путь'; + String get channelPath_observedPathHeader => + 'Наблюдаемый путь'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Детали хопов для этого пакета недоступны.'; + 'Детали хопов для этого пакета недоступны.'; @override - String get channelPath_unknownRepeater => 'Неизвестный репитер'; + String get channelPath_unknownRepeater => + 'Неизвестный репитер'; @override - String get community_title => 'Сообщество'; + String get community_title => 'Сообщество'; @override - String get community_create => 'Создать сообщество'; + String get community_create => 'Создать сообщество'; @override String get community_createDesc => - 'Создать новое сообщество и поделиться через QR-код.'; + 'Создать новое сообщество и поделиться через QR-код.'; @override - String get community_join => 'Присоединиться'; + String get community_join => 'Присоединиться'; @override - String get community_joinTitle => 'Присоединиться к сообществу'; + String get community_joinTitle => + 'Присоединиться к сообществу'; @override String community_joinConfirmation(String name) { - return 'Вы хотите присоединиться к сообществу \"$name\"?'; + return 'Ð’Ñ‹ хотите присоединиться к сообществу \"$name\"?'; } @override - String get community_scanQr => 'Сканировать QR-код сообщества'; + String get community_scanQr => + 'Сканировать QR-код сообщества'; @override String get community_scanInstructions => - 'Наведите камеру на QR-код сообщества'; + 'Наведите камеру на QR-код сообщества'; @override - String get community_showQr => 'Показать QR-код'; + String get community_showQr => 'Показать QR-код'; @override - String get community_publicChannel => 'Публичный канал сообщества'; + String get community_publicChannel => + 'Публичный канал сообщества'; @override - String get community_hashtagChannel => 'Хэштег-канал сообщества'; + String get community_hashtagChannel => + 'Хэштег-канал сообщества'; @override - String get community_name => 'Имя сообщества'; + String get community_name => 'Имя сообщества'; @override - String get community_enterName => 'Введите имя сообщества'; + String get community_enterName => + 'Введите имя сообщества'; @override String community_created(String name) { - return 'Сообщество \"$name\" создано'; + return 'Сообщество \"$name\" создано'; } @override String community_joined(String name) { - return 'Присоединились к сообществу \"$name\"'; + return 'Присоединились к сообществу \"$name\"'; } @override - String get community_qrTitle => 'Поделиться сообществом'; + String get community_qrTitle => 'Поделиться сообществом'; @override String community_qrInstructions(String name) { - return 'Отсканируйте этот QR-код, чтобы присоединиться к \"$name\"'; + return 'Отсканируйте этот QR-код, чтобы присоединиться к \"$name\"'; } @override String get community_hashtagPrivacyHint => - 'Хэштег-каналы сообщества доступны только его участникам'; + 'Хэштег-каналы сообщества доступны только его участникам'; @override - String get community_invalidQrCode => 'Недопустимый QR-код сообщества'; + String get community_invalidQrCode => + 'Недопустимый QR-код сообщества'; @override - String get community_alreadyMember => 'Уже участник'; + String get community_alreadyMember => 'Уже участник'; @override String community_alreadyMemberMessage(String name) { - return 'Вы уже участник сообщества \"$name\".'; + return 'Ð’Ñ‹ уже участник сообщества \"$name\".'; } @override String get community_addPublicChannel => - 'Добавить публичный канал сообщества'; + 'Добавить публичный канал сообщества'; @override String get community_addPublicChannelHint => - 'Автоматически добавить публичный канал для этого сообщества'; + 'Автоматически добавить публичный канал для этого сообщества'; @override String get community_noCommunities => - 'Вы ещё не присоединились ни к одному сообществу'; + 'Ð’Ñ‹ ещё не присоединились ни к одному сообществу'; @override String get community_scanOrCreate => - 'Отсканируйте QR-код или создайте сообщество, чтобы начать'; + 'Отсканируйте QR-код или создайте сообщество, чтобы начать'; @override - String get community_manageCommunities => 'Управление сообществами'; + String get community_manageCommunities => + 'Управление сообществами'; @override - String get community_delete => 'Покинуть сообщество'; + String get community_delete => 'Покинуть сообщество'; @override String community_deleteConfirm(String name) { - return 'Покинуть \"$name\"?'; + return 'Покинуть \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Это также удалит $count канал(ов) и их сообщения.'; + return 'Это также удалит $count канал(ов) и их сообщения.'; } @override String community_deleted(String name) { - return 'Покинули сообщество \"$name\"'; + return 'Покинули сообщество \"$name\"'; } @override - String get community_regenerateSecret => 'Пересоздать секрет'; + String get community_regenerateSecret => + 'Пересоздать секрет'; @override String community_regenerateSecretConfirm(String name) { - return 'Пересоздать секретный ключ для \"$name\"? Все участники должны будут отсканировать новый QR-код для продолжения общения.'; + return 'Пересоздать секретный ключ для \"$name\"? Все участники должны будут отсканировать новый QR-код для продолжения общения.'; } @override - String get community_regenerate => 'Пересоздать'; + String get community_regenerate => 'Пересоздать'; @override String community_secretRegenerated(String name) { - return 'Секрет пересоздан для \"$name\"'; + return 'Секрет пересоздан для \"$name\"'; } @override - String get community_updateSecret => 'Обновить секрет'; + String get community_updateSecret => 'Обновить секрет'; @override String community_secretUpdated(String name) { - return 'Секрет обновлён для \"$name\"'; + return 'Секрет обновлён для \"$name\"'; } @override String community_scanToUpdateSecret(String name) { - return 'Отсканируйте новый QR-код, чтобы обновить секрет для \"$name\"'; + return 'Отсканируйте новый QR-код, чтобы обновить секрет для \"$name\"'; } @override - String get community_addHashtagChannel => 'Добавить хэштег-канал сообщества'; + String get community_addHashtagChannel => + 'Добавить хэштег-канал сообщества'; @override String get community_addHashtagChannelDesc => - 'Добавить хэштег-канал для этого сообщества'; + 'Добавить хэштег-канал для этого сообщества'; @override - String get community_selectCommunity => 'Выбрать сообщество'; + String get community_selectCommunity => 'Выбрать сообщество'; @override - String get community_regularHashtag => 'Обычный хэштег'; + String get community_regularHashtag => 'Обычный хэштег'; @override String get community_regularHashtagDesc => - 'Публичный хэштег (любой может присоединиться)'; + 'Публичный хэштег (любой может присоединиться)'; @override - String get community_communityHashtag => 'Хэштег сообщества'; + String get community_communityHashtag => 'Хэштег сообщества'; @override String get community_communityHashtagDesc => - 'Доступен только участникам сообщества'; + 'Доступен только участникам сообщества'; @override String community_forCommunity(String name) { - return 'Для $name'; + return 'Для $name'; } @override - String get listFilter_tooltip => 'Фильтр и сортировка'; + String get listFilter_tooltip => 'Фильтр и сортировка'; @override - String get listFilter_sortBy => 'Сортировка по'; + String get listFilter_sortBy => 'Сортировка по'; @override - String get listFilter_latestMessages => 'Последние сообщения'; + String get listFilter_latestMessages => + 'Последние сообщения'; @override - String get listFilter_heardRecently => 'Слышали недавно'; + String get listFilter_heardRecently => 'Слышали недавно'; @override - String get listFilter_az => 'По алфавиту'; + String get listFilter_az => 'По алфавиту'; @override - String get listFilter_filters => 'Фильтры'; + String get listFilter_filters => 'Фильтры'; @override - String get listFilter_all => 'Все'; + String get listFilter_all => 'Все'; @override - String get listFilter_favorites => 'Избранное'; + String get listFilter_favorites => 'Избранное'; @override - String get listFilter_addToFavorites => 'Добавить в избранное'; + String get listFilter_addToFavorites => + 'Добавить в избранное'; @override - String get listFilter_removeFromFavorites => 'Удалить из избранного'; + String get listFilter_removeFromFavorites => + 'Удалить из избранного'; @override - String get listFilter_users => 'Пользователи'; + String get listFilter_users => 'Пользователи'; @override - String get listFilter_repeaters => 'Репитеры'; + String get listFilter_repeaters => 'Репитеры'; @override - String get listFilter_roomServers => 'Серверы комнат'; + String get listFilter_roomServers => 'Серверы комнат'; @override - String get listFilter_unreadOnly => 'Только непрочитанные'; + String get listFilter_unreadOnly => 'Только непрочитанные'; @override - String get listFilter_newGroup => 'Новая группа'; + String get listFilter_newGroup => 'Новая группа'; @override - String get pathTrace_you => 'Вы'; + String get pathTrace_you => 'Ð’Ñ‹'; @override - String get pathTrace_failed => 'Путь трассировки не выполнен.'; + String get pathTrace_failed => + 'Путь трассировки не выполнен.'; @override - String get pathTrace_notAvailable => 'Трассировка пути недоступна.'; + String get pathTrace_notAvailable => + 'Трассировка пути недоступна.'; @override - String get pathTrace_refreshTooltip => 'Обновить Path Trace'; + String get pathTrace_refreshTooltip => 'Обновить Path Trace'; @override String get pathTrace_someHopsNoLocation => - 'Одному или нескольким хмелям не указано местоположение!'; + 'Одному или нескольким хмелям не указано местоположение!'; @override - String get pathTrace_clearTooltip => 'Очистить путь'; + String get pathTrace_clearTooltip => 'Очистить путь'; @override - String get losSelectStartEnd => 'Выберите начальный и конечный узлы для LOS.'; + String get losSelectStartEnd => + 'Выберите начальный и конечный узлы для LOS.'; @override String losRunFailed(String error) { - return 'Проверка прямой видимости не удалась: $error'; + return 'Проверка прямой видимости не удалась: $error'; } @override - String get losClearAllPoints => 'Очистить все точки'; + String get losClearAllPoints => 'Очистить все точки'; @override String get losRunToViewElevationProfile => - 'Запустите LOS, чтобы просмотреть профиль высот.'; + 'Запустите LOS, чтобы просмотреть профиль высот.'; @override - String get losMenuTitle => 'ЛОС Меню'; + String get losMenuTitle => 'ЛОС Меню'; @override String get losMenuSubtitle => - 'Коснитесь узлов или нажмите и удерживайте карту для выбора пользовательских точек.'; + 'Коснитесь узлов или нажмите и удерживайте карту для выбора пользовательских точек.'; @override - String get losShowDisplayNodes => 'Показать узлы отображения'; + String get losShowDisplayNodes => + 'Показать узлы отображения'; @override - String get losCustomPoints => 'Пользовательские точки'; + String get losCustomPoints => 'Пользовательские точки'; @override String losCustomPointLabel(int index) { - return 'Пользовательский $index'; + return 'Пользовательский $index'; } @override - String get losPointA => 'Точка А'; + String get losPointA => 'Точка А'; @override - String get losPointB => 'Точка Б'; + String get losPointB => 'Точка Б'; @override String losAntennaA(String value, String unit) { - return 'Антенна А: $value $unit'; + return 'Антенна А: $value $unit'; } @override String losAntennaB(String value, String unit) { - return 'Антенна Б: $value $unit'; + return 'Антенна Б: $value $unit'; } @override - String get losRun => 'Запустить ЛОС'; + String get losRun => 'Запустить ЛОС'; @override - String get losNoElevationData => 'Нет данных о высоте'; + String get losNoElevationData => 'Нет данных о высоте'; @override String losProfileClear( @@ -2901,7 +3048,7 @@ class AppLocalizationsRu extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, свободная зона видимости, минимальный зазор $clearance $heightUnit'; + return '$distance $distanceUnit, свободная зона видимости, минимальный зазор $clearance $heightUnit'; } @override @@ -2911,61 +3058,64 @@ class AppLocalizationsRu extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit, заблокирован $obstruction $heightUnit'; + return '$distance $distanceUnit, заблокирован $obstruction $heightUnit'; } @override - String get losStatusChecking => 'ЛОС: проверяю...'; + String get losStatusChecking => 'ЛОС: проверяю...'; @override - String get losStatusNoData => 'ЛОС: нет данных'; + String get losStatusNoData => 'ЛОС: нет данных'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS: $clear/$total очищено, $blocked заблокировано, $unknown неизвестно.'; + return 'LOS: $clear/$total очищено, $blocked заблокировано, $unknown неизвестно.'; } @override String get losErrorElevationUnavailable => - 'Данные о высоте недоступны для одного или нескольких образцов.'; + 'Данные о высоте недоступны для одного или нескольких образцов.'; @override String get losErrorInvalidInput => - 'Неверные данные о точках/высоте для расчета LOS.'; + 'Неверные данные о точках/высоте для расчета LOS.'; @override - String get losRenameCustomPoint => 'Переименовать пользовательскую точку'; + String get losRenameCustomPoint => + 'Переименовать пользовательскую точку'; @override - String get losPointName => 'Имя точки'; + String get losPointName => 'Имя точки'; @override - String get losShowPanelTooltip => 'Показать панель LOS'; + String get losShowPanelTooltip => 'Показать панель LOS'; @override - String get losHidePanelTooltip => 'Скрыть панель LOS'; + String get losHidePanelTooltip => 'Скрыть панель LOS'; @override String get losElevationAttribution => - 'Данные о высоте: Open-Meteo (CC BY 4.0)'; + 'Данные о высоте: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Радиогоризонт'; + String get losLegendRadioHorizon => 'Радиогоризонт'; @override - String get losLegendLosBeam => 'Линия прямой видимости'; + String get losLegendLosBeam => 'Линия прямой видимости'; @override - String get losLegendTerrain => 'Рельеф'; + String get losLegendTerrain => 'Рельеф'; @override - String get losFrequencyLabel => 'Частота'; + String get losFrequencyLabel => 'Частота'; @override - String get losFrequencyInfoTooltip => 'Просмотреть детали расчёта'; + String get losFrequencyInfoTooltip => + 'Просмотреть детали расчёта'; @override - String get losFrequencyDialogTitle => 'Расчёт радиогоризонта'; + String get losFrequencyDialogTitle => + 'Расчёт радиогоризонта'; @override String losFrequencyDialogDescription( @@ -2974,97 +3124,105 @@ class AppLocalizationsRu extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Начиная с k=$baselineK на частоте $baselineFreq МГц, расчет корректирует коэффициент k для текущего диапазона $frequencyMHz МГц, который определяет изогнутую границу радиогоризонта.'; + return 'Начиная с k=$baselineK на частоте $baselineFreq МГц, расчет корректирует коэффициент k для текущего диапазона $frequencyMHz МГц, который определяет изогнутую границу радиогоризонта.'; } @override - String get contacts_pathTrace => 'Трассировка пути'; + String get contacts_pathTrace => 'Трассировка пути'; @override - String get contacts_ping => 'Пинговать'; + String get contacts_ping => 'Пинговать'; @override - String get contacts_repeaterPathTrace => 'Отследить путь к ретранслятору'; + String get contacts_repeaterPathTrace => + 'Отследить путь к ретранслятору'; @override - String get contacts_repeaterPing => 'Пинговать повторитель'; + String get contacts_repeaterPing => + 'Пинговать повторитель'; @override - String get contacts_roomPathTrace => 'Трассировка пути к серверу комнаты'; + String get contacts_roomPathTrace => + 'Трассировка пути к серверу комнаты'; @override - String get contacts_roomPing => 'Пинговать сервер комнаты'; + String get contacts_roomPing => + 'Пинговать сервер комнаты'; @override - String get contacts_chatTraceRoute => 'Трассировка маршрута'; + String get contacts_chatTraceRoute => + 'Трассировка маршрута'; @override String contacts_pathTraceTo(String name) { - return 'Показать маршрут к $name'; + return 'Показать маршрут к $name'; } @override - String get contacts_clipboardEmpty => 'Буфер обмена пуст.'; + String get contacts_clipboardEmpty => 'Буфер обмена пуст.'; @override String get contacts_invalidAdvertFormat => - 'Недействительные контактные данные'; + 'Недействительные контактные данные'; @override - String get contacts_contactImported => 'Контакт был импортирован'; + String get contacts_contactImported => + 'Контакт был импортирован'; @override - String get contacts_contactImportFailed => 'Контакт не удалось импортировать'; + String get contacts_contactImportFailed => + 'Контакт не удалось импортировать'; @override - String get contacts_zeroHopAdvert => 'Реклама Zero Hop'; + String get contacts_zeroHopAdvert => 'Реклама Zero Hop'; @override - String get contacts_floodAdvert => 'Рекламный поток'; + String get contacts_floodAdvert => 'Рекламный поток'; @override String get contacts_copyAdvertToClipboard => - 'Копировать рекламу в буфер обмена'; + 'Копировать рекламу в буфер обмена'; @override String get contacts_addContactFromClipboard => - 'Добавить контакт из буфера обмена'; + 'Добавить контакт из буфера обмена'; @override - String get contacts_ShareContact => 'Копировать контакт в буфер обмена'; + String get contacts_ShareContact => + 'Копировать контакт в буфер обмена'; @override String get contacts_ShareContactZeroHop => - 'Поделиться контактом по объявлению'; + 'Поделиться контактом по объявлению'; @override String get contacts_zeroHopContactAdvertSent => - 'Отправлено сообщение по объявлению.'; + 'Отправлено сообщение по объявлению.'; @override String get contacts_zeroHopContactAdvertFailed => - 'Не удалось отправить контакт.'; + 'Не удалось отправить контакт.'; @override String get contacts_contactAdvertCopied => - 'Реклама скопирована в буфер обмена.'; + 'Реклама скопирована в буфер обмена.'; @override String get contacts_contactAdvertCopyFailed => - 'Копирование рекламы в буфер обмена не удалось.'; + 'Копирование рекламы в буфер обмена не удалось.'; @override - String get notification_activityTitle => 'Активность MeshCore'; + String get notification_activityTitle => 'Активность MeshCore'; @override String notification_messagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'сообщений', - many: 'сообщений', - few: 'сообщения', - one: 'сообщение', + other: 'сообщений', + many: 'сообщений', + few: 'сообщения', + one: 'сообщение', ); return '$count $_temp0'; } @@ -3074,10 +3232,10 @@ class AppLocalizationsRu extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'сообщений канала', - many: 'сообщений канала', - few: 'сообщения канала', - one: 'сообщение канала', + other: 'сообщений канала', + many: 'сообщений канала', + few: 'сообщения канала', + one: 'сообщение канала', ); return '$count $_temp0'; } @@ -3087,78 +3245,87 @@ class AppLocalizationsRu extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'новых узлов', - many: 'новых узлов', - few: 'новых узла', - one: 'новый узел', + other: 'новых узлов', + many: 'новых узлов', + few: 'новых узла', + one: 'новый узел', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { - return 'Обнаружен новый $contactType'; + return 'Обнаружен новый $contactType'; } @override - String get notification_receivedNewMessage => 'Получено новое сообщение'; + String get notification_receivedNewMessage => + 'Получено новое сообщение'; @override String get settings_gpxExportRepeaters => - 'Экспортировать рипитеры / сервер комнаты в GPX'; + 'Экспортировать рипитеры / сервер комнаты в GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.'; + 'Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.'; @override - String get settings_gpxExportContacts => 'Экспортировать спутников в GPX'; + String get settings_gpxExportContacts => + 'Экспортировать спутников в GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Экспортирует спутников с местоположением в файл GPX.'; + 'Экспортирует спутников с местоположением в файл GPX.'; @override - String get settings_gpxExportAll => 'Экспортировать все контакты в GPX'; + String get settings_gpxExportAll => + 'Экспортировать все контакты в GPX'; @override String get settings_gpxExportAllSubtitle => - 'Экспортирует все контакты с местоположением в файл GPX.'; + 'Экспортирует все контакты с местоположением в файл GPX.'; @override - String get settings_gpxExportSuccess => 'Успешно экспортирован файл GPX.'; + String get settings_gpxExportSuccess => + 'Успешно экспортирован файл GPX.'; @override - String get settings_gpxExportNoContacts => 'Нет контактов для экспорта.'; + String get settings_gpxExportNoContacts => + 'Нет контактов для экспорта.'; @override String get settings_gpxExportNotAvailable => - 'Не поддерживается на вашем устройстве/ОС'; + 'Не поддерживается на вашем устройстве/ОС'; @override - String get settings_gpxExportError => 'Произошла ошибка при экспорте.'; + String get settings_gpxExportError => + 'Произошла ошибка при экспорте.'; @override String get settings_gpxExportRepeatersRoom => - 'Местоположения повторителей и серверов комнат'; + 'Местоположения повторителей и серверов комнат'; @override - String get settings_gpxExportChat => 'Местоположения спутников'; + String get settings_gpxExportChat => + 'Местоположения спутников'; @override - String get settings_gpxExportAllContacts => 'Все местоположения контактов'; + String get settings_gpxExportAllContacts => + 'Все местоположения контактов'; @override String get settings_gpxExportShareText => - 'Данные карты экспортированы из meshcore-open'; + 'Данные карты экспортированы из meshcore-open'; @override String get settings_gpxExportShareSubject => - 'meshcore-open экспорт данных карты GPX'; + 'meshcore-open экспорт данных карты GPX'; @override - String get snrIndicator_nearByRepeaters => 'Ближайшие ретрансляторы'; + String get snrIndicator_nearByRepeaters => + 'Ближайшие ретрансляторы'; @override - String get snrIndicator_lastSeen => 'Последний раз видели'; + String get snrIndicator_lastSeen => 'Последний раз видели'; } diff --git a/lib/l10n/app_localizations_sk.dart b/lib/l10n/app_localizations_sk.dart index a120a7d..713c860 100644 --- a/lib/l10n/app_localizations_sk.dart +++ b/lib/l10n/app_localizations_sk.dart @@ -15,85 +15,85 @@ class AppLocalizationsSk extends AppLocalizations { String get nav_contacts => 'Kontakty'; @override - String get nav_channels => 'Kanály'; + String get nav_channels => 'Kanály'; @override String get nav_map => 'Mapa'; @override - String get common_cancel => 'Zrušiť'; + String get common_cancel => 'ZruÅ¡iÅ¥'; @override String get common_ok => 'OK\nDobre'; @override - String get common_connect => 'Pripojiť'; + String get common_connect => 'PripojiÅ¥'; @override - String get common_unknownDevice => 'Neznáme zariadenie'; + String get common_unknownDevice => 'Neznáme zariadenie'; @override - String get common_save => 'Uložiť'; + String get common_save => 'UložiÅ¥'; @override - String get common_delete => 'Odstrániť'; + String get common_delete => 'OdstrániÅ¥'; @override - String get common_close => 'Zavrieť'; + String get common_close => 'ZavrieÅ¥'; @override - String get common_edit => 'Upraviť'; + String get common_edit => 'UpraviÅ¥'; @override - String get common_add => 'Pridať'; + String get common_add => 'PridaÅ¥'; @override String get common_settings => 'Nastavenia'; @override - String get common_disconnect => 'Odpojiť'; + String get common_disconnect => 'OdpojiÅ¥'; @override - String get common_connected => 'Pripojené'; + String get common_connected => 'Pripojené'; @override - String get common_disconnected => 'Odpojené'; + String get common_disconnected => 'Odpojené'; @override - String get common_create => 'Vytvoriť'; + String get common_create => 'VytvoriÅ¥'; @override - String get common_continue => 'Pokračovať'; + String get common_continue => 'PokračovaÅ¥'; @override - String get common_share => 'Zdieľať'; + String get common_share => 'ZdieľaÅ¥'; @override - String get common_copy => 'Kopírovať'; + String get common_copy => 'KopírovaÅ¥'; @override - String get common_retry => 'Pokusť znova'; + String get common_retry => 'PokusÅ¥ znova'; @override - String get common_hide => 'Skryť'; + String get common_hide => 'SkryÅ¥'; @override - String get common_remove => 'Odstrániť'; + String get common_remove => 'OdstrániÅ¥'; @override String get common_enable => 'Povolit'; @override - String get common_disable => 'Zakázať'; + String get common_disable => 'ZakázaÅ¥'; @override - String get common_reboot => 'Restartovať'; + String get common_reboot => 'RestartovaÅ¥'; @override - String get common_loading => 'Načítavanie...'; + String get common_loading => 'Načítavanie...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsSk extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Vyberte si metódu prepojenia.'; - - @override - String get connectionChoiceSubtitle => - 'Vyberte si, ako chcete dosiahnuť váš zariadenie MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,21 +119,21 @@ class AppLocalizationsSk extends AppLocalizations { @override String get usbScreenSubtitle => - 'Vyberte detekovaný sériový zariadenie a pripojte ho priamo k vašej MeshCore uzlu.'; + 'Vyberte detekovaný sériový zariadenie a pripojte ho priamo k vaÅ¡ej MeshCore uzlu.'; @override String get usbScreenStatus => 'Vyberte USB zariadenie'; @override String get usbScreenNote => - 'USB sériová komunikácia je aktívna na podporovaných zariadeniach s Androidom a na desktopových platformách.'; + 'USB sériová komunikácia je aktívna na podporovaných zariadeniach s Androidom a na desktopových platformách.'; @override String get usbScreenEmptyState => - 'Nenašli sa žiadne USB zariadenia. Pripojte jedno a obnovte.'; + 'NenaÅ¡li sa žiadne USB zariadenia. Pripojte jedno a obnovte.'; @override - String get scanner_scanning => 'Skrívania zariadení...'; + String get scanner_scanning => 'Skrívania zariadení...'; @override String get scanner_connecting => 'Pripojujem sa...'; @@ -149,19 +142,19 @@ class AppLocalizationsSk extends AppLocalizations { String get scanner_disconnecting => 'Odpojuje sa...'; @override - String get scanner_notConnected => 'Nezriadené'; + String get scanner_notConnected => 'Nezriadené'; @override String scanner_connectedTo(String deviceName) { - return 'Pripojené k $deviceName'; + return 'Pripojené k $deviceName'; } @override - String get scanner_searchingDevices => 'Hľadám zariadenia MeshCore...'; + String get scanner_searchingDevices => 'Hľadám zariadenia MeshCore...'; @override String get scanner_tapToScan => - 'Stlač skenovanie na nájdenie zariadení MeshCore.'; + 'Stlač skenovanie na nájdenie zariadení MeshCore.'; @override String scanner_connectionFailed(String error) { @@ -172,27 +165,27 @@ class AppLocalizationsSk extends AppLocalizations { String get scanner_stop => 'Zastavte'; @override - String get scanner_scan => 'Skončiť'; + String get scanner_scan => 'SkončiÅ¥'; @override - String get scanner_bluetoothOff => 'Bluetooth je vypnutý'; + String get scanner_bluetoothOff => 'Bluetooth je vypnutý'; @override String get scanner_bluetoothOffMessage => - 'Prosím, zapnite Bluetooth, aby ste mohli skenovať pre zariadenia.'; + 'Prosím, zapnite Bluetooth, aby ste mohli skenovaÅ¥ pre zariadenia.'; @override - String get scanner_chromeRequired => 'Vyžaduje sa prehliadač Chrome'; + String get scanner_chromeRequired => 'Vyžaduje sa prehliadač Chrome'; @override String get scanner_chromeRequiredMessage => - 'Táto webová aplikácia vyžaduje Google Chrome alebo prehliadač založený na Chromium pre podporu Bluetooth.'; + 'Táto webová aplikácia vyžaduje Google Chrome alebo prehliadač založený na Chromium pre podporu Bluetooth.'; @override String get scanner_enableBluetooth => 'Povolte Bluetooth'; @override - String get device_quickSwitch => 'Rýchle prepínač'; + String get device_quickSwitch => 'Rýchle prepínač'; @override String get device_meshcore => 'MeshCore'; @@ -201,123 +194,125 @@ class AppLocalizationsSk extends AppLocalizations { String get settings_title => 'Nastavenia'; @override - String get settings_deviceInfo => 'Informácie o zariadení'; + String get settings_deviceInfo => 'Informácie o zariadení'; @override - String get settings_appSettings => 'Nastavenia aplikácie'; + String get settings_appSettings => 'Nastavenia aplikácie'; @override String get settings_appSettingsSubtitle => - 'Upozornenia, správy a nastavenia mapy'; + 'Upozornenia, správy a nastavenia mapy'; @override String get settings_nodeSettings => 'Nastavenia uzla'; @override - String get settings_nodeName => 'Názov uzla'; + String get settings_nodeName => 'Názov uzla'; @override - String get settings_nodeNameNotSet => 'Nezriadené'; + String get settings_nodeNameNotSet => 'Nezriadené'; @override - String get settings_nodeNameHint => 'Zadajte názov uzla'; + String get settings_nodeNameHint => 'Zadajte názov uzla'; @override - String get settings_nodeNameUpdated => 'Meno aktualizované'; + String get settings_nodeNameUpdated => 'Meno aktualizované'; @override - String get settings_radioSettings => 'Nastavenia rádia'; + String get settings_radioSettings => 'Nastavenia rádia'; @override String get settings_radioSettingsSubtitle => - 'Frekvencia, výkon, rozptylovací faktor'; + 'Frekvencia, výkon, rozptylovací faktor'; @override - String get settings_radioSettingsUpdated => 'Nastavenia rádia aktualizované'; + String get settings_radioSettingsUpdated => + 'Nastavenia rádia aktualizované'; @override String get settings_location => 'Lokalita'; @override - String get settings_locationSubtitle => 'GPS súradnice'; + String get settings_locationSubtitle => 'GPS súradnice'; @override - String get settings_locationUpdated => 'Lokalita aktualizovaná'; + String get settings_locationUpdated => 'Lokalita aktualizovaná'; @override String get settings_locationBothRequired => - 'Zadajte obidve zložky zemyslenia a zložky meracieho kruhu.'; + 'Zadajte obidve zložky zemyslenia a zložky meracieho kruhu.'; @override - String get settings_locationInvalid => 'Neplatná šírka alebo dĺžka.'; + String get settings_locationInvalid => 'Neplatná šírka alebo dĺžka.'; @override - String get settings_locationGPSEnable => 'Aktivovať GPS'; + String get settings_locationGPSEnable => 'AktivovaÅ¥ GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Povolí automatické aktualizovanie polohy pomocou GPS.'; + 'Povolí automatické aktualizovanie polohy pomocou GPS.'; @override String get settings_locationIntervalSec => 'Interval pre GPS (Sekundy)'; @override String get settings_locationIntervalInvalid => - 'Interval musí byť aspoň 60 sekúnd a menej ako 86400 sekúnd.'; + 'Interval musí byÅ¥ aspoň 60 sekúnd a menej ako 86400 sekúnd.'; @override - String get settings_latitude => 'Súradnica'; + String get settings_latitude => 'Súradnica'; @override - String get settings_longitude => 'Dĺžka'; + String get settings_longitude => 'Dĺžka'; @override - String get settings_privacyMode => 'Režim ochrany súkromia'; + String get settings_privacyMode => 'Režim ochrany súkromia'; @override - String get settings_privacyModeSubtitle => 'Skryť meno/poloha v reklamách'; + String get settings_privacyModeSubtitle => 'SkryÅ¥ meno/poloha v reklamách'; @override String get settings_privacyModeToggle => - 'Prepínač súkromného režimu skryje vaše meno a polohu v reklamách.'; + 'Prepínač súkromného režimu skryje vaÅ¡e meno a polohu v reklamách.'; @override - String get settings_privacyModeEnabled => 'Ochranný režim je povolený.'; + String get settings_privacyModeEnabled => 'Ochranný režim je povolený.'; @override - String get settings_privacyModeDisabled => 'Ochranný režim je vypnutý'; + String get settings_privacyModeDisabled => 'Ochranný režim je vypnutý'; @override - String get settings_actions => 'Možné akcie'; + String get settings_actions => 'Možné akcie'; @override - String get settings_sendAdvertisement => 'Odoslať reklamu'; + String get settings_sendAdvertisement => 'OdoslaÅ¥ reklamu'; @override - String get settings_sendAdvertisementSubtitle => 'Momentálne priezornejšie.'; + String get settings_sendAdvertisementSubtitle => + 'Momentálne priezornejÅ¡ie.'; @override - String get settings_advertisementSent => 'Reklama odeslaná'; + String get settings_advertisementSent => 'Reklama odeslaná'; @override - String get settings_syncTime => 'Čas synchronizácie'; + String get settings_syncTime => 'ÄŒas synchronizácie'; @override String get settings_syncTimeSubtitle => - 'Nastaviť hodiny zariadenia na čas telefónu'; + 'NastaviÅ¥ hodiny zariadenia na čas telefónu'; @override - String get settings_timeSynchronized => 'Čas synchronizovaný'; + String get settings_timeSynchronized => 'ÄŒas synchronizovaný'; @override - String get settings_refreshContacts => 'Načítať Kontakty'; + String get settings_refreshContacts => 'NačítaÅ¥ Kontakty'; @override String get settings_refreshContactsSubtitle => - 'Načítať zoznam kontaktov z zariadenia'; + 'NačítaÅ¥ zoznam kontaktov z zariadenia'; @override - String get settings_rebootDevice => 'Restartovať zariadenie'; + String get settings_rebootDevice => 'RestartovaÅ¥ zariadenie'; @override String get settings_rebootDeviceSubtitle => @@ -325,7 +320,7 @@ class AppLocalizationsSk extends AppLocalizations { @override String get settings_rebootDeviceConfirm => - 'Ste si istý, že chcete zariadenie reštartovať? Budete odpojení.'; + 'Ste si istý, že chcete zariadenie reÅ¡tartovaÅ¥? Budete odpojení.'; @override String get settings_debug => 'Ladenie'; @@ -335,16 +330,16 @@ class AppLocalizationsSk extends AppLocalizations { @override String get settings_bleDebugLogSubtitle => - 'Príkazy BLE, odpovede a surové dáta'; + 'Príkazy BLE, odpovede a surové dáta'; @override - String get settings_appDebugLog => 'Záznam ladenia aplikácie'; + String get settings_appDebugLog => 'Záznam ladenia aplikácie'; @override - String get settings_appDebugLogSubtitle => 'Správy z ladenia aplikácie'; + String get settings_appDebugLogSubtitle => 'Správy z ladenia aplikácie'; @override - String get settings_about => 'O nás'; + String get settings_about => 'O nás'; @override String settings_aboutVersion(String version) { @@ -356,11 +351,11 @@ class AppLocalizationsSk extends AppLocalizations { @override String get settings_aboutDescription => - 'Otvorený zdrojový Flutter klient pre MeshCore LoRa sieťové zariadenia.'; + 'Otvorený zdrojový Flutter klient pre MeshCore LoRa sieÅ¥ové zariadenia.'; @override String get settings_aboutOpenMeteoAttribution => - 'Údaje o nadmorskej výške LOS: Open-Meteo (CC BY 4.0)'; + 'Údaje o nadmorskej výške LOS: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Meno'; @@ -372,16 +367,16 @@ class AppLocalizationsSk extends AppLocalizations { String get settings_infoStatus => 'Status'; @override - String get settings_infoBattery => 'Batéria'; + String get settings_infoBattery => 'Batéria'; @override - String get settings_infoPublicKey => 'Verejný kľúč'; + String get settings_infoPublicKey => 'Verejný kľúč'; @override - String get settings_infoContactsCount => 'Počet kontaktov'; + String get settings_infoContactsCount => 'Počet kontaktov'; @override - String get settings_infoChannelCount => 'Počet kanálov'; + String get settings_infoChannelCount => 'Počet kanálov'; @override String get settings_presets => 'Prednastavenia'; @@ -390,39 +385,41 @@ class AppLocalizationsSk extends AppLocalizations { String get settings_frequency => 'Frekvencia (MHz)'; @override - String get settings_frequencyHelper => '300,0 – 2500,0'; + String get settings_frequencyHelper => '300,0 – 2500,0'; @override - String get settings_frequencyInvalid => 'Neplatná frekvencia (300-2500 MHz)'; + String get settings_frequencyInvalid => 'Neplatná frekvencia (300-2500 MHz)'; @override - String get settings_bandwidth => 'Šírka pásma'; + String get settings_bandwidth => 'Šírka pásma'; @override - String get settings_spreadingFactor => 'Rozptýľovací faktor'; + String get settings_spreadingFactor => 'Rozptýľovací faktor'; @override - String get settings_codingRate => 'Cenový kurz pre programovanie'; + String get settings_codingRate => 'Cenový kurz pre programovanie'; @override - String get settings_txPower => 'TX Výkon (dBm)'; + String get settings_txPower => 'TX Výkon (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Neplatná hodnota výkonu TX (0-22 dBm)'; + String get settings_txPowerInvalid => + 'Neplatná hodnota výkonu TX (0-22 dBm)'; @override - String get settings_clientRepeat => 'Opätovné použitie bez elektrickej siete'; + String get settings_clientRepeat => + 'Opätovné použitie bez elektrickej siete'; @override String get settings_clientRepeatSubtitle => - 'Umožnite, aby toto zariadenie opakovávalo siete pre ostatných.'; + 'Umožnite, aby toto zariadenie opakovávalo siete pre ostatných.'; @override String get settings_clientRepeatFreqWarning => - 'Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.'; + 'Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.'; @override String settings_error(String message) { @@ -430,37 +427,37 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get appSettings_title => 'Nastavenia aplikácie'; + String get appSettings_title => 'Nastavenia aplikácie'; @override - String get appSettings_appearance => 'Vzhľad'; + String get appSettings_appearance => 'Vzhľad'; @override - String get appSettings_theme => 'Téma'; + String get appSettings_theme => 'Téma'; @override - String get appSettings_themeSystem => 'Predvolený systém'; + String get appSettings_themeSystem => 'Predvolený systém'; @override String get appSettings_themeLight => 'Svetlo'; @override - String get appSettings_themeDark => 'Tmavé'; + String get appSettings_themeDark => 'Tmavé'; @override String get appSettings_language => 'Jazyk'; @override - String get appSettings_languageSystem => 'Predvolený systém'; + String get appSettings_languageSystem => 'Predvolený systém'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -469,16 +466,16 @@ class AppLocalizationsSk extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -487,103 +484,104 @@ class AppLocalizationsSk extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override - String get appSettings_languageRu => 'Ruština'; + String get appSettings_languageRu => 'RuÅ¡tina'; @override - String get appSettings_languageUk => 'Ukrajinská'; + String get appSettings_languageUk => 'Ukrajinská'; @override - String get appSettings_enableMessageTracing => 'Povoliť sledovanie správ'; + String get appSettings_enableMessageTracing => 'PovoliÅ¥ sledovanie správ'; @override String get appSettings_enableMessageTracingSubtitle => - 'Zobraziť podrobné metadáta o smerovaní a časovaní správ'; + 'ZobraziÅ¥ podrobné metadáta o smerovaní a časovaní správ'; @override String get appSettings_notifications => 'Upozornenia'; @override - String get appSettings_enableNotifications => 'Povolte Notifikácie'; + String get appSettings_enableNotifications => 'Povolte Notifikácie'; @override String get appSettings_enableNotificationsSubtitle => - 'Zísť o upozornenia na správy a inzeráty'; + 'ZísÅ¥ o upozornenia na správy a inzeráty'; @override String get appSettings_notificationPermissionDenied => - 'Odmietená povolenie notifikácií'; + 'Odmietená povolenie notifikácií'; @override - String get appSettings_notificationsEnabled => 'Upozornenia povolené'; + String get appSettings_notificationsEnabled => 'Upozornenia povolené'; @override - String get appSettings_notificationsDisabled => 'Upozornenia sú vypnuté'; + String get appSettings_notificationsDisabled => 'Upozornenia sú vypnuté'; @override - String get appSettings_messageNotifications => 'Správy od upozornení'; + String get appSettings_messageNotifications => 'Správy od upozornení'; @override String get appSettings_messageNotificationsSubtitle => - 'Zobraziť upozornenie pri prijímaní nových správ'; + 'ZobraziÅ¥ upozornenie pri prijímaní nových správ'; @override - String get appSettings_channelMessageNotifications => 'Notifikácie z kanálov'; + String get appSettings_channelMessageNotifications => + 'Notifikácie z kanálov'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Zobraziť upozornenie pri prijímaní správ z kanálu'; + 'ZobraziÅ¥ upozornenie pri prijímaní správ z kanálu'; @override String get appSettings_advertisementNotifications => 'Upozornenia na reklamy'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Zobraziť upozornenie, keď sa objavia nové uzly.'; + 'ZobraziÅ¥ upozornenie, keď sa objavia nové uzly.'; @override - String get appSettings_messaging => 'Správy'; + String get appSettings_messaging => 'Správy'; @override - String get appSettings_clearPathOnMaxRetry => 'Vyčisti cestu na Max Retry'; + String get appSettings_clearPathOnMaxRetry => 'Vyčisti cestu na Max Retry'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Resetovať kontaktný priebeh po 5 neúspešných pokusoch o doručenie'; + 'ResetovaÅ¥ kontaktný priebeh po 5 neúspeÅ¡ných pokusoch o doručenie'; @override String get appSettings_pathsWillBeCleared => - 'Cesty budú vymazané po 5 neúspešných pokusoch.'; + 'Cesty budú vymazané po 5 neúspeÅ¡ných pokusoch.'; @override String get appSettings_pathsWillNotBeCleared => - 'Cesty sa automaticky nevymazávajú.'; + 'Cesty sa automaticky nevymazávajú.'; @override - String get appSettings_autoRouteRotation => 'Automatické prechodové trasy'; + String get appSettings_autoRouteRotation => 'Automatické prechodové trasy'; @override String get appSettings_autoRouteRotationSubtitle => - 'Striedajte sa medzi najlepšími trasami a režimom povodňovej analýzy.'; + 'Striedajte sa medzi najlepšími trasami a režimom povodňovej analýzy.'; @override String get appSettings_autoRouteRotationEnabled => - 'Automatické otáčanie trasy povolené'; + 'Automatické otáčanie trasy povolené'; @override String get appSettings_autoRouteRotationDisabled => - 'Automatické prekladanie trás pozastavené'; + 'Automatické prekladanie trás pozastavené'; @override - String get appSettings_battery => 'Batéria'; + String get appSettings_battery => 'Batéria'; @override - String get appSettings_batteryChemistry => 'Chemická zloženie batérie'; + String get appSettings_batteryChemistry => 'Chemická zloženie batérie'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { @@ -592,13 +590,13 @@ class AppLocalizationsSk extends AppLocalizations { @override String get appSettings_batteryChemistryConnectFirst => - 'Pripojte sa k zariadeniu na výber'; + 'Pripojte sa k zariadeniu na výber'; @override String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65V)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65V)'; @override String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)'; @@ -607,408 +605,410 @@ class AppLocalizationsSk extends AppLocalizations { String get appSettings_mapDisplay => 'Zobrazenie mapy'; @override - String get appSettings_showRepeaters => 'Zobraziť opakovače'; + String get appSettings_showRepeaters => 'ZobraziÅ¥ opakovače'; @override String get appSettings_showRepeatersSubtitle => - 'Zobraziť opakujúce sa uzly na mape'; + 'ZobraziÅ¥ opakujúce sa uzly na mape'; @override - String get appSettings_showChatNodes => 'Zobraziť uzly chatových správ'; + String get appSettings_showChatNodes => 'ZobraziÅ¥ uzly chatových správ'; @override String get appSettings_showChatNodesSubtitle => - 'Zobraziť chatové uzly na mape'; + 'ZobraziÅ¥ chatové uzly na mape'; @override - String get appSettings_showOtherNodes => 'Zobraziť ďalšie uzly'; + String get appSettings_showOtherNodes => 'ZobraziÅ¥ ďalÅ¡ie uzly'; @override String get appSettings_showOtherNodesSubtitle => - 'Zobraziť ostatné typy uzlov na mape'; + 'ZobraziÅ¥ ostatné typy uzlov na mape'; @override - String get appSettings_timeFilter => 'Filtrovacie Časové Obdoby'; + String get appSettings_timeFilter => 'Filtrovacie ÄŒasové Obdoby'; @override - String get appSettings_timeFilterShowAll => 'Zobraziť všetky uzly'; + String get appSettings_timeFilterShowAll => 'ZobraziÅ¥ vÅ¡etky uzly'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Zobraziť uzly z posledných $hours hodín'; + return 'ZobraziÅ¥ uzly z posledných $hours hodín'; } @override - String get appSettings_mapTimeFilter => 'Filtračný čas mapy'; + String get appSettings_mapTimeFilter => 'Filtračný čas mapy'; @override String get appSettings_showNodesDiscoveredWithin => - 'Zobraziť uzly objavené v:'; + 'ZobraziÅ¥ uzly objavené v:'; @override - String get appSettings_allTime => 'Všetky časy'; + String get appSettings_allTime => 'VÅ¡etky časy'; @override - String get appSettings_lastHour => 'Posledná hodina'; + String get appSettings_lastHour => 'Posledná hodina'; @override - String get appSettings_last6Hours => 'Posledné 6 hodín'; + String get appSettings_last6Hours => 'Posledné 6 hodín'; @override - String get appSettings_last24Hours => 'Posledných 24 hodín'; + String get appSettings_last24Hours => 'Posledných 24 hodín'; @override - String get appSettings_lastWeek => 'Minul týždeň'; + String get appSettings_lastWeek => 'Minul týždeň'; @override - String get appSettings_offlineMapCache => 'Offline Mapa Pamäť'; + String get appSettings_offlineMapCache => 'Offline Mapa Pamäť'; @override String get appSettings_unitsTitle => 'Jednotky'; @override - String get appSettings_unitsMetric => 'Metrické (m / km)'; + String get appSettings_unitsMetric => 'Metrické (m / km)'; @override - String get appSettings_unitsImperial => 'Imperiálne (ft / mi)'; + String get appSettings_unitsImperial => 'Imperiálne (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Neoznačila sa žiadna oblasť'; + String get appSettings_noAreaSelected => 'Neoznačila sa žiadna oblasÅ¥'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Vyberená oblasť (zoom $minZoom-$maxZoom)'; + return 'Vyberená oblasÅ¥ (zoom $minZoom-$maxZoom)'; } @override String get appSettings_debugCard => 'Ladenie'; @override - String get appSettings_appDebugLogging => 'Záznamy ladenia aplikácie'; + String get appSettings_appDebugLogging => 'Záznamy ladenia aplikácie'; @override String get appSettings_appDebugLoggingSubtitle => - 'Logovací správy aplikácie pre ladenie'; + 'Logovací správy aplikácie pre ladenie'; @override String get appSettings_appDebugLoggingEnabled => - 'Aplikácia povolila ladenie protokolmi'; + 'Aplikácia povolila ladenie protokolmi'; @override String get appSettings_appDebugLoggingDisabled => - 'Zabudované ladenie aplikácie je vypnuté.'; + 'Zabudované ladenie aplikácie je vypnuté.'; @override String get contacts_title => 'Kontakty'; @override - String get contacts_noContacts => 'Zatiaľ žiadne kontakty.'; + String get contacts_noContacts => 'Zatiaľ žiadne kontakty.'; @override String get contacts_contactsWillAppear => - 'Kontakty sa zobrazia, keď zariadenia spúšťajú reklamu.'; + 'Kontakty sa zobrazia, keď zariadenia spúšťajú reklamu.'; @override - String get contacts_unread => 'Neprečítané'; + String get contacts_unread => 'Neprečítané'; @override - String get contacts_searchContactsNoNumber => 'Hľadať kontakty...'; + String get contacts_searchContactsNoNumber => 'HľadaÅ¥ kontakty...'; @override String contacts_searchContacts(int number, String str) { - return 'Vyhľadávajte kontakty...'; + return 'Vyhľadávajte kontakty...'; } @override String contacts_searchFavorites(int number, String str) { - return 'Hľadať $number$str obľúbené...'; + return 'HľadaÅ¥ $number$str obľúbené...'; } @override String contacts_searchUsers(int number, String str) { - return 'Hľadať $number$str používateľov...'; + return 'HľadaÅ¥ $number$str používateľov...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Hľadať $number$str opakovače...'; + return 'HľadaÅ¥ $number$str opakovače...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Hľadaj $number$str serverov miestností...'; + return 'Hľadaj $number$str serverov miestností...'; } @override - String get contacts_noUnreadContacts => 'Žiadne neprečítané kontakty'; + String get contacts_noUnreadContacts => 'Žiadne neprečítané kontakty'; @override String get contacts_noContactsFound => - 'Neboli nájdených žiadnych kontaktov ani skupiny.'; + 'Neboli nájdených žiadnych kontaktov ani skupiny.'; @override - String get contacts_deleteContact => 'Odstrániť kontakt'; + String get contacts_deleteContact => 'OdstrániÅ¥ kontakt'; @override String contacts_removeConfirm(String contactName) { - return 'Odstrániť $contactName z kontaktov?'; + return 'OdstrániÅ¥ $contactName z kontaktov?'; } @override - String get contacts_manageRepeater => 'Spravovať opakované zoznamy'; + String get contacts_manageRepeater => 'SpravovaÅ¥ opakované zoznamy'; @override - String get contacts_manageRoom => 'Spravovať server miestnosti'; + String get contacts_manageRoom => 'SpravovaÅ¥ server miestnosti'; @override - String get contacts_roomLogin => 'Prihlásenie do miestnosti'; + String get contacts_roomLogin => 'Prihlásenie do miestnosti'; @override - String get contacts_openChat => 'Otvorené Chat'; + String get contacts_openChat => 'Otvorené Chat'; @override - String get contacts_editGroup => 'Upraviť skupinu'; + String get contacts_editGroup => 'UpraviÅ¥ skupinu'; @override - String get contacts_deleteGroup => 'Vymažť skupinu'; + String get contacts_deleteGroup => 'Vymažť skupinu'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Odstrániť \"$groupName\"?'; + return 'OdstrániÅ¥ \"$groupName\"?'; } @override - String get contacts_newGroup => 'Nová skupina'; + String get contacts_newGroup => 'Nová skupina'; @override - String get contacts_groupName => 'Názov skupiny'; + String get contacts_groupName => 'Názov skupiny'; @override - String get contacts_groupNameRequired => 'Skupina musí mať názov.'; + String get contacts_groupNameRequired => 'Skupina musí maÅ¥ názov.'; @override String contacts_groupAlreadyExists(String name) { - return 'Skupina \"$name\" už existuje'; + return 'Skupina \"$name\" už existuje'; } @override - String get contacts_filterContacts => 'Filtrovať kontakty...'; + String get contacts_filterContacts => 'FiltrovaÅ¥ kontakty...'; @override String get contacts_noContactsMatchFilter => - 'Žiadne kontakty neodídu vášmu filtru.'; + 'Žiadne kontakty neodídu vášmu filtru.'; @override - String get contacts_noMembers => 'Žiadni členovia'; + String get contacts_noMembers => 'Žiadni členovia'; @override - String get contacts_lastSeenNow => 'Posledné zreteľné zobrazenie teraz'; + String get contacts_lastSeenNow => 'Posledné zreteľné zobrazenie teraz'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Posledné zobrazenie $minutes min. dozadu'; + return 'Posledné zobrazenie $minutes min. dozadu'; } @override String get contacts_lastSeenHourAgo => - 'Zobral/Zabral poslednýkrát pred hodinou.'; + 'Zobral/Zabral poslednýkrát pred hodinou.'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Posledné zobrazenie $hours hodín dozadu'; + return 'Posledné zobrazenie $hours hodín dozadu'; } @override String get contacts_lastSeenDayAgo => - 'Zobral/Zabral posledný raz pred 1 dňom.'; + 'Zobral/Zabral posledný raz pred 1 dňom.'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Posledné zobrazenie $days dní dozadu'; + return 'Posledné zobrazenie $days dní dozadu'; } @override - String get channels_title => 'Kanály'; + String get channels_title => 'Kanály'; @override - String get channels_noChannelsConfigured => 'Neobsiahnuté žiadne kanály'; + String get channels_noChannelsConfigured => 'Neobsiahnuté žiadne kanály'; @override - String get channels_addPublicChannel => 'Pridať verejný kanál'; + String get channels_addPublicChannel => 'PridaÅ¥ verejný kanál'; @override - String get channels_searchChannels => 'Vyhľadávajte kanály...'; + String get channels_searchChannels => 'Vyhľadávajte kanály...'; @override - String get channels_noChannelsFound => 'Neobsiahlo sa žiadnych kanálov.'; + String get channels_noChannelsFound => 'Neobsiahlo sa žiadnych kanálov.'; @override String channels_channelIndex(int index) { - return 'Kanál $index'; + return 'Kanál $index'; } @override - String get channels_hashtagChannel => 'Kanál s hashtagom'; + String get channels_hashtagChannel => 'Kanál s hashtagom'; @override - String get channels_public => 'Veľké verejné'; + String get channels_public => 'Veľké verejné'; @override - String get channels_private => 'Osobné'; + String get channels_private => 'Osobné'; @override - String get channels_publicChannel => 'Veľké verejne kanály'; + String get channels_publicChannel => 'Veľké verejne kanály'; @override - String get channels_privateChannel => 'Osobné kanál'; + String get channels_privateChannel => 'Osobné kanál'; @override - String get channels_editChannel => 'Upraviť kanál'; + String get channels_editChannel => 'UpraviÅ¥ kanál'; @override - String get channels_muteChannel => 'Stlmiť kanál'; + String get channels_muteChannel => 'StlmiÅ¥ kanál'; @override - String get channels_unmuteChannel => 'Zrušiť stlmenie kanála'; + String get channels_unmuteChannel => 'ZruÅ¡iÅ¥ stlmenie kanála'; @override - String get channels_deleteChannel => 'Odstrániť kanál'; + String get channels_deleteChannel => 'OdstrániÅ¥ kanál'; @override String channels_deleteChannelConfirm(String name) { - return 'Odstrániť \"$name\"? To sa nedá zrušiť.'; + return 'OdstrániÅ¥ \"$name\"? To sa nedá zruÅ¡iÅ¥.'; } @override String channels_channelDeleteFailed(String name) { - return 'Kanál \"$name\" sa nepodarilo odstrániť'; + return 'Kanál \"$name\" sa nepodarilo odstrániÅ¥'; } @override String channels_channelDeleted(String name) { - return 'Kanál \"$name\" bol odstránený'; + return 'Kanál \"$name\" bol odstránený'; } @override - String get channels_addChannel => 'Pridať kanál'; + String get channels_addChannel => 'PridaÅ¥ kanál'; @override - String get channels_channelIndexLabel => 'Index kanála'; + String get channels_channelIndexLabel => 'Index kanála'; @override - String get channels_channelName => 'Názov kanálu'; + String get channels_channelName => 'Názov kanálu'; @override - String get channels_usePublicChannel => 'Použite verejný kanál'; + String get channels_usePublicChannel => 'Použite verejný kanál'; @override - String get channels_standardPublicPsk => 'Štandardný verejný PSK'; + String get channels_standardPublicPsk => 'Å tandardný verejný PSK'; @override - String get channels_pskHex => 'PSK (Šifrovacia kľúčik)'; + String get channels_pskHex => 'PSK (Å ifrovacia kľúčik)'; @override - String get channels_generateRandomPsk => 'Generovať náhodný PSK'; + String get channels_generateRandomPsk => 'GenerovaÅ¥ náhodný PSK'; @override - String get channels_enterChannelName => 'Prosím, zadajte názov kanála.'; + String get channels_enterChannelName => 'Prosím, zadajte názov kanála.'; @override String get channels_pskMustBe32Hex => - 'PSK musí mať 32 hexadecimálových znakov.'; + 'PSK musí maÅ¥ 32 hexadecimálových znakov.'; @override String channels_channelAdded(String name) { - return 'Kanál \"$name\" pridaný'; + return 'Kanál \"$name\" pridaný'; } @override String channels_editChannelTitle(int index) { - return 'Upraviť kanál $index'; + return 'UpraviÅ¥ kanál $index'; } @override - String get channels_smazCompression => 'Odstránenie kompresie SMAZ'; + String get channels_smazCompression => 'Odstránenie kompresie SMAZ'; @override String channels_channelUpdated(String name) { - return 'Kanál \"$name\" bol aktualizovaný'; + return 'Kanál \"$name\" bol aktualizovaný'; } @override - String get channels_publicChannelAdded => 'Veľký kanál pridaný'; + String get channels_publicChannelAdded => 'Veľký kanál pridaný'; @override - String get channels_sortBy => 'Triediť podľa'; + String get channels_sortBy => 'TriediÅ¥ podľa'; @override - String get channels_sortManual => 'Ručne'; + String get channels_sortManual => 'Ručne'; @override String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Posledné správy'; + String get channels_sortLatestMessages => 'Posledné správy'; @override - String get channels_sortUnread => 'Nezriadené'; + String get channels_sortUnread => 'Nezriadené'; @override - String get channels_createPrivateChannel => 'Vytvorte súkromný kanál'; + String get channels_createPrivateChannel => 'Vytvorte súkromný kanál'; @override String get channels_createPrivateChannelDesc => - 'Zabezpečené pomocou tajného kľúča.'; + 'Zabezpečené pomocou tajného kľúča.'; @override - String get channels_joinPrivateChannel => 'Pripojiť sa k súkromnému kanálu'; + String get channels_joinPrivateChannel => + 'PripojiÅ¥ sa k súkromnému kanálu'; @override - String get channels_joinPrivateChannelDesc => 'Ručne zadajte tajný kľúč.'; + String get channels_joinPrivateChannelDesc => + 'Ručne zadajte tajný kľúč.'; @override - String get channels_joinPublicChannel => 'Pripojte sa k verejnému kanálu'; + String get channels_joinPublicChannel => 'Pripojte sa k verejnému kanálu'; @override String get channels_joinPublicChannelDesc => - 'Któvek sátó na tutó kanalizovát.'; + 'Któvek sátó na tutó kanalizovát.'; @override - String get channels_joinHashtagChannel => 'Pripojte sa k Hashtag Kanálu'; + String get channels_joinHashtagChannel => 'Pripojte sa k Hashtag Kanálu'; @override String get channels_joinHashtagChannelDesc => - 'Ktoekolikoľvek sa môže pridať do hashtag kanálov.'; + 'Ktoekolikoľvek sa môže pridaÅ¥ do hashtag kanálov.'; @override - String get channels_scanQrCode => 'Skenujte QR kód'; + String get channels_scanQrCode => 'Skenujte QR kód'; @override - String get channels_scanQrCodeComingSoon => 'Čoskoro'; + String get channels_scanQrCodeComingSoon => 'ÄŒoskoro'; @override String get channels_enterHashtag => 'Zadajte hashtag'; @override - String get channels_hashtagHint => 'napr. #tím'; + String get channels_hashtagHint => 'napr. #tím'; @override - String get chat_noMessages => 'Zatiaľ žiadne správy.'; + String get chat_noMessages => 'Zatiaľ žiadne správy.'; @override - String get chat_sendMessageToStart => 'Pošlite správu na začiatok'; + String get chat_sendMessageToStart => 'PoÅ¡lite správu na začiatok'; @override - String get chat_originalMessageNotFound => 'Neznámy pôvodný odkaz.'; + String get chat_originalMessageNotFound => 'Neznámy pôvodný odkaz.'; @override String chat_replyingTo(String name) { - return 'Odpovedám $name'; + return 'Odpovedám $name'; } @override String chat_replyTo(String name) { - return 'Odpovedať $name'; + return 'OdpovedaÅ¥ $name'; } @override @@ -1016,39 +1016,39 @@ class AppLocalizationsSk extends AppLocalizations { @override String chat_sendMessageTo(String contactName) { - return 'Pošli správu $contactName'; + return 'PoÅ¡li správu $contactName'; } @override - String get chat_typeMessage => 'Napište správu...'; + String get chat_typeMessage => 'NapiÅ¡te správu...'; @override String chat_messageTooLong(int maxBytes) { - return 'Správa je príliš dlhá (max $maxBytes bytov).'; + return 'Správa je príliÅ¡ dlhá (max $maxBytes bytov).'; } @override - String get chat_messageCopied => 'Správa skopírovaná'; + String get chat_messageCopied => 'Správa skopírovaná'; @override - String get chat_messageDeleted => 'Posolstvo odstránené'; + String get chat_messageDeleted => 'Posolstvo odstránené'; @override String get chat_retryingMessage => 'Pokus o obnovenie'; @override String chat_retryCount(int current, int max) { - return 'Skúsiť $current/$max'; + return 'SkúsiÅ¥ $current/$max'; } @override - String get chat_sendGif => 'Odoslať GIF'; + String get chat_sendGif => 'OdoslaÅ¥ GIF'; @override - String get chat_reply => 'Odpovedať'; + String get chat_reply => 'OdpovedaÅ¥'; @override - String get chat_addReaction => 'Pridať Reakciu'; + String get chat_addReaction => 'PridaÅ¥ Reakciu'; @override String get chat_me => 'Mne'; @@ -1057,7 +1057,7 @@ class AppLocalizationsSk extends AppLocalizations { String get emojiCategorySmileys => 'Emoji'; @override - String get emojiCategoryGestures => 'Gestá'; + String get emojiCategoryGestures => 'Gestá'; @override String get emojiCategoryHearts => 'Srdcia'; @@ -1069,84 +1069,84 @@ class AppLocalizationsSk extends AppLocalizations { String get gifPicker_title => 'Vyberte GIF'; @override - String get gifPicker_searchHint => 'Vyhľadávajte GIFy...'; + String get gifPicker_searchHint => 'Vyhľadávajte GIFy...'; @override - String get gifPicker_poweredBy => 'Napájané spoločnosťou GIPHY'; + String get gifPicker_poweredBy => 'Napájané spoločnosÅ¥ou GIPHY'; @override - String get gifPicker_noGifsFound => 'Neboli nájdené žiadne GIFy.'; + String get gifPicker_noGifsFound => 'Neboli nájdené žiadne GIFy.'; @override - String get gifPicker_failedLoad => 'Nepodarilo sa načítať GIFy'; + String get gifPicker_failedLoad => 'Nepodarilo sa načítaÅ¥ GIFy'; @override - String get gifPicker_failedSearch => 'Nepodarilo sa vyhľadať GIFy'; + String get gifPicker_failedSearch => 'Nepodarilo sa vyhľadaÅ¥ GIFy'; @override - String get gifPicker_noInternet => 'Žiadna internetová konektivita'; + String get gifPicker_noInternet => 'Žiadna internetová konektivita'; @override - String get debugLog_appTitle => 'Záznam ladenia aplikácie'; + String get debugLog_appTitle => 'Záznam ladenia aplikácie'; @override String get debugLog_bleTitle => 'Log BLE Debug'; @override - String get debugLog_copyLog => 'Kopírovať záznam'; + String get debugLog_copyLog => 'KopírovaÅ¥ záznam'; @override - String get debugLog_clearLog => 'Vymažať záznam'; + String get debugLog_clearLog => 'VymažaÅ¥ záznam'; @override - String get debugLog_copied => 'Záznam ladenia skopírovaný'; + String get debugLog_copied => 'Záznam ladenia skopírovaný'; @override - String get debugLog_bleCopied => 'Kopírovaný záznam z BLE.'; + String get debugLog_bleCopied => 'Kopírovaný záznam z BLE.'; @override String get debugLog_noEntries => - 'Zatiaľ neboli zaznamenané žiadne debug logy.'; + 'Zatiaľ neboli zaznamenané žiadne debug logy.'; @override String get debugLog_enableInSettings => - 'Povolte ladicové logy v nastaveniach'; + 'Povolte ladicové logy v nastaveniach'; @override - String get debugLog_frames => 'Rámce'; + String get debugLog_frames => 'Rámce'; @override String get debugLog_rawLogRx => 'Raw Log-RX'; @override - String get debugLog_noBleActivity => 'Zatiaľ žiadna aktivita BLE.'; + String get debugLog_noBleActivity => 'Zatiaľ žiadna aktivita BLE.'; @override String debugFrame_length(int count) { - return 'Dĺžka rámca: $count bajtov'; + return 'Dĺžka rámca: $count bajtov'; } @override String debugFrame_command(String value) { - return 'Prikáž: 0x$value'; + return 'PrikázÌŒ: 0x$value'; } @override - String get debugFrame_textMessageHeader => 'Textová zvesť:'; + String get debugFrame_textMessageHeader => 'Textová zvesÅ¥:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '- Cieľový PubKey: $pubKey'; + return '- Cieľový PubKey: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Časové označenie: $timestamp'; + return '- ÄŒasové označenie: $timestamp'; } @override String debugFrame_flags(String value) { - return '- Žiadne vlajky: 0x$value'; + return '- Žiadne vlajky: 0x$value'; } @override @@ -1158,7 +1158,7 @@ class AppLocalizationsSk extends AppLocalizations { String get debugFrame_textTypeCli => 'CLI'; @override - String get debugFrame_textTypePlain => 'Jednoduché'; + String get debugFrame_textTypePlain => 'Jednoduché'; @override String debugFrame_text(String text) { @@ -1169,33 +1169,33 @@ class AppLocalizationsSk extends AppLocalizations { String get debugFrame_hexDump => 'Hex Dump:'; @override - String get chat_pathManagement => 'Správa ciest'; + String get chat_pathManagement => 'Správa ciest'; @override - String get chat_ShowAllPaths => 'Zobraziť všetky cesty'; + String get chat_ShowAllPaths => 'ZobraziÅ¥ vÅ¡etky cesty'; @override - String get chat_routingMode => 'Režim trasy'; + String get chat_routingMode => 'Režim trasy'; @override - String get chat_autoUseSavedPath => 'Použiť uloženú cestu'; + String get chat_autoUseSavedPath => 'PoužiÅ¥ uloženú cestu'; @override String get chat_forceFloodMode => - 'Zavrieť režim núdzového povodňového režimu'; + 'ZavrieÅ¥ režim núdzového povodňového režimu'; @override - String get chat_recentAckPaths => 'Nedávne cesty ACK (klepni na použitie):'; + String get chat_recentAckPaths => 'Nedávne cesty ACK (klepni na použitie):'; @override String get chat_pathHistoryFull => - 'História ciest je plná. Odstráňte záznamy, aby ste mohli pridať nové.'; + 'História ciest je plná. Odstráňte záznamy, aby ste mohli pridaÅ¥ nové.'; @override String get chat_hopSingular => 'Skok'; @override - String get chat_hopPlural => 'Skákať'; + String get chat_hopPlural => 'SkákaÅ¥'; @override String chat_hopsCount(int count) { @@ -1209,49 +1209,49 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get chat_successes => 'Úspechy'; + String get chat_successes => 'Úspechy'; @override - String get chat_removePath => 'Odstrániť cestu'; + String get chat_removePath => 'OdstrániÅ¥ cestu'; @override String get chat_noPathHistoryYet => - 'Zatiaľ žiadna história trás.\nPošlite správu a objavte trasy.'; + 'Zatiaľ žiadna história trás.\nPoÅ¡lite správu a objavte trasy.'; @override String get chat_pathActions => 'Cesty:'; @override - String get chat_setCustomPath => 'Nastaviť vlastnú cestu'; + String get chat_setCustomPath => 'NastaviÅ¥ vlastnú cestu'; @override - String get chat_setCustomPathSubtitle => 'Ručne zadajte trasu.'; + String get chat_setCustomPathSubtitle => 'Ručne zadajte trasu.'; @override - String get chat_clearPath => 'Vyčistiš cestu'; + String get chat_clearPath => 'VyčistiÅ¡ cestu'; @override String get chat_clearPathSubtitle => - 'Znovu nájsť vynútene pri nasledujúcej pošlite'; + 'Znovu nájsÅ¥ vynútene pri nasledujúcej poÅ¡lite'; @override String get chat_pathCleared => - 'Cesta vyčistená. Nasledujúce prepočetné získa trasu znova.'; + 'Cesta vyčistená. Nasledujúce prepočetné získa trasu znova.'; @override String get chat_floodModeSubtitle => - 'Použite prepínanie trasy v navigačnom paneli.'; + 'Použite prepínanie trasy v navigačnom paneli.'; @override String get chat_floodModeEnabled => - 'Odosporňovacia prevádzka je zapnutá. Vypnite ju znova cez ikonu routovania v navigačnom páse.'; + 'Odosporňovacia prevádzka je zapnutá. Vypnite ju znova cez ikonu routovania v navigačnom páse.'; @override - String get chat_fullPath => 'Celá cesta'; + String get chat_fullPath => 'Celá cesta'; @override String get chat_pathDetailsNotAvailable => - 'Podrobnosti o ceste zatiaľ dostupné nie sú. Skúste poslať správu na obnovenie.'; + 'Podrobnosti o ceste zatiaľ dostupné nie sú. Skúste poslaÅ¥ správu na obnovenie.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1261,41 +1261,41 @@ class AppLocalizationsSk extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Cesta nastavená: $hopCount $_temp0 - $status'; + return 'Cesta nastavená: $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Uložené lokálne. Spojte sa na synchronizáciu.'; + 'Uložené lokálne. Spojte sa na synchronizáciu.'; @override - String get chat_pathDeviceConfirmed => 'Zariadenie potvrdené.'; + String get chat_pathDeviceConfirmed => 'Zariadenie potvrdené.'; @override String get chat_pathDeviceNotConfirmed => - 'Zariadenie zatiaľ nebolo potvrdené.'; + 'Zariadenie zatiaľ nebolo potvrdené.'; @override - String get chat_type => 'Napište'; + String get chat_type => 'NapiÅ¡te'; @override String get chat_path => 'Cesta'; @override - String get chat_publicKey => 'Verejný kľúč'; + String get chat_publicKey => 'Verejný kľúč'; @override - String get chat_compressOutgoingMessages => 'Komprimovať odoslané správy'; + String get chat_compressOutgoingMessages => 'KomprimovaÅ¥ odoslané správy'; @override - String get chat_floodForced => 'Povodňová (nutená)'; + String get chat_floodForced => 'Povodňová (nutená)'; @override - String get chat_directForced => 'Priame (donútené)'; + String get chat_directForced => 'Priame (donútené)'; @override String chat_hopsForced(int count) { - return '$count skokov (nutené)'; + return '$count skokov (nutené)'; } @override @@ -1305,30 +1305,30 @@ class AppLocalizationsSk extends AppLocalizations { String get chat_direct => 'Priamo'; @override - String get chat_poiShared => 'Zdieľané body záujmu'; + String get chat_poiShared => 'Zdieľané body záujmu'; @override String chat_unread(int count) { - return 'Nezriadené: $count'; + return 'Nezriadené: $count'; } @override - String get chat_openLink => 'Otvoriť odkaz?'; + String get chat_openLink => 'OtvoriÅ¥ odkaz?'; @override String get chat_openLinkConfirmation => - 'Chcete otvoriť tento odkaz v prehliadači?'; + 'Chcete otvoriÅ¥ tento odkaz v prehliadači?'; @override - String get chat_open => 'Otvoriť'; + String get chat_open => 'OtvoriÅ¥'; @override String chat_couldNotOpenLink(String url) { - return 'Nepodarilo sa otvoriť odkaz: $url'; + return 'Nepodarilo sa otvoriÅ¥ odkaz: $url'; } @override - String get chat_invalidLink => 'Neplatný formát odkazu'; + String get chat_invalidLink => 'Neplatný formát odkazu'; @override String get map_title => 'Mapa uzlov'; @@ -1340,11 +1340,11 @@ class AppLocalizationsSk extends AppLocalizations { String get map_losScreenTitle => 'Line of Sight'; @override - String get map_noNodesWithLocation => 'Žiadne uzly s údajmi o polohe'; + String get map_noNodesWithLocation => 'Žiadne uzly s údajmi o polohe'; @override String get map_nodesNeedGps => - 'Uholníky musia zdieľať svoje GPS súradnice, aby sa zobrazili na mape.'; + 'Uholníky musia zdieľaÅ¥ svoje GPS súradnice, aby sa zobrazili na mape.'; @override String map_nodesCount(int count) { @@ -1353,7 +1353,7 @@ class AppLocalizationsSk extends AppLocalizations { @override String map_pinsCount(int count) { - return 'Krúžky: $count'; + return 'Krúžky: $count'; } @override @@ -1372,17 +1372,17 @@ class AppLocalizationsSk extends AppLocalizations { String get map_pinDm => 'Zabudka (DM)'; @override - String get map_pinPrivate => 'Zabudka (Osobná)'; + String get map_pinPrivate => 'Zabudka (Osobná)'; @override - String get map_pinPublic => 'Zablokovať (verejne)'; + String get map_pinPublic => 'ZablokovaÅ¥ (verejne)'; @override - String get map_lastSeen => 'Posledné zreteľné zobrazenie'; + String get map_lastSeen => 'Posledné zreteľné zobrazenie'; @override String get map_disconnectConfirm => - 'Ste si istý/á, že chcete odpojiť od tohto zariadenia?'; + 'Ste si istý/á, že chcete odpojiÅ¥ od tohto zariadenia?'; @override String get map_from => 'Od'; @@ -1391,167 +1391,170 @@ class AppLocalizationsSk extends AppLocalizations { String get map_source => 'Zdroj'; @override - String get map_flags => 'Zástavy'; + String get map_flags => 'Zástavy'; @override - String get map_shareMarkerHere => 'Zdieľte značku tu'; + String get map_shareMarkerHere => 'Zdieľte značku tu'; @override - String get map_pinLabel => 'Označka upozornenia'; + String get map_pinLabel => 'Označka upozornenia'; @override - String get map_label => 'Značka'; + String get map_label => 'Značka'; @override - String get map_pointOfInterest => 'Bod záujmu'; + String get map_pointOfInterest => 'Bod záujmu'; @override - String get map_sendToContact => 'Pošleť na kontakt'; + String get map_sendToContact => 'PoÅ¡leÅ¥ na kontakt'; @override - String get map_sendToChannel => 'Poslať do kanálu'; + String get map_sendToChannel => 'PoslaÅ¥ do kanálu'; @override - String get map_noChannelsAvailable => 'Неexistujú žiadne kanály.'; + String get map_noChannelsAvailable => 'Неexistujú žiadne kanály.'; @override - String get map_publicLocationShare => 'Zdieľiť verejnú lokalitu'; + String get map_publicLocationShare => 'ZdieľiÅ¥ verejnú lokalitu'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Čoskoro budete zdieľať polohu v $channelLabel. Tento kanál je verejný a môže ho vidieť každý s PSK.'; + return 'ÄŒoskoro budete zdieľaÅ¥ polohu v $channelLabel. Tento kanál je verejný a môže ho vidieÅ¥ každý s PSK.'; } @override String get map_connectToShareMarkers => - 'Pripojte sa k zariadeniu na zdieľanie značiek'; + 'Pripojte sa k zariadeniu na zdieľanie značiek'; @override - String get map_filterNodes => 'Filtrovať uzly'; + String get map_filterNodes => 'FiltrovaÅ¥ uzly'; @override String get map_nodeTypes => 'Typy uzlov'; @override - String get map_chatNodes => 'Chatové uzly'; + String get map_chatNodes => 'Chatové uzly'; @override - String get map_repeaters => 'Opakovadlá'; + String get map_repeaters => 'Opakovadlá'; @override - String get map_otherNodes => 'Ostatné uzly'; + String get map_otherNodes => 'Ostatné uzly'; @override - String get map_keyPrefix => 'Päťciferné predpona'; + String get map_keyPrefix => 'Päťciferné predpona'; @override - String get map_filterByKeyPrefix => 'Filtrovať podľa predponového kľúča'; + String get map_filterByKeyPrefix => + 'FiltrovaÅ¥ podľa predponového kľúča'; @override - String get map_publicKeyPrefix => 'Prefix verejného kľúča'; + String get map_publicKeyPrefix => 'Prefix verejného kľúča'; @override - String get map_markers => 'Označkovače'; + String get map_markers => 'Označkovače'; @override - String get map_showSharedMarkers => 'Zobraziť zdieľané značky'; + String get map_showSharedMarkers => 'ZobraziÅ¥ zdieľané značky'; @override - String get map_lastSeenTime => 'Posledný čas sledovania'; + String get map_lastSeenTime => 'Posledný čas sledovania'; @override - String get map_sharedPin => 'Zdieľaný PIN'; + String get map_sharedPin => 'Zdieľaný PIN'; @override - String get map_joinRoom => 'Pripojiť miestnosť'; + String get map_joinRoom => 'PripojiÅ¥ miestnosÅ¥'; @override - String get map_manageRepeater => 'Spravovať Opakovanie'; + String get map_manageRepeater => 'SpravovaÅ¥ Opakovanie'; @override String get map_tapToAdd => 'Kliknite na uzly, aby ste ich pridali k ceste.'; @override - String get map_runTrace => 'Spustiť trasovaním cesty'; + String get map_runTrace => 'SpustiÅ¥ trasovaním cesty'; @override - String get map_removeLast => 'Odstrániť posledný'; + String get map_removeLast => 'OdstrániÅ¥ posledný'; @override - String get map_pathTraceCancelled => 'Zrušenie stopáže cesty bolo zrušené.'; + String get map_pathTraceCancelled => + 'ZruÅ¡enie stopáže cesty bolo zruÅ¡ené.'; @override - String get mapCache_title => 'Offline Mapa Pamäť'; + String get mapCache_title => 'Offline Mapa Pamäť'; @override - String get mapCache_selectAreaFirst => 'Vyberte si oblasť na predprerúčenie.'; + String get mapCache_selectAreaFirst => + 'Vyberte si oblasÅ¥ na predprerúčenie.'; @override String get mapCache_noTilesToDownload => - 'Žiadne dlaždice na stiahnutie pre toto zóna'; + 'Žiadne dlaždice na stiahnutie pre toto zóna'; @override - String get mapCache_downloadTilesTitle => 'Stiahnuť dlaždice'; + String get mapCache_downloadTilesTitle => 'StiahnuÅ¥ dlaždice'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Stiahnuť $count dlaždíc na offline použitie?'; + return 'StiahnuÅ¥ $count dlaždíc na offline použitie?'; } @override - String get mapCache_downloadAction => 'Stiahnuť'; + String get mapCache_downloadAction => 'StiahnuÅ¥'; @override String mapCache_cachedTiles(int count) { - return 'Zabudené $count dlaždíc'; + return 'Zabudené $count dlaždíc'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Uložené $downloaded dlaždice ($failed neúspešné)'; + return 'Uložené $downloaded dlaždice ($failed neúspeÅ¡né)'; } @override - String get mapCache_clearOfflineCacheTitle => 'Vymazať offline uloženie'; + String get mapCache_clearOfflineCacheTitle => 'VymazaÅ¥ offline uloženie'; @override String get mapCache_clearOfflineCachePrompt => - 'Odstrániť všetky uložené mapové dlaždice?'; + 'OdstrániÅ¥ vÅ¡etky uložené mapové dlaždice?'; @override - String get mapCache_offlineCacheCleared => 'Offline polia vymazaná'; + String get mapCache_offlineCacheCleared => 'Offline polia vymazaná'; @override - String get mapCache_noAreaSelected => 'Neoznačila sa žiadna oblasť'; + String get mapCache_noAreaSelected => 'Neoznačila sa žiadna oblasÅ¥'; @override - String get mapCache_cacheArea => 'Obdĺžková oblasť'; + String get mapCache_cacheArea => 'Obdĺžková oblasÅ¥'; @override - String get mapCache_useCurrentView => 'Použite aktuálny zobrazenie'; + String get mapCache_useCurrentView => 'Použite aktuálny zobrazenie'; @override - String get mapCache_zoomRange => 'Rozsah zväčšenia'; + String get mapCache_zoomRange => 'Rozsah zväčšenia'; @override String mapCache_estimatedTiles(int count) { - return 'Odhadnuté dlaždice: $count'; + return 'Odhadnuté dlaždice: $count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return 'Stiahnuté $completed / $total'; + return 'Stiahnuté $completed / $total'; } @override - String get mapCache_downloadTilesButton => 'Stiahnuť dlaždice'; + String get mapCache_downloadTilesButton => 'StiahnuÅ¥ dlaždice'; @override - String get mapCache_clearCacheButton => 'Vyprázdniť Vädsť'; + String get mapCache_clearCacheButton => 'VyprázdniÅ¥ VädsÅ¥'; @override String mapCache_failedDownloads(int count) { - return 'Neúspešné stiahnutia: $count'; + return 'NeúspeÅ¡né stiahnutia: $count'; } @override @@ -1565,7 +1568,7 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get time_justNow => 'Príbeh'; + String get time_justNow => 'Príbeh'; @override String time_minutesAgo(int minutes) { @@ -1579,7 +1582,7 @@ class AppLocalizationsSk extends AppLocalizations { @override String time_daysAgo(int days) { - return '$days dní dozadu'; + return '$days dní dozadu'; } @override @@ -1589,16 +1592,16 @@ class AppLocalizationsSk extends AppLocalizations { String get time_hours => 'hodiny'; @override - String get time_day => 'deň'; + String get time_day => 'deň'; @override String get time_days => 'dni'; @override - String get time_week => 'týždeň'; + String get time_week => 'týždeň'; @override - String get time_weeks => 'týždne'; + String get time_weeks => 'týždne'; @override String get time_month => 'mesiac'; @@ -1607,23 +1610,23 @@ class AppLocalizationsSk extends AppLocalizations { String get time_months => 'mesiace'; @override - String get time_minutes => 'minúty'; + String get time_minutes => 'minúty'; @override - String get time_allTime => 'Všetko Časom'; + String get time_allTime => 'VÅ¡etko ÄŒasom'; @override - String get dialog_disconnect => 'Odpojiť'; + String get dialog_disconnect => 'OdpojiÅ¥'; @override String get dialog_disconnectConfirm => - 'Ste si istý/á, že chcete odpojiť od tohto zariadenia?'; + 'Ste si istý/á, že chcete odpojiÅ¥ od tohto zariadenia?'; @override - String get login_repeaterLogin => 'Opätovné prihlásenie'; + String get login_repeaterLogin => 'Opätovné prihlásenie'; @override - String get login_roomLogin => 'Prihlásenie do miestnosti'; + String get login_roomLogin => 'Prihlásenie do miestnosti'; @override String get login_password => 'Heslo'; @@ -1632,62 +1635,62 @@ class AppLocalizationsSk extends AppLocalizations { String get login_enterPassword => 'Zadajte heslo'; @override - String get login_savePassword => 'Uložiť heslo'; + String get login_savePassword => 'UložiÅ¥ heslo'; @override String get login_savePasswordSubtitle => - 'Heslo bude bezpečne uložené na tomto zariadení.'; + 'Heslo bude bezpečne uložené na tomto zariadení.'; @override String get login_repeaterDescription => - 'Zadajte heslo opakovača, aby ste získali prístup k nastaveniam a stavu.'; + 'Zadajte heslo opakovača, aby ste získali prístup k nastaveniam a stavu.'; @override String get login_roomDescription => - 'Zadajte heslo do miestnosti na prístup k nastaveniam a stavu.'; + 'Zadajte heslo do miestnosti na prístup k nastaveniam a stavu.'; @override - String get login_routing => 'Rútiace'; + String get login_routing => 'Rútiace'; @override - String get login_routingMode => 'Režim trasy'; + String get login_routingMode => 'Režim trasy'; @override - String get login_autoUseSavedPath => 'Použiť uloženú cestu'; + String get login_autoUseSavedPath => 'PoužiÅ¥ uloženú cestu'; @override String get login_forceFloodMode => - 'Zavrieť režim núdzového povodňového režimu'; + 'ZavrieÅ¥ režim núdzového povodňového režimu'; @override - String get login_managePaths => 'Spravovať Cesty'; + String get login_managePaths => 'SpravovaÅ¥ Cesty'; @override - String get login_login => 'Prihlásiť'; + String get login_login => 'PrihlásiÅ¥'; @override String login_attempt(int current, int max) { - return 'Skúšaj $current/$max'; + return 'Skúšaj $current/$max'; } @override String login_failed(String error) { - return 'Prihlásenie zlyhalo: $error'; + return 'Prihlásenie zlyhalo: $error'; } @override String get login_failedMessage => - 'Prihlásenie zlyhalo. Heslo je nesprávne alebo je opakovač nedostupný.'; + 'Prihlásenie zlyhalo. Heslo je nesprávne alebo je opakovač nedostupný.'; @override - String get common_reload => 'Načítať'; + String get common_reload => 'NačítaÅ¥'; @override - String get common_clear => 'Zmazať'; + String get common_clear => 'ZmazaÅ¥'; @override String path_currentPath(String path) { - return 'Aktívna cesta: $path'; + return 'Aktívna cesta: $path'; } @override @@ -1698,150 +1701,151 @@ class AppLocalizationsSk extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Používa $count $_temp0 cestu'; + return 'Používa $count $_temp0 cestu'; } @override - String get path_enterCustomPath => 'Zadajte vlastný priebeh'; + String get path_enterCustomPath => 'Zadajte vlastný priebeh'; @override - String get path_currentPathLabel => 'Aktuálny priebeh'; + String get path_currentPathLabel => 'Aktuálny priebeh'; @override String get path_hexPrefixInstructions => - 'Zadajte 2-miestne hexové predpony pre každú fázu, oddelené čiarkami.'; + 'Zadajte 2-miestne hexové predpony pre každú fázu, oddelené čiarkami.'; @override String get path_hexPrefixExample => - 'A1,F2,3C (každý uzel používa prvý bajt svojho verejného kľúča)'; + 'A1,F2,3C (každý uzel používa prvý bajt svojho verejného kľúča)'; @override - String get path_labelHexPrefixes => 'Cesty (hexové predpony)'; + String get path_labelHexPrefixes => 'Cesty (hexové predpony)'; @override String get path_helperMaxHops => - 'Max 64 skokov. Každý prefix je 2 hexadecimálne znaky (1 bajt).'; + 'Max 64 skokov. Každý prefix je 2 hexadecimálne znaky (1 bajt).'; @override String get path_selectFromContacts => 'Vyberte sa z kontaktov:'; @override String get path_noRepeatersFound => - 'Nenašli sa žiadne opakovače ani serverové miestnosti.'; + 'NenaÅ¡li sa žiadne opakovače ani serverové miestnosti.'; @override String get path_customPathsRequire => - 'Vlastné cesty vyžadujú medziletoch, ktoré môžu prenášať správky.'; + 'Vlastné cesty vyžadujú medziletoch, ktoré môžu prenášaÅ¥ správky.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Neplatné hexové predpony: $prefixes'; + return 'Neplatné hexové predpony: $prefixes'; } @override String get path_tooLong => - 'Cesta je príliš dlhá. Umožnené je maximum 64 skokov.'; + 'Cesta je príliÅ¡ dlhá. Umožnené je maximum 64 skokov.'; @override - String get path_setPath => 'Nastaviť cestu'; + String get path_setPath => 'NastaviÅ¥ cestu'; @override - String get repeater_management => 'Správa opakérov'; + String get repeater_management => 'Správa opakérov'; @override - String get room_management => 'Správa servera miestnosti'; + String get room_management => 'Správa servera miestnosti'; @override - String get repeater_managementTools => 'Nástroje na správu'; + String get repeater_managementTools => 'Nástroje na správu'; @override String get repeater_status => 'Status'; @override String get repeater_statusSubtitle => - 'Zobraziť stav, štatistiky a susedov repeatera'; + 'ZobraziÅ¥ stav, Å¡tatistiky a susedov repeatera'; @override String get repeater_telemetry => 'Telemetria'; @override String get repeater_telemetrySubtitle => - 'Zobraziť telemetriu senzorov a systémových štatistík'; + 'ZobraziÅ¥ telemetriu senzorov a systémových Å¡tatistík'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Pošlite príkazy opakovaču'; + String get repeater_cliSubtitle => 'PoÅ¡lite príkazy opakovaču'; @override - String get repeater_neighbors => 'Súsezný'; + String get repeater_neighbors => 'Súsezný'; @override - String get repeater_neighborsSubtitle => 'Zobraziť susedné body bez skokov.'; + String get repeater_neighborsSubtitle => + 'ZobraziÅ¥ susedné body bez skokov.'; @override String get repeater_settings => 'Nastavenia'; @override - String get repeater_settingsSubtitle => 'Konfigurujte parametre opakovača'; + String get repeater_settingsSubtitle => 'Konfigurujte parametre opakovača'; @override - String get repeater_statusTitle => 'Status opakého zboru'; + String get repeater_statusTitle => 'Status opakého zboru'; @override - String get repeater_routingMode => 'Režim trasy'; + String get repeater_routingMode => 'Režim trasy'; @override - String get repeater_autoUseSavedPath => 'Použiť uloženú cestu'; + String get repeater_autoUseSavedPath => 'PoužiÅ¥ uloženú cestu'; @override String get repeater_forceFloodMode => - 'Zavrieť režim núdzového povodňového režimu'; + 'ZavrieÅ¥ režim núdzového povodňového režimu'; @override - String get repeater_pathManagement => 'Správa trás'; + String get repeater_pathManagement => 'Správa trás'; @override - String get repeater_refresh => 'Obnoviť'; + String get repeater_refresh => 'ObnoviÅ¥'; @override - String get repeater_statusRequestTimeout => 'Požiadavka stavu zlyhala.'; + String get repeater_statusRequestTimeout => 'Požiadavka stavu zlyhala.'; @override String repeater_errorLoadingStatus(String error) { - return 'Chyba pri načítaní stavu: $error'; + return 'Chyba pri načítaní stavu: $error'; } @override - String get repeater_systemInformation => 'Informácie o systéme'; + String get repeater_systemInformation => 'Informácie o systéme'; @override - String get repeater_battery => 'Batéria'; + String get repeater_battery => 'Batéria'; @override - String get repeater_clockAtLogin => 'Čas (při přihlášení)'; + String get repeater_clockAtLogin => 'ÄŒas (pÅ™i pÅ™ihlášení)'; @override - String get repeater_uptime => 'Dostupnosť'; + String get repeater_uptime => 'DostupnosÅ¥'; @override - String get repeater_queueLength => 'Dĺžka fronty'; + String get repeater_queueLength => 'Dĺžka fronty'; @override - String get repeater_debugFlags => 'Kontrolné značky'; + String get repeater_debugFlags => 'Kontrolné značky'; @override - String get repeater_radioStatistics => 'Rádio Štatistiky'; + String get repeater_radioStatistics => 'Rádio Å tatistiky'; @override - String get repeater_lastRssi => 'Posledná RSSI'; + String get repeater_lastRssi => 'Posledná RSSI'; @override - String get repeater_lastSnr => 'Posledný SNR'; + String get repeater_lastSnr => 'Posledný SNR'; @override - String get repeater_noiseFloor => 'Hladina šumu'; + String get repeater_noiseFloor => 'Hladina Å¡umu'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1850,16 +1854,16 @@ class AppLocalizationsSk extends AppLocalizations { String get repeater_rxAirtime => 'RX Airtime'; @override - String get repeater_packetStatistics => 'Statistiky balíka'; + String get repeater_packetStatistics => 'Statistiky balíka'; @override - String get repeater_sent => 'Odoslané'; + String get repeater_sent => 'Odoslané'; @override - String get repeater_received => 'Prišlo'; + String get repeater_received => 'PriÅ¡lo'; @override - String get repeater_duplicates => 'Duplikáty'; + String get repeater_duplicates => 'Duplikáty'; @override String repeater_daysHoursMinsSecs( @@ -1868,17 +1872,17 @@ class AppLocalizationsSk extends AppLocalizations { int minutes, int seconds, ) { - return '$days dní ${hours}h ${minutes}m ${seconds}s'; + return '$days dní ${hours}h ${minutes}m ${seconds}s'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Celkem: $total, Povodňový režim: $flood, Priamy: $direct'; + return 'Celkem: $total, Povodňový režim: $flood, Priamy: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Celkem: $total, Povodňový režim: $flood, Priamy: $direct'; + return 'Celkem: $total, Povodňový režim: $flood, Priamy: $direct'; } @override @@ -1892,31 +1896,33 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Nastavenia Opakovača'; + String get repeater_settingsTitle => 'Nastavenia OpakovacÌŒa'; @override - String get repeater_basicSettings => 'Základné nastavenia'; + String get repeater_basicSettings => 'Základné nastavenia'; @override - String get repeater_repeaterName => 'Opakovacia názov'; + String get repeater_repeaterName => 'Opakovacia názov'; @override - String get repeater_repeaterNameHelper => 'Zobrazenie názvu tohto opakovača'; + String get repeater_repeaterNameHelper => + 'Zobrazenie názvu tohto opakovača'; @override - String get repeater_adminPassword => 'Heslo administrátora'; + String get repeater_adminPassword => 'Heslo administrátora'; @override - String get repeater_adminPasswordHelper => 'Celý prístupový heslo'; + String get repeater_adminPasswordHelper => 'Celý prístupový heslo'; @override - String get repeater_guestPassword => 'Heslo hosťa'; + String get repeater_guestPassword => 'Heslo hosÅ¥a'; @override - String get repeater_guestPasswordHelper => 'Prístupový heslo iba na čítanie'; + String get repeater_guestPasswordHelper => + 'Prístupový heslo iba na čítanie'; @override - String get repeater_radioSettings => 'Nastavenia rádia'; + String get repeater_radioSettings => 'Nastavenia rádia'; @override String get repeater_frequencyMhz => 'Frekvencia (MHz)'; @@ -1931,28 +1937,28 @@ class AppLocalizationsSk extends AppLocalizations { String get repeater_txPowerHelper => '1-30 dBm'; @override - String get repeater_bandwidth => 'Šírka pásma'; + String get repeater_bandwidth => 'Šírka pásma'; @override - String get repeater_spreadingFactor => 'Šírenie faktoru'; + String get repeater_spreadingFactor => 'Šírenie faktoru'; @override - String get repeater_codingRate => 'Rýchlosť kódovania'; + String get repeater_codingRate => 'RýchlosÅ¥ kódovania'; @override String get repeater_locationSettings => 'Nastavenia polohy'; @override - String get repeater_latitude => 'Súradnica'; + String get repeater_latitude => 'Súradnica'; @override - String get repeater_latitudeHelper => 'Desatinné zložky (napr. 37.7749)'; + String get repeater_latitudeHelper => 'Desatinné zložky (napr. 37.7749)'; @override - String get repeater_longitude => 'Dĺžka'; + String get repeater_longitude => 'Dĺžka'; @override - String get repeater_longitudeHelper => 'Desatinné zložky (napr. -122.4194)'; + String get repeater_longitudeHelper => 'Desatinné zložky (napr. -122.4194)'; @override String get repeater_features => 'Funkcie'; @@ -1962,173 +1968,176 @@ class AppLocalizationsSk extends AppLocalizations { @override String get repeater_packetForwardingSubtitle => - 'Povolte opakovač na smerovanie paketov.'; + 'Povolte opakovač na smerovanie paketov.'; @override - String get repeater_guestAccess => 'Prístup pre hostí'; + String get repeater_guestAccess => 'Prístup pre hostí'; @override String get repeater_guestAccessSubtitle => - 'Umožniť prístup hosta iba na čítanie.'; + 'UmožniÅ¥ prístup hosta iba na čítanie.'; @override - String get repeater_privacyMode => 'Režim ochrany súkromia'; + String get repeater_privacyMode => 'Režim ochrany súkromia'; @override - String get repeater_privacyModeSubtitle => 'Skryť meno/poloha v reklamách'; + String get repeater_privacyModeSubtitle => 'SkryÅ¥ meno/poloha v reklamách'; @override String get repeater_advertisementSettings => 'Nastavenia reklamy'; @override - String get repeater_localAdvertInterval => 'Lokálna reklamná časová obdoba'; + String get repeater_localAdvertInterval => + 'Lokálna reklamná časová obdoba'; @override String repeater_localAdvertIntervalMinutes(int minutes) { - return '$minutes minút'; + return '$minutes minút'; } @override String get repeater_floodAdvertInterval => - 'Interval reklamnej povodňovej reklamy'; + 'Interval reklamnej povodňovej reklamy'; @override String repeater_floodAdvertIntervalHours(int hours) { - return '$hours hodín'; + return '$hours hodín'; } @override - String get repeater_encryptedAdvertInterval => 'Šifrovaný reklamný interval'; + String get repeater_encryptedAdvertInterval => + 'Å ifrovaný reklamný interval'; @override - String get repeater_dangerZone => 'Nebezpečná zóna'; + String get repeater_dangerZone => 'Nebezpečná zóna'; @override - String get repeater_rebootRepeater => 'Restart Repetér'; + String get repeater_rebootRepeater => 'Restart Repetér'; @override - String get repeater_rebootRepeaterSubtitle => 'Resetovať vysielací prístroj'; + String get repeater_rebootRepeaterSubtitle => + 'ResetovaÅ¥ vysielací prístroj'; @override String get repeater_rebootRepeaterConfirm => - 'Ste si istý, že chcete tento opakovač restartovať?'; + 'Ste si istý, že chcete tento opakovač restartovaÅ¥?'; @override - String get repeater_regenerateIdentityKey => 'Generovať kľúč identity'; + String get repeater_regenerateIdentityKey => 'GenerovaÅ¥ kľúč identity'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Generovať nový pár verejných/privátnych kľúčov'; + 'GenerovaÅ¥ nový pár verejných/privátnych kľúčov'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Toto vytvorí nový identitu pre opakovač. Pokračovať?'; + 'Toto vytvorí nový identitu pre opakovač. PokračovaÅ¥?'; @override - String get repeater_eraseFileSystem => 'Vymažať Systémový Reťazec'; + String get repeater_eraseFileSystem => 'VymažaÅ¥ Systémový ReÅ¥azec'; @override String get repeater_eraseFileSystemSubtitle => - 'Formátovať systém opakujúcich sa súborov'; + 'FormátovaÅ¥ systém opakujúcich sa súborov'; @override String get repeater_eraseFileSystemConfirm => - 'VAROVANIE: Toto zmaže všetky dáta na opakovači. To sa nedá zrušiť!'; + 'VAROVANIE: Toto zmaže vÅ¡etky dáta na opakovači. To sa nedá zruÅ¡iÅ¥!'; @override String get repeater_eraseSerialOnly => - 'Odstránenie je dostupné len cez sériové rozhranie.'; + 'Odstránenie je dostupné len cez sériové rozhranie.'; @override String repeater_commandSent(String command) { - return 'Poforovaný príkaz: $command'; + return 'Poforovaný príkaz: $command'; } @override String repeater_errorSendingCommand(String error) { - return 'Chyba pri odeslaní príkazu: $error'; + return 'Chyba pri odeslaní príkazu: $error'; } @override - String get repeater_confirm => 'Potvrdiť'; + String get repeater_confirm => 'PotvrdiÅ¥'; @override - String get repeater_settingsSaved => 'Nastavenia boli uložené úspešne.'; + String get repeater_settingsSaved => 'Nastavenia boli uložené úspeÅ¡ne.'; @override String repeater_errorSavingSettings(String error) { - return 'Chyba pri ukladaní nastavení: $error'; + return 'Chyba pri ukladaní nastavení: $error'; } @override - String get repeater_refreshBasicSettings => 'Obnoviť základné nastavenia'; + String get repeater_refreshBasicSettings => 'ObnoviÅ¥ základné nastavenia'; @override - String get repeater_refreshRadioSettings => 'Obnoviť Nastavenia Rádií'; + String get repeater_refreshRadioSettings => 'ObnoviÅ¥ Nastavenia Rádií'; @override - String get repeater_refreshTxPower => 'Obnoviť TX napájanie'; + String get repeater_refreshTxPower => 'ObnoviÅ¥ TX napájanie'; @override - String get repeater_refreshLocationSettings => 'Obnoviť Nastavenia Miesta'; + String get repeater_refreshLocationSettings => 'ObnoviÅ¥ Nastavenia Miesta'; @override - String get repeater_refreshPacketForwarding => 'Obnoviť smerovanie paketov'; + String get repeater_refreshPacketForwarding => 'ObnoviÅ¥ smerovanie paketov'; @override - String get repeater_refreshGuestAccess => 'Obnoviť prístup hosťa'; + String get repeater_refreshGuestAccess => 'ObnoviÅ¥ prístup hosÅ¥a'; @override - String get repeater_refreshPrivacyMode => 'Obnoviť Ochranný režim'; + String get repeater_refreshPrivacyMode => 'ObnoviÅ¥ Ochranný režim'; @override String get repeater_refreshAdvertisementSettings => - 'Obnoviť nastavenia reklamy'; + 'ObnoviÅ¥ nastavenia reklamy'; @override String repeater_refreshed(String label) { - return '$label sa znova načítalo'; + return '$label sa znova načítalo'; } @override String repeater_errorRefreshing(String label) { - return 'Chyba pri obnovení $label'; + return 'Chyba pri obnovení $label'; } @override String get repeater_cliTitle => 'Opakovacia CLI'; @override - String get repeater_debugNextCommand => 'Oprava Nasledujúceho Príkaz'; + String get repeater_debugNextCommand => 'Oprava Nasledujúceho Príkaz'; @override String get repeater_commandHelp => 'Pomoc'; @override - String get repeater_clearHistory => 'Vymazať históriu'; + String get repeater_clearHistory => 'VymazaÅ¥ históriu'; @override String get repeater_noCommandsSent => - 'Zatiaľ neboli odeslané žiadne príkazy.'; + 'Zatiaľ neboli odeslané žiadne príkazy.'; @override String get repeater_typeCommandOrUseQuick => - 'Zadajte príkaz nižšie alebo použite rýchle príkazy'; + 'Zadajte príkaz nižšie alebo použite rýchle príkazy'; @override - String get repeater_enterCommandHint => 'Zadajte príkaz...'; + String get repeater_enterCommandHint => 'Zadajte príkaz...'; @override - String get repeater_previousCommand => 'Predchádzajúci príkaz'; + String get repeater_previousCommand => 'Predchádzajúci príkaz'; @override - String get repeater_nextCommand => 'Nasledujúci príkaz'; + String get repeater_nextCommand => 'Nasledujúci príkaz'; @override - String get repeater_enterCommandFirst => 'Zadajte najprv príkaz'; + String get repeater_enterCommandFirst => 'Zadajte najprv príkaz'; @override - String get repeater_cliCommandFrameTitle => 'Rámok Príkaz CLI'; + String get repeater_cliCommandFrameTitle => 'Rámok Príkaz CLI'; @override String repeater_cliCommandError(String error) { @@ -2136,16 +2145,16 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get repeater_cliQuickGetName => 'Zísť meno'; + String get repeater_cliQuickGetName => 'ZísÅ¥ meno'; @override - String get repeater_cliQuickGetRadio => 'Zísť po rádiu'; + String get repeater_cliQuickGetRadio => 'ZísÅ¥ po rádiu'; @override - String get repeater_cliQuickGetTx => 'Zísť TX'; + String get repeater_cliQuickGetTx => 'ZísÅ¥ TX'; @override - String get repeater_cliQuickNeighbors => 'Súsezný'; + String get repeater_cliQuickNeighbors => 'Súsezný'; @override String get repeater_cliQuickVersion => 'Verzia'; @@ -2157,224 +2166,224 @@ class AppLocalizationsSk extends AppLocalizations { String get repeater_cliQuickClock => 'Hodiny'; @override - String get repeater_cliHelpAdvert => 'Odosiela reklamnú balíček.'; + String get repeater_cliHelpAdvert => 'Odosiela reklamnú balíček.'; @override String get repeater_cliHelpReboot => - 'Resetuje zariadenie. (pozor, môže dôjsť k \'Timeoutu\', čo je normálne)'; + 'Resetuje zariadenie. (pozor, môže dôjsÅ¥ k \'Timeoutu\', čo je normálne)'; @override String get repeater_cliHelpClock => - 'Zobrazuje aktuálny čas podľa hodiniek zariadenia.'; + 'Zobrazuje aktuálny čas podľa hodiniek zariadenia.'; @override String get repeater_cliHelpPassword => - 'Nastaví nový administrátorský prístupový údaj pre zariadenie.'; + 'Nastaví nový administrátorský prístupový údaj pre zariadenie.'; @override String get repeater_cliHelpVersion => - 'Zobrazuje verziu zariadenia a dátum zostavenia firmvéru.'; + 'Zobrazuje verziu zariadenia a dátum zostavenia firmvéru.'; @override String get repeater_cliHelpClearStats => - 'Resetuje rôzne štatistické počítadlá na nulu.'; + 'Resetuje rôzne Å¡tatistické počítadlá na nulu.'; @override - String get repeater_cliHelpSetAf => 'Nastavuje časový faktor.'; + String get repeater_cliHelpSetAf => 'Nastavuje časový faktor.'; @override String get repeater_cliHelpSetTx => - 'Nastavenie vysielacej sily LoRa v dBm. (potrebuje sa reštart na aplikáciu)'; + 'Nastavenie vysielacej sily LoRa v dBm. (potrebuje sa reÅ¡tart na aplikáciu)'; @override String get repeater_cliHelpSetRepeat => - 'Umožňuje alebo vypína zopakovaný príspevok pre tento uzol.'; + 'Umožňuje alebo vypína zopakovaný príspevok pre tento uzol.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Server miestnosti) Ak je \'zapnuté\', potom bude povolený prístup s prázdnym heslom, ale nebude možné posielať správu do miestnosti. (iba čítať).'; + '(Server miestnosti) Ak je \'zapnuté\', potom bude povolený prístup s prázdnym heslom, ale nebude možné posielaÅ¥ správu do miestnosti. (iba čítaÅ¥).'; @override String get repeater_cliHelpSetFloodMax => - 'Nastavuje maximálny počet skokov pre vstupný povelový paket (ak je >= max, paket nie je preposlaný)'; + 'Nastavuje maximálny počet skokov pre vstupný povelový paket (ak je >= max, paket nie je preposlaný)'; @override String get repeater_cliHelpSetIntThresh => - 'Nastavuje hranicu ruživeho ladenia (v dB). Predvolené je 14. Nastavením na 0 sa vypne detekcia ruživeho ladenia kanálu.'; + 'Nastavuje hranicu ruživeho ladenia (v dB). Predvolené je 14. Nastavením na 0 sa vypne detekcia ruživeho ladenia kanálu.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Nastavuje interval na reštartovanie Auto Gain Controlleru. Nastavenie na 0 vypne funkciu.'; + 'Nastavuje interval na reÅ¡tartovanie Auto Gain Controlleru. Nastavenie na 0 vypne funkciu.'; @override String get repeater_cliHelpSetMultiAcks => - 'Povolí alebo pozastaví funkciiu \"dvojité potvrdenia\".'; + 'Povolí alebo pozastaví funkciiu \"dvojité potvrdenia\".'; @override String get repeater_cliHelpSetAdvertInterval => - 'Nastavuje interval časovača v minútach na odošle miestny (bezprostredný) reklamný paket. Nastavenie na 0 vypne funkciu.'; + 'Nastavuje interval časovača v minútach na odoÅ¡le miestny (bezprostredný) reklamný paket. Nastavenie na 0 vypne funkciu.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Nastavuje interval časovača v hodinách na odeslanie reklamnej vlne. Nastavenie na 0 vypne.'; + 'Nastavuje interval časovača v hodinách na odeslanie reklamnej vlne. Nastavenie na 0 vypne.'; @override String get repeater_cliHelpSetGuestPassword => - 'Nastavuje/aktualizuje heslo hosťa. (pre opakované pripojenia môžu hosťovské prihlásenia posielať požadanie \"Get Stats\")'; + 'Nastavuje/aktualizuje heslo hosÅ¥a. (pre opakované pripojenia môžu hosÅ¥ovské prihlásenia posielaÅ¥ požadanie \"Get Stats\")'; @override - String get repeater_cliHelpSetName => 'Nastaví názov reklamy.'; + String get repeater_cliHelpSetName => 'Nastaví názov reklamy.'; @override String get repeater_cliHelpSetLat => - 'Nastaví geografickú šírku reklamnej mapy. (desatinné stupne)'; + 'Nastaví geografickú šírku reklamnej mapy. (desatinné stupne)'; @override String get repeater_cliHelpSetLon => - 'Nastavuje longitudinu reklamnej mapy. (desatinné stupne)'; + 'Nastavuje longitudinu reklamnej mapy. (desatinné stupne)'; @override String get repeater_cliHelpSetRadio => - 'Nastavuje úplne nové parametre rádia a uloží ich do preferencií. Požaduje príkaz \"reboot\" na aplikáciu.'; + 'Nastavuje úplne nové parametre rádia a uloží ich do preferencií. Požaduje príkaz \"reboot\" na aplikáciu.'; @override String get repeater_cliHelpSetRxDelay => - 'Nastavenia (experimentálne) základné (musi byť > 1 pre účel) na aplikáciu mierneho onesenia prijatých paketov, na základe signálu/skóre. Nastavenie na 0 vypne.'; + 'Nastavenia (experimentálne) základné (musi byÅ¥ > 1 pre účel) na aplikáciu mierneho onesenia prijatých paketov, na základe signálu/skóre. Nastavenie na 0 vypne.'; @override String get repeater_cliHelpSetTxDelay => - 'Nastavuje faktor násobený časom na vzduchu pre paket v režime povodňovej vlny a s náhodným systémom slotov, aby sa oneskorene jeho prenosovanie (s cieľom znížiť pravdepodobnosť kolízii).'; + 'Nastavuje faktor násobený časom na vzduchu pre paket v režime povodňovej vlny a s náhodným systémom slotov, aby sa oneskorene jeho prenosovanie (s cieľom znížiÅ¥ pravdepodobnosÅ¥ kolízii).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Podobne ako txdelay, ale pre aplikáciu náhodného oneskorenia pri preposlaní paketov v režime priameho prenosu.'; + 'Podobne ako txdelay, ale pre aplikáciu náhodného oneskorenia pri preposlaní paketov v režime priameho prenosu.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Aktivovať/Zatvárať most.'; + String get repeater_cliHelpSetBridgeEnabled => 'AktivovaÅ¥/ZatváraÅ¥ most.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Nastaviť odklad pred retransmisiou paketov.'; + 'NastaviÅ¥ odklad pred retransmisiou paketov.'; @override String get repeater_cliHelpSetBridgeSource => - 'Zvolte, či bude most retransmitovať prijaté alebo vysielané balíčky.'; + 'Zvolte, či bude most retransmitovaÅ¥ prijaté alebo vysielané balíčky.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Nastavte sériový link baudrate pre rs232 mosty.'; + 'Nastavte sériový link baudrate pre rs232 mosty.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Nastaviť tajomstvo mosta pre eshnow mosty.'; + 'NastaviÅ¥ tajomstvo mosta pre eshnow mosty.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Nastavuje vlastný faktor na úpravu nahlásenej batériovej napätia (podporované len na vybraných doskách).'; + 'Nastavuje vlastný faktor na úpravu nahlásenej batériovej napätia (podporované len na vybraných doskách).'; @override String get repeater_cliHelpTempRadio => - 'Nastaví dočasné rádiové parametre pre zadaný počet minút, po skončení sa vráti k pôvodným rádiovým parametrom. (nepočuva sa do preferencií).'; + 'Nastaví dočasné rádiové parametre pre zadaný počet minút, po skončení sa vráti k pôvodným rádiovým parametrom. (nepočuva sa do preferencií).'; @override String get repeater_cliHelpSetPerm => - 'Zmení ACL. Odstráni zodpovedný záznam (podľa prefixa pubkey), ak je \"permissions\" rovné 0. Pridá nový záznam, ak je pubkey-hex plnej dĺžky a momentálne sa nenachádza v ACL. Aktualizuje záznam podľa zodpovedajúceho prefixa pubkey. Bitové oprávnenia sa líšia podľa funkčnej roly, ale nízke 2 bity sú: 0 (Hostiteľ), 1 (Čítanie len), 2 (Čítanie a zápis), 3 (Správca).'; + 'Zmení ACL. Odstráni zodpovedný záznam (podľa prefixa pubkey), ak je \"permissions\" rovné 0. Pridá nový záznam, ak je pubkey-hex plnej dĺžky a momentálne sa nenachádza v ACL. Aktualizuje záznam podľa zodpovedajúceho prefixa pubkey. Bitové oprávnenia sa líšia podľa funkčnej roly, ale nízke 2 bity sú: 0 (Hostiteľ), 1 (Čítanie len), 2 (Čítanie a zápis), 3 (Správca).'; @override String get repeater_cliHelpGetBridgeType => - 'Zísť typ mosta: žiadny, rs232, espnow'; + 'ZísÅ¥ typ mosta: žiadny, rs232, espnow'; @override String get repeater_cliHelpLogStart => - 'Začína protokolovanie balíkov do systému súborov.'; + 'Začína protokolovanie balíkov do systému súborov.'; @override String get repeater_cliHelpLogStop => - 'Zastaví protokolovanie paketov do systémového súboru.'; + 'Zastaví protokolovanie paketov do systémového súboru.'; @override String get repeater_cliHelpLogErase => - 'Odstráni záznamy z balíkov z systému súborov.'; + 'Odstráni záznamy z balíkov z systému súborov.'; @override String get repeater_cliHelpNeighbors => - 'Zobrazuje zoznam iných repeaterových uzlov zasielaných cez zero-hop reklamy. Každý riadok je id-prefix-hex:timestamp:snr-times-4'; + 'Zobrazuje zoznam iných repeaterových uzlov zasielaných cez zero-hop reklamy. Každý riadok je id-prefix-hex:timestamp:snr-times-4'; @override String get repeater_cliHelpNeighborRemove => - 'Odstráni prvú zhodujúcu položku (podľa prefixu pubkey (hex)) z zoznamu susedov.'; + 'Odstráni prvú zhodujúcu položku (podľa prefixu pubkey (hex)) z zoznamu susedov.'; @override String get repeater_cliHelpRegion => - '(len sériál) Zobrazuje všetky definované regióny a aktuálne povolenia pre povodňové situácie.'; + '(len sériál) Zobrazuje vÅ¡etky definované regióny a aktuálne povolenia pre povodňové situácie.'; @override String get repeater_cliHelpRegionLoad => - 'Poznámka: toto je špeciálna multi-príkázová inštancia. Každé nasledujúce príkaza je názov oblasti (zapustený s medzerami na indikáciu hierarchického pomeru, s minimálne jednou medzerou). Ukončené odeslaním prázdnej platnej linky/príkazu.'; + 'Poznámka: toto je Å¡peciálna multi-príkázová inÅ¡tancia. Každé nasledujúce príkaza je názov oblasti (zapustený s medzerami na indikáciu hierarchického pomeru, s minimálne jednou medzerou). Ukončené odeslaním prázdnej platnej linky/príkazu.'; @override String get repeater_cliHelpRegionGet => - 'Hľadá región s daným príponou názvu (alebo \"\\\" pre globálny rozsah). Odpovedá \"-> región-název (rodič-název) \'F\'\"'; + 'Hľadá región s daným príponou názvu (alebo \"\\\" pre globálny rozsah). Odpovedá \"-> región-název (rodič-název) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Pridá alebo aktualizuje definíciu regiónu s daným menom.'; + 'Pridá alebo aktualizuje definíciu regiónu s daným menom.'; @override String get repeater_cliHelpRegionRemove => - 'Odstráni definíciu oblasti s daným názvom. (musí zodpovedať presne a nemala by mať podoblasti)'; + 'Odstráni definíciu oblasti s daným názvom. (musí zodpovedaÅ¥ presne a nemala by maÅ¥ podoblasti)'; @override String get repeater_cliHelpRegionAllowf => - 'Nastavuje povolenie \'P\'lávu pre zadanú oblasť. (\'\' pre globálny/dedičský rozsah)'; + 'Nastavuje povolenie \'P\'lávu pre zadanú oblasÅ¥. (\'\' pre globálny/dedičský rozsah)'; @override String get repeater_cliHelpRegionDenyf => - 'Odstráni povolenie \'F\'lood\' pre zadanú oblasť. (UPOZORNENIE: v tejto fáze nie je odporúčané ho používať na globálnom/dedskom rozsahu!!).'; + 'Odstráni povolenie \'F\'lood\' pre zadanú oblasÅ¥. (UPOZORNENIE: v tejto fáze nie je odporúčané ho používaÅ¥ na globálnom/dedskom rozsahu!!).'; @override String get repeater_cliHelpRegionHome => - 'Odpovedá s aktuálnou \'domovskou\' oblasťou. (Poznámka aplikovaná zatiaľ nikde, vyhradené na budúce)'; + 'Odpovedá s aktuálnou \'domovskou\' oblasÅ¥ou. (Poznámka aplikovaná zatiaľ nikde, vyhradené na budúce)'; @override - String get repeater_cliHelpRegionHomeSet => 'Nastaví \'domovskú\' oblasť.'; + String get repeater_cliHelpRegionHomeSet => 'Nastaví \'domovskú\' oblasÅ¥.'; @override String get repeater_cliHelpRegionSave => - 'Uloží zoznam/mapu regiónov do úložiska.'; + 'Uloží zoznam/mapu regiónov do úložiska.'; @override String get repeater_cliHelpGps => - 'Zobrazuje stav GPS. Ak je GPS vypnutý, odpovedá len \"off\", ak je zapnutý, odpovedá s \"on\", stavom, fixom a počtom satelitov.'; + 'Zobrazuje stav GPS. Ak je GPS vypnutý, odpovedá len \"off\", ak je zapnutý, odpovedá s \"on\", stavom, fixom a počtom satelitov.'; @override - String get repeater_cliHelpGpsOnOff => 'Prepínač stavu GPS napájania.'; + String get repeater_cliHelpGpsOnOff => 'Prepínač stavu GPS napájania.'; @override String get repeater_cliHelpGpsSync => - 'Synchronizuje čas uzla s GPS hodinami.'; + 'Synchronizuje čas uzla s GPS hodinami.'; @override String get repeater_cliHelpGpsSetLoc => - 'Nastaví polohu uzla na GPS súradnice a uloží preferencie.'; + 'Nastaví polohu uzla na GPS súradnice a uloží preferencie.'; @override String get repeater_cliHelpGpsAdvert => - 'Poskytuje konfiguráciu reklamy pre uzol:\n- žiadna: nezahrňte polohu do reklám\n- zdieľať: zdieľajte GPS polohu (z SensorManager)\n- nastavenia: zobrazujte polohu uloženú v nastaveniach'; + 'Poskytuje konfiguráciu reklamy pre uzol:\n- žiadna: nezahrňte polohu do reklám\n- zdieľaÅ¥: zdieľajte GPS polohu (z SensorManager)\n- nastavenia: zobrazujte polohu uloženú v nastaveniach'; @override String get repeater_cliHelpGpsAdvertSet => - 'Nastavuje konfiguráciu reklamy na zadané miesto.'; + 'Nastavuje konfiguráciu reklamy na zadané miesto.'; @override - String get repeater_commandsListTitle => 'Zoznam príkazov'; + String get repeater_commandsListTitle => 'Zoznam príkazov'; @override String get repeater_commandsListNote => - 'Poznámka: pre rôzne príkazy \"set ...\" existuje aj príkaz \"get ...\".'; + 'Poznámka: pre rôzne príkazy \"set ...\" existuje aj príkaz \"get ...\".'; @override - String get repeater_general => 'Obecné'; + String get repeater_general => 'Obecné'; @override String get repeater_settingsCategory => 'Nastavenia'; @@ -2383,50 +2392,51 @@ class AppLocalizationsSk extends AppLocalizations { String get repeater_bridge => 'Most'; @override - String get repeater_logging => 'Záznamy'; + String get repeater_logging => 'Záznamy'; @override - String get repeater_neighborsRepeaterOnly => 'Súseznýci (iba opakovač)'; + String get repeater_neighborsRepeaterOnly => 'Súseznýci (iba opakovač)'; @override String get repeater_regionManagementRepeaterOnly => - 'Správa regiónov (iba opakovač)'; + 'Správa regiónov (iba opakovač)'; @override String get repeater_regionNote => - 'Regionové príkazy boli zavádzané na správu regionálnych definícií a oprávnení.'; + 'Regionové príkazy boli zavádzané na správu regionálnych definícií a oprávnení.'; @override - String get repeater_gpsManagement => 'Správa GPS'; + String get repeater_gpsManagement => 'Správa GPS'; @override String get repeater_gpsNote => - 'GPS príkaz bol zavádzaný na riadenie lokalitných tém.'; + 'GPS príkaz bol zavádzaný na riadenie lokalitných tém.'; @override - String get telemetry_receivedData => 'Obdolené Telemetrické dáta'; + String get telemetry_receivedData => 'Obdolené Telemetrické dáta'; @override - String get telemetry_requestTimeout => 'Požiadavka telemetrie zlyhala.'; + String get telemetry_requestTimeout => 'Požiadavka telemetrie zlyhala.'; @override String telemetry_errorLoading(String error) { - return 'Chyba pri načítaní telemetrie: $error'; + return 'Chyba pri načítaní telemetrie: $error'; } @override - String get telemetry_noData => 'Nejsú dostupné žiadne údaje z telemetrie.'; + String get telemetry_noData => + 'Nejsú dostupné žiadne údaje z telemetrie.'; @override String telemetry_channelTitle(int channel) { - return 'Kanál $channel'; + return 'Kanál $channel'; } @override - String get telemetry_batteryLabel => 'Batéria'; + String get telemetry_batteryLabel => 'Batéria'; @override - String get telemetry_voltageLabel => 'Napätie'; + String get telemetry_voltageLabel => 'Napätie'; @override String get telemetry_mcuTemperatureLabel => 'MCU teplota'; @@ -2435,7 +2445,7 @@ class AppLocalizationsSk extends AppLocalizations { String get telemetry_temperatureLabel => 'Teplota'; @override - String get telemetry_currentLabel => 'Aktuálne'; + String get telemetry_currentLabel => 'Aktuálne'; @override String telemetry_batteryValue(int percent, String volts) { @@ -2454,61 +2464,62 @@ class AppLocalizationsSk extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Obdielo dáta suseda'; + String get neighbors_receivedData => 'Obdielo dáta suseda'; @override - String get neighbors_requestTimedOut => 'Súďia žiadajú o časové ukončenie.'; + String get neighbors_requestTimedOut => + 'Súďia žiadajú o časové ukončenie.'; @override String neighbors_errorLoading(String error) { - return 'Chyba pri načítaní susedov: $error'; + return 'Chyba pri načítaní susedov: $error'; } @override - String get neighbors_repeatersNeighbors => 'Opakovadlá Súsezná'; + String get neighbors_repeatersNeighbors => 'Opakovadlá Súsezná'; @override String get neighbors_noData => - 'Nie je dostupná žiadna informácia o susedoch.'; + 'Nie je dostupná žiadna informácia o susedoch.'; @override String neighbors_unknownContact(String pubkey) { - return 'Neznáma $pubkey'; + return 'Neznáma $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Počuli sme to: $time dozadu'; + return 'Počuli sme to: $time dozadu'; } @override - String get channelPath_title => 'Cesta balíka'; + String get channelPath_title => 'Cesta balíka'; @override - String get channelPath_viewMap => 'Zobraziť mapu'; + String get channelPath_viewMap => 'ZobraziÅ¥ mapu'; @override - String get channelPath_otherObservedPaths => 'Ostatné pozorovacie cesty'; + String get channelPath_otherObservedPaths => 'Ostatné pozorovacie cesty'; @override - String get channelPath_repeaterHops => 'Skoky opakovača'; + String get channelPath_repeaterHops => 'Skoky opakovača'; @override String get channelPath_noHopDetails => - 'Podrobnosti o balíčku zatiaľ nie sú dostupné.'; + 'Podrobnosti o balíčku zatiaľ nie sú dostupné.'; @override - String get channelPath_messageDetails => 'Podrobnosti o zprávach'; + String get channelPath_messageDetails => 'Podrobnosti o zprávach'; @override - String get channelPath_senderLabel => 'Posielateľ'; + String get channelPath_senderLabel => 'Posielateľ'; @override - String get channelPath_timeLabel => 'Čas'; + String get channelPath_timeLabel => 'ÄŒas'; @override String get channelPath_repeatsLabel => 'Opakovanie'; @@ -2519,15 +2530,15 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get channelPath_observedLabel => 'Pozorované'; + String get channelPath_observedLabel => 'Pozorované'; @override String channelPath_observedPathTitle(int index, String hops) { - return 'Sledovaný postup $index • $hops'; + return 'Sledovaný postup $index • $hops'; } @override - String get channelPath_noLocationData => 'Žiadne údaje o polohe'; + String get channelPath_noLocationData => 'Žiadne údaje o polohe'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2540,10 +2551,10 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get channelPath_unknownPath => 'Neznáme'; + String get channelPath_unknownPath => 'Neznáme'; @override - String get channelPath_floodPath => 'Povodňová'; + String get channelPath_floodPath => 'Povodňová'; @override String get channelPath_directPath => 'Priamo'; @@ -2563,161 +2574,162 @@ class AppLocalizationsSk extends AppLocalizations { @override String get channelPath_noRepeaterLocations => - 'Pre túto cestu nie je dostupných žiadne polohy opakovačov.'; + 'Pre túto cestu nie je dostupných žiadne polohy opakovačov.'; @override String channelPath_primaryPath(int index) { - return 'Cesta $index (Hlavná)'; + return 'Cesta $index (Hlavná)'; } @override String get channelPath_pathLabelTitle => 'Cesta'; @override - String get channelPath_observedPathHeader => 'Sledovaná cesta'; + String get channelPath_observedPathHeader => 'Sledovaná cesta'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Pre toto balíček nie sú dostupné údaje o skokoch.'; + 'Pre toto balíček nie sú dostupné údaje o skokoch.'; @override - String get channelPath_unknownRepeater => 'Neznáme opakovače'; + String get channelPath_unknownRepeater => 'Neznáme opakovače'; @override String get community_title => 'Komunita'; @override - String get community_create => 'Vytvoriť komunitu'; + String get community_create => 'VytvoriÅ¥ komunitu'; @override String get community_createDesc => - 'Vytvorte novú komunitu a zdieľajte cez QR kód.'; + 'Vytvorte novú komunitu a zdieľajte cez QR kód.'; @override - String get community_join => 'Pripojiť'; + String get community_join => 'PripojiÅ¥'; @override - String get community_joinTitle => 'Pripojiť sa k spoločenstvu'; + String get community_joinTitle => 'PripojiÅ¥ sa k spoločenstvu'; @override String community_joinConfirmation(String name) { - return 'Chceš sa pridať do komunity \"$name\"?'; + return 'ChceÅ¡ sa pridaÅ¥ do komunity \"$name\"?'; } @override - String get community_scanQr => 'Skontrolujte komunitný QR kód'; + String get community_scanQr => 'Skontrolujte komunitný QR kód'; @override String get community_scanInstructions => - 'Zamerte kameru na komunitný QR kód.'; + 'Zamerte kameru na komunitný QR kód.'; @override - String get community_showQr => 'Zobraziť QR kód'; + String get community_showQr => 'ZobraziÅ¥ QR kód'; @override - String get community_publicChannel => 'Komunita verejná'; + String get community_publicChannel => 'Komunita verejná'; @override - String get community_hashtagChannel => 'Komunitný Hashtag'; + String get community_hashtagChannel => 'Komunitný Hashtag'; @override String get community_name => 'Komunita'; @override - String get community_enterName => 'Zadajte názov komunity'; + String get community_enterName => 'Zadajte názov komunity'; @override String community_created(String name) { - return 'Komunita \"$name\" vytvorená'; + return 'Komunita \"$name\" vytvorená'; } @override String community_joined(String name) { - return 'Pripojená komunita \"$name\"'; + return 'Pripojená komunita \"$name\"'; } @override - String get community_qrTitle => 'Zdieľť komunitu'; + String get community_qrTitle => 'Zdieľť komunitu'; @override String community_qrInstructions(String name) { - return 'Skenejte tento QR kód, aby ste sa pripojili k $name.'; + return 'Skenejte tento QR kód, aby ste sa pripojili k $name.'; } @override String get community_hashtagPrivacyHint => - 'Hashtagové kanály komunity sú prístupné len členom komunity'; + 'Hashtagové kanály komunity sú prístupné len členom komunity'; @override - String get community_invalidQrCode => 'Neplatná QR kód komunity.'; + String get community_invalidQrCode => 'Neplatná QR kód komunity.'; @override - String get community_alreadyMember => 'Už ste členom.'; + String get community_alreadyMember => 'Už ste členom.'; @override String community_alreadyMemberMessage(String name) { - return 'Vy ste už členom \"$name\".'; + return 'Vy ste už členom \"$name\".'; } @override - String get community_addPublicChannel => 'Pridať verejný komunikačný kanál'; + String get community_addPublicChannel => + 'PridaÅ¥ verejný komunikačný kanál'; @override String get community_addPublicChannelHint => - 'Automaticky prida verejný kanál pre túto komunitu.'; + 'Automaticky prida verejný kanál pre túto komunitu.'; @override String get community_noCommunities => - 'Zatiaľ ste sa nepripojili k žiadnej komunite'; + 'Zatiaľ ste sa nepripojili k žiadnej komunite'; @override String get community_scanOrCreate => - 'Skene QR kód alebo vytvor komunitu na začiatok.'; + 'Skene QR kód alebo vytvor komunitu na začiatok.'; @override - String get community_manageCommunities => 'Spravovať komunity'; + String get community_manageCommunities => 'SpravovaÅ¥ komunity'; @override String get community_delete => 'Nechajte komunitu'; @override String community_deleteConfirm(String name) { - return 'Opustiť \"$name\"?'; + return 'OpustiÅ¥ \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Tým sa tiež vymaže $count kanál/kanálov a ich správy.'; + return 'Tým sa tiež vymaže $count kanál/kanálov a ich správy.'; } @override String community_deleted(String name) { - return 'Opustená komunita \"$name\"'; + return 'Opustená komunita \"$name\"'; } @override - String get community_regenerateSecret => 'Zobraziť nový tajný kód'; + String get community_regenerateSecret => 'ZobraziÅ¥ nový tajný kód'; @override String community_regenerateSecretConfirm(String name) { - return 'Znovu vygenerovať tajný kľúč pre \"$name\"? Všetci členovia budú musieť skanovať nový QR kód, aby mohli nadviazať komunikáciu.'; + return 'Znovu vygenerovaÅ¥ tajný kľúč pre \"$name\"? VÅ¡etci členovia budú musieÅ¥ skanovaÅ¥ nový QR kód, aby mohli nadviazaÅ¥ komunikáciu.'; } @override - String get community_regenerate => 'Znovu vygenerovať'; + String get community_regenerate => 'Znovu vygenerovaÅ¥'; @override String community_secretRegenerated(String name) { - return 'Záznam pre \"$name\" bol regenerovaný tajne'; + return 'Záznam pre \"$name\" bol regenerovaný tajne'; } @override - String get community_updateSecret => 'Aktualizovať tajné heslo'; + String get community_updateSecret => 'AktualizovaÅ¥ tajné heslo'; @override String community_secretUpdated(String name) { @@ -2726,31 +2738,32 @@ class AppLocalizationsSk extends AppLocalizations { @override String community_scanToUpdateSecret(String name) { - return 'Skáňte nový QR kód na aktualizáciu tajného hesla pre \"$name\"'; + return 'Skáňte nový QR kód na aktualizáciu tajného hesla pre \"$name\"'; } @override - String get community_addHashtagChannel => 'Pridať komunitný hashtag'; + String get community_addHashtagChannel => 'PridaÅ¥ komunitný hashtag'; @override String get community_addHashtagChannelDesc => - 'Pridajte hashtagový kanál pre túto komunitu.'; + 'Pridajte hashtagový kanál pre túto komunitu.'; @override String get community_selectCommunity => 'Vyberte komunitu'; @override - String get community_regularHashtag => 'Zvyčajný hashtag'; + String get community_regularHashtag => 'Zvyčajný hashtag'; @override String get community_regularHashtagDesc => - 'Veľký hashtag (ktočokoľvek sa môže pridať)'; + 'Veľký hashtag (ktočokoľvek sa môže pridaÅ¥)'; @override - String get community_communityHashtag => 'Komunitný Hashtag'; + String get community_communityHashtag => 'Komunitný Hashtag'; @override - String get community_communityHashtagDesc => 'Špecifické pre členov komunity'; + String get community_communityHashtagDesc => + 'Å pecifické pre členov komunity'; @override String community_forCommunity(String name) { @@ -2758,16 +2771,16 @@ class AppLocalizationsSk extends AppLocalizations { } @override - String get listFilter_tooltip => 'Filtrovať a triediť'; + String get listFilter_tooltip => 'FiltrovaÅ¥ a triediÅ¥'; @override - String get listFilter_sortBy => 'Triediť podľa'; + String get listFilter_sortBy => 'TriediÅ¥ podľa'; @override - String get listFilter_latestMessages => 'Posledné správy'; + String get listFilter_latestMessages => 'Posledné správy'; @override - String get listFilter_heardRecently => 'Nedávno počuli.'; + String get listFilter_heardRecently => 'Nedávno počuli.'; @override String get listFilter_az => 'A-Z'; @@ -2776,31 +2789,31 @@ class AppLocalizationsSk extends AppLocalizations { String get listFilter_filters => 'Filtre'; @override - String get listFilter_all => 'Všetko'; + String get listFilter_all => 'VÅ¡etko'; @override - String get listFilter_favorites => 'Obľúbené'; + String get listFilter_favorites => 'Obľúbené'; @override - String get listFilter_addToFavorites => 'Pridaj do obľúbených'; + String get listFilter_addToFavorites => 'Pridaj do obľúbených'; @override - String get listFilter_removeFromFavorites => 'Odstrániť z označení'; + String get listFilter_removeFromFavorites => 'OdstrániÅ¥ z označení'; @override - String get listFilter_users => 'Používatelia'; + String get listFilter_users => 'Používatelia'; @override - String get listFilter_repeaters => 'Opakovadlá'; + String get listFilter_repeaters => 'Opakovadlá'; @override - String get listFilter_roomServers => 'Servéry miestnosti'; + String get listFilter_roomServers => 'Servéry miestnosti'; @override - String get listFilter_unreadOnly => 'Nezaregistrované len'; + String get listFilter_unreadOnly => 'Nezaregistrované len'; @override - String get listFilter_newGroup => 'Nová skupina'; + String get listFilter_newGroup => 'Nová skupina'; @override String get pathTrace_you => 'Vy'; @@ -2809,49 +2822,50 @@ class AppLocalizationsSk extends AppLocalizations { String get pathTrace_failed => 'Sledovanie cesty zlyhalo.'; @override - String get pathTrace_notAvailable => 'Path trace nie je k dispozícii.'; + String get pathTrace_notAvailable => 'Path trace nie je k dispozícii.'; @override - String get pathTrace_refreshTooltip => 'Obnoviť Path Trace.'; + String get pathTrace_refreshTooltip => 'ObnoviÅ¥ Path Trace.'; @override String get pathTrace_someHopsNoLocation => - 'Jedna alebo viac chmeľov chýba lokalita!'; + 'Jedna alebo viac chmeľov chýba lokalita!'; @override - String get pathTrace_clearTooltip => 'Zmazať cestu'; + String get pathTrace_clearTooltip => 'ZmazaÅ¥ cestu'; @override - String get losSelectStartEnd => 'Vyberte počiatočný a koncový uzol pre LOS.'; + String get losSelectStartEnd => + 'Vyberte počiatočný a koncový uzol pre LOS.'; @override String losRunFailed(String error) { - return 'Kontrola priamej viditeľnosti zlyhala: $error'; + return 'Kontrola priamej viditeľnosti zlyhala: $error'; } @override - String get losClearAllPoints => 'Vymazať všetky body'; + String get losClearAllPoints => 'VymazaÅ¥ vÅ¡etky body'; @override String get losRunToViewElevationProfile => - 'Ak chcete zobraziť výškový profil, spustite LOS'; + 'Ak chcete zobraziÅ¥ výškový profil, spustite LOS'; @override String get losMenuTitle => 'Menu LOS'; @override String get losMenuSubtitle => - 'Klepnutím na uzly alebo dlhým stlačením mapy získate vlastné body'; + 'Klepnutím na uzly alebo dlhým stlačením mapy získate vlastné body'; @override - String get losShowDisplayNodes => 'Zobraziť uzly zobrazenia'; + String get losShowDisplayNodes => 'ZobraziÅ¥ uzly zobrazenia'; @override - String get losCustomPoints => 'Vlastné body'; + String get losCustomPoints => 'Vlastné body'; @override String losCustomPointLabel(int index) { - return 'Vlastné $index'; + return 'Vlastné $index'; } @override @@ -2862,19 +2876,19 @@ class AppLocalizationsSk extends AppLocalizations { @override String losAntennaA(String value, String unit) { - return 'Anténa A: $value $unit'; + return 'Anténa A: $value $unit'; } @override String losAntennaB(String value, String unit) { - return 'Anténa B: $value $unit'; + return 'Anténa B: $value $unit'; } @override String get losRun => 'Spustite LOS'; @override - String get losNoElevationData => 'Žiadne údaje o nadmorskej výške'; + String get losNoElevationData => 'Žiadne údaje o nadmorskej výške'; @override String losProfileClear( @@ -2883,7 +2897,7 @@ class AppLocalizationsSk extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, vymazať LOS, min. vôľa $clearance $heightUnit'; + return '$distance $distanceUnit, vymazaÅ¥ LOS, min. vôľa $clearance $heightUnit'; } @override @@ -2893,61 +2907,61 @@ class AppLocalizationsSk extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit, blokovaný $obstruction $heightUnit'; + return '$distance $distanceUnit, blokovaný $obstruction $heightUnit'; } @override String get losStatusChecking => 'LOS: kontrolujem...'; @override - String get losStatusNoData => 'LOS: žiadne údaje'; + String get losStatusNoData => 'LOS: žiadne údaje'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS: $clear/$total vymazané, $blocked blokované, $unknown neznáme'; + return 'LOS: $clear/$total vymazané, $blocked blokované, $unknown neznáme'; } @override String get losErrorElevationUnavailable => - 'Údaje o nadmorskej výške nie sú k dispozícii pre jednu alebo viacero vzoriek.'; + 'Údaje o nadmorskej výške nie sú k dispozícii pre jednu alebo viacero vzoriek.'; @override String get losErrorInvalidInput => - 'Neplatné body/údaje o nadmorskej výške pre výpočet LOS.'; + 'Neplatné body/údaje o nadmorskej výške pre výpočet LOS.'; @override - String get losRenameCustomPoint => 'Premenovať vlastný bod'; + String get losRenameCustomPoint => 'PremenovaÅ¥ vlastný bod'; @override - String get losPointName => 'Názov bodu'; + String get losPointName => 'Názov bodu'; @override - String get losShowPanelTooltip => 'Zobraziť panel LOS'; + String get losShowPanelTooltip => 'ZobraziÅ¥ panel LOS'; @override - String get losHidePanelTooltip => 'Skryť panel LOS'; + String get losHidePanelTooltip => 'SkryÅ¥ panel LOS'; @override String get losElevationAttribution => - 'Údaje o nadmorskej výške: Open-Meteo (CC BY 4.0)'; + 'Údaje o nadmorskej výške: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Rádiový horizont'; + String get losLegendRadioHorizon => 'Rádiový horizont'; @override - String get losLegendLosBeam => 'Priama viditeľnosť'; + String get losLegendLosBeam => 'Priama viditeľnosÅ¥'; @override - String get losLegendTerrain => 'Terén'; + String get losLegendTerrain => 'Terén'; @override String get losFrequencyLabel => 'Frekvencia'; @override - String get losFrequencyInfoTooltip => 'Zobraziť podrobnosti výpočtu'; + String get losFrequencyInfoTooltip => 'ZobraziÅ¥ podrobnosti výpočtu'; @override - String get losFrequencyDialogTitle => 'Výpočet rádiového horizontu'; + String get losFrequencyDialogTitle => 'Výpočet rádiového horizontu'; @override String losFrequencyDialogDescription( @@ -2956,20 +2970,20 @@ class AppLocalizationsSk extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Počnúc od k=$baselineK pri $baselineFreq MHz výpočet upraví k-faktor pre aktuálne pásmo $frequencyMHz MHz, ktorý definuje zakrivený strop rádiového horizontu.'; + return 'Počnúc od k=$baselineK pri $baselineFreq MHz výpočet upraví k-faktor pre aktuálne pásmo $frequencyMHz MHz, ktorý definuje zakrivený strop rádiového horizontu.'; } @override - String get contacts_pathTrace => 'Sledovanie lúčov'; + String get contacts_pathTrace => 'Sledovanie lúčov'; @override - String get contacts_ping => 'Pingovať'; + String get contacts_ping => 'PingovaÅ¥'; @override - String get contacts_repeaterPathTrace => 'Sledovanie cesty k opakovaču'; + String get contacts_repeaterPathTrace => 'Sledovanie cesty k opakovaču'; @override - String get contacts_repeaterPing => 'Pingovať opakovač'; + String get contacts_repeaterPing => 'PingovaÅ¥ opakovač'; @override String get contacts_roomPathTrace => 'Sledovanie cesty k serveru miestnosti'; @@ -2978,46 +2992,48 @@ class AppLocalizationsSk extends AppLocalizations { String get contacts_roomPing => 'Ping server miestnosti'; @override - String get contacts_chatTraceRoute => 'Sledovať trasu lúča'; + String get contacts_chatTraceRoute => 'SledovaÅ¥ trasu lúča'; @override String contacts_pathTraceTo(String name) { - return 'Sledovať trasu k $name'; + return 'SledovaÅ¥ trasu k $name'; } @override - String get contacts_clipboardEmpty => 'Schránka je prázdna.'; + String get contacts_clipboardEmpty => 'Schránka je prázdna.'; @override - String get contacts_invalidAdvertFormat => 'Neplatné kontaktné údaje'; + String get contacts_invalidAdvertFormat => 'Neplatné kontaktné údaje'; @override - String get contacts_contactImported => 'Kontakt bol importovaný.'; + String get contacts_contactImported => 'Kontakt bol importovaný.'; @override String get contacts_contactImportFailed => - 'Kontakt sa nepodarilo importovať.'; + 'Kontakt sa nepodarilo importovaÅ¥.'; @override - String get contacts_zeroHopAdvert => 'Inzerát Zero Hop'; + String get contacts_zeroHopAdvert => 'Inzerát Zero Hop'; @override - String get contacts_floodAdvert => 'Inzerát povodní'; + String get contacts_floodAdvert => 'Inzerát povodní'; @override - String get contacts_copyAdvertToClipboard => 'Kopírovať reklamu do schránky'; + String get contacts_copyAdvertToClipboard => + 'KopírovaÅ¥ reklamu do schránky'; @override - String get contacts_addContactFromClipboard => 'Pridať kontakt z schránky'; + String get contacts_addContactFromClipboard => 'PridaÅ¥ kontakt z schránky'; @override - String get contacts_ShareContact => 'Kopírovať kontakt do schránky'; + String get contacts_ShareContact => 'KopírovaÅ¥ kontakt do schránky'; @override - String get contacts_ShareContactZeroHop => 'Zdieľať kontakt cez inzerát'; + String get contacts_ShareContactZeroHop => 'ZdieľaÅ¥ kontakt cez inzerát'; @override - String get contacts_zeroHopContactAdvertSent => 'Poslal kontakt cez inzerát.'; + String get contacts_zeroHopContactAdvertSent => + 'Poslal kontakt cez inzerát.'; @override String get contacts_zeroHopContactAdvertFailed => @@ -3025,11 +3041,11 @@ class AppLocalizationsSk extends AppLocalizations { @override String get contacts_contactAdvertCopied => - 'Inzerát bol skopírovaný do schránky.'; + 'Inzerát bol skopírovaný do schránky.'; @override String get contacts_contactAdvertCopyFailed => - 'Kopírovanie inzerátu do schránky zlyhalo.'; + 'Kopírovanie inzerátu do schránky zlyhalo.'; @override String get notification_activityTitle => 'Aktivita MeshCore'; @@ -3039,9 +3055,9 @@ class AppLocalizationsSk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'správ', - few: 'správy', - one: 'správa', + other: 'správ', + few: 'správy', + one: 'správa', ); return '$count $_temp0'; } @@ -3051,9 +3067,9 @@ class AppLocalizationsSk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'správ kanálu', - few: 'správy kanálu', - one: 'správa kanálu', + other: 'správ kanálu', + few: 'správy kanálu', + one: 'správa kanálu', ); return '$count $_temp0'; } @@ -3063,77 +3079,77 @@ class AppLocalizationsSk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'nových uzlov', - few: 'nové uzly', - one: 'nový uzol', + other: 'nových uzlov', + few: 'nové uzly', + one: 'nový uzol', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { - return 'Nový $contactType objavený'; + return 'Nový $contactType objavený'; } @override - String get notification_receivedNewMessage => 'Prijatá nová správa'; + String get notification_receivedNewMessage => 'Prijatá nová správa'; @override String get settings_gpxExportRepeaters => - 'Exportovať repeater / server miestnosti do GPX'; + 'ExportovaÅ¥ repeater / server miestnosti do GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Exportuje repeater / roomserver s lokalitou do súboru GPX.'; + 'Exportuje repeater / roomserver s lokalitou do súboru GPX.'; @override String get settings_gpxExportContacts => 'Export sprievodcov do GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Exportuje sprievodcov s umiestnením do súboru GPX.'; + 'Exportuje sprievodcov s umiestnením do súboru GPX.'; @override - String get settings_gpxExportAll => 'Exportovať všetky kontakty do GPX'; + String get settings_gpxExportAll => 'ExportovaÅ¥ vÅ¡etky kontakty do GPX'; @override String get settings_gpxExportAllSubtitle => - 'Exportuje všetky kontakty s lokalitou do súboru GPX.'; + 'Exportuje vÅ¡etky kontakty s lokalitou do súboru GPX.'; @override - String get settings_gpxExportSuccess => 'Úspešne exportovaný súbor GPX.'; + String get settings_gpxExportSuccess => 'ÚspeÅ¡ne exportovaný súbor GPX.'; @override - String get settings_gpxExportNoContacts => 'Žiadne kontakty na export.'; + String get settings_gpxExportNoContacts => 'Žiadne kontakty na export.'; @override String get settings_gpxExportNotAvailable => - 'Nie je podporované na vašom zariadení/operáciomnom systéme'; + 'Nie je podporované na vaÅ¡om zariadení/operáciomnom systéme'; @override - String get settings_gpxExportError => 'Vyskytol sa chyba počas exportu.'; + String get settings_gpxExportError => 'Vyskytol sa chyba počas exportu.'; @override String get settings_gpxExportRepeatersRoom => - 'Umiestnenia opakovačov a serverov miestností'; + 'Umiestnenia opakovačov a serverov miestností'; @override - String get settings_gpxExportChat => 'Lokácie sprievodcov'; + String get settings_gpxExportChat => 'Lokácie sprievodcov'; @override - String get settings_gpxExportAllContacts => 'Všetky kontaktné lokality'; + String get settings_gpxExportAllContacts => 'VÅ¡etky kontaktné lokality'; @override String get settings_gpxExportShareText => - 'Mapové údaje exportované z meshcore-open'; + 'Mapové údaje exportované z meshcore-open'; @override String get settings_gpxExportShareSubject => - 'meshcore-open export dát GPX mapových údajov'; + 'meshcore-open export dát GPX mapových údajov'; @override - String get snrIndicator_nearByRepeaters => 'Miestne opakovače'; + String get snrIndicator_nearByRepeaters => 'Miestne opakovače'; @override - String get snrIndicator_lastSeen => 'Naposledy videný'; + String get snrIndicator_lastSeen => 'Naposledy videný'; } diff --git a/lib/l10n/app_localizations_sl.dart b/lib/l10n/app_localizations_sl.dart index 8969898..ddc26ac 100644 --- a/lib/l10n/app_localizations_sl.dart +++ b/lib/l10n/app_localizations_sl.dart @@ -21,13 +21,13 @@ class AppLocalizationsSl extends AppLocalizations { String get nav_map => 'Karta'; @override - String get common_cancel => 'Prekliči'; + String get common_cancel => 'Prekliči'; @override String get common_ok => 'V redu'; @override - String get common_connect => 'Poveži se'; + String get common_connect => 'Poveži se'; @override String get common_unknownDevice => 'Nepoznano naprave'; @@ -81,7 +81,7 @@ class AppLocalizationsSl extends AppLocalizations { String get common_remove => 'Izbrisati'; @override - String get common_enable => 'Omogoči'; + String get common_enable => 'Omogoči'; @override String get common_disable => 'Izklopiti'; @@ -90,10 +90,10 @@ class AppLocalizationsSl extends AppLocalizations { String get common_reboot => 'Ponoviti'; @override - String get common_loading => 'Naložanje...'; + String get common_loading => 'Naložanje...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsSl extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Izberite svoj način povezave.'; - - @override - String get connectionChoiceSubtitle => - 'Izberite, kako želite dostopati do svojega naprave MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -122,11 +115,11 @@ class AppLocalizationsSl extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Povežite preko USB'; + String get usbScreenTitle => 'Povežite preko USB'; @override String get usbScreenSubtitle => - 'Izberite zaznano serijsko napravo in se neposredno povežite z vašim MeshCore-om.'; + 'Izberite zaznano serijsko napravo in se neposredno povežite z vaÅ¡im MeshCore-om.'; @override String get usbScreenStatus => 'Izberite USB naprave.'; @@ -137,7 +130,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get usbScreenEmptyState => - 'Niti en USB naprave niso najdeni. Povežite eno in posodobite.'; + 'Niti en USB naprave niso najdeni. Povežite eno in posodobite.'; @override String get scanner_scanning => 'Skeniram za naprave...'; @@ -161,15 +154,15 @@ class AppLocalizationsSl extends AppLocalizations { @override String get scanner_tapToScan => - 'Nagneš na skeniranje za najdene naprave MeshCore.'; + 'NagneÅ¡ na skeniranje za najdene naprave MeshCore.'; @override String scanner_connectionFailed(String error) { - return 'Pošlo je z povezavo: $error'; + return 'PoÅ¡lo je z povezavo: $error'; } @override - String get scanner_stop => 'Prekliči'; + String get scanner_stop => 'Prekliči'; @override String get scanner_scan => 'Skeniraj'; @@ -179,7 +172,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get scanner_bluetoothOffMessage => - 'Prosimo, vklopite Bluetooth, da lahko poiščete naprave.'; + 'Prosimo, vklopite Bluetooth, da lahko poiščete naprave.'; @override String get scanner_chromeRequired => 'Zahtevan brskalnik Chrome'; @@ -189,7 +182,7 @@ class AppLocalizationsSl extends AppLocalizations { 'Ta spletna aplikacija za podporo Bluetooth zahteva Google Chrome ali brskalnik na osnovi Chromiuma.'; @override - String get scanner_enableBluetooth => 'Omogočite Bluetooth'; + String get scanner_enableBluetooth => 'Omogočite Bluetooth'; @override String get device_quickSwitch => 'Hitro preklop'; @@ -208,10 +201,10 @@ class AppLocalizationsSl extends AppLocalizations { @override String get settings_appSettingsSubtitle => - 'Obveščanja, sporoščanje in zemljevidi.'; + 'Obveščanja, sporoščanje in zemljevidi.'; @override - String get settings_nodeSettings => 'Nastavitev časa'; + String get settings_nodeSettings => 'Nastavitev časa'; @override String get settings_nodeName => 'Ime node-a'; @@ -230,7 +223,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get settings_radioSettingsSubtitle => - 'Frekvenca, moč, razširitveni faktor'; + 'Frekvenca, moč, razÅ¡iritveni faktor'; @override String get settings_radioSettingsUpdated => 'Radio nastavitve posodobljene'; @@ -245,18 +238,18 @@ class AppLocalizationsSl extends AppLocalizations { String get settings_locationUpdated => 'Lokacija posodobljena'; @override - String get settings_locationBothRequired => 'Vnesite širino in dolžino.'; + String get settings_locationBothRequired => 'Vnesite Å¡irino in dolžino.'; @override String get settings_locationInvalid => - 'Neveljavna zemeljska širina ali dolžina.'; + 'Neveljavna zemeljska Å¡irina ali dolžina.'; @override - String get settings_locationGPSEnable => 'Omogoči GPS'; + String get settings_locationGPSEnable => 'Omogoči GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Omogoči samodejno posodabljanje lokacije z GPS-jem.'; + 'Omogoči samodejno posodabljanje lokacije z GPS-jem.'; @override String get settings_locationIntervalSec => 'Interval za GPS (Sekunde)'; @@ -266,10 +259,10 @@ class AppLocalizationsSl extends AppLocalizations { 'Intervallo mora biti vsaj 60 sekund in manj kot 86400 sekund.'; @override - String get settings_latitude => 'Širina'; + String get settings_latitude => 'Å irina'; @override - String get settings_longitude => 'Dolžina'; + String get settings_longitude => 'Dolžina'; @override String get settings_privacyMode => 'Zasebnost'; @@ -279,19 +272,19 @@ class AppLocalizationsSl extends AppLocalizations { @override String get settings_privacyModeToggle => - 'Omogoči način zasebnosti, da skrijemo tvoje ime in lokacijo v oglasih.'; + 'Omogoči način zasebnosti, da skrijemo tvoje ime in lokacijo v oglasih.'; @override - String get settings_privacyModeEnabled => 'Privatni način je omogočen.'; + String get settings_privacyModeEnabled => 'Privatni način je omogočen.'; @override - String get settings_privacyModeDisabled => 'Privatni način je onemogočen.'; + String get settings_privacyModeDisabled => 'Privatni način je onemogočen.'; @override String get settings_actions => 'Akcije'; @override - String get settings_sendAdvertisement => 'Pošlji Oglas'; + String get settings_sendAdvertisement => 'PoÅ¡lji Oglas'; @override String get settings_sendAdvertisementSubtitle => @@ -304,33 +297,35 @@ class AppLocalizationsSl extends AppLocalizations { String get settings_syncTime => 'Nastavi uro'; @override - String get settings_syncTimeSubtitle => 'Nastavi uro naprave na čas telefona'; + String get settings_syncTimeSubtitle => + 'Nastavi uro naprave na čas telefona'; @override String get settings_timeSynchronized => 'Ura sinhronizirana'; @override - String get settings_refreshContacts => 'Ponovno obišči kontakte'; + String get settings_refreshContacts => 'Ponovno obišči kontakte'; @override String get settings_refreshContactsSubtitle => - 'Ponovno naloži seznam stikov v napravi'; + 'Ponovno naloži seznam stikov v napravi'; @override String get settings_rebootDevice => 'Ponovni zagon naprave'; @override - String get settings_rebootDeviceSubtitle => 'Ponovno zaženi MeshCore napravo'; + String get settings_rebootDeviceSubtitle => + 'Ponovno zaženi MeshCore napravo'; @override String get settings_rebootDeviceConfirm => - 'Ste prepričani, da želite ponovno zagnati napravo? Povezava bo prekinjena.'; + 'Ste prepričani, da želite ponovno zagnati napravo? Povezava bo prekinjena.'; @override String get settings_debug => 'Debug'; @override - String get settings_bleDebugLog => 'BLE debug log (razhroščevanje)'; + String get settings_bleDebugLog => 'BLE debug log (razhroščevanje)'; @override String get settings_bleDebugLogSubtitle => @@ -340,7 +335,7 @@ class AppLocalizationsSl extends AppLocalizations { String get settings_appDebugLog => 'Logi aplikacije'; @override - String get settings_appDebugLogSubtitle => 'Debug sporočila aplikacije'; + String get settings_appDebugLogSubtitle => 'Debug sporočila aplikacije'; @override String get settings_about => 'Oglejte si'; @@ -355,11 +350,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String get settings_aboutDescription => - 'Odprtokodni Flutter klient za naprave za LoRa omrežje MeshCore.'; + 'Odprtokodni Flutter klient za naprave za LoRa omrežje MeshCore.'; @override String get settings_aboutOpenMeteoAttribution => - 'Podatki o višini LOS: Open-Meteo (CC BY 4.0)'; + 'Podatki o viÅ¡ini LOS: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Ime'; @@ -374,13 +369,13 @@ class AppLocalizationsSl extends AppLocalizations { String get settings_infoBattery => 'Baterija'; @override - String get settings_infoPublicKey => 'Javni ključ'; + String get settings_infoPublicKey => 'Javni ključ'; @override - String get settings_infoContactsCount => 'Število stikov'; + String get settings_infoContactsCount => 'Å tevilo stikov'; @override - String get settings_infoChannelCount => 'Število kanalov'; + String get settings_infoChannelCount => 'Å tevilo kanalov'; @override String get settings_presets => 'Prednastavitve'; @@ -395,33 +390,33 @@ class AppLocalizationsSl extends AppLocalizations { String get settings_frequencyInvalid => 'Neveljavna frekvenca (300-2500 MHz)'; @override - String get settings_bandwidth => 'Pasovna širina'; + String get settings_bandwidth => 'Pasovna Å¡irina'; @override - String get settings_spreadingFactor => 'Razširitveni faktor'; + String get settings_spreadingFactor => 'RazÅ¡iritveni faktor'; @override String get settings_codingRate => 'Programska hitrost'; @override - String get settings_txPower => 'TX Moč (dBm)'; + String get settings_txPower => 'TX Moč (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Neveljavna TX moč (0-22 dBm)'; + String get settings_txPowerInvalid => 'Neveljavna TX moč (0-22 dBm)'; @override String get settings_clientRepeat => 'Neovadno ponavljanje'; @override String get settings_clientRepeatSubtitle => - 'Omogočite temu naprave, da ponavlja paketne sporočila za druge.'; + 'Omogočite temu naprave, da ponavlja paketne sporočila za druge.'; @override String get settings_clientRepeatFreqWarning => - 'Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.'; + 'Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.'; @override String settings_error(String message) { @@ -432,7 +427,7 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_title => 'Nastavitve aplikacije'; @override - String get appSettings_appearance => 'Prikaži'; + String get appSettings_appearance => 'Prikaži'; @override String get appSettings_theme => 'Tema'; @@ -456,10 +451,10 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -468,16 +463,16 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -486,40 +481,41 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override - String get appSettings_languageRu => 'Ruščina'; + String get appSettings_languageRu => 'Ruščina'; @override String get appSettings_languageUk => 'Ukrajinsko'; @override - String get appSettings_enableMessageTracing => 'Omogoči sledenje sporočilom'; + String get appSettings_enableMessageTracing => + 'Omogoči sledenje sporočilom'; @override String get appSettings_enableMessageTracingSubtitle => - 'Prikaži podrobne metapodatke o usmerjanju in časovnem usklajevanju sporočil'; + 'Prikaži podrobne metapodatke o usmerjanju in časovnem usklajevanju sporočil'; @override String get appSettings_notifications => 'Obvestila'; @override - String get appSettings_enableNotifications => 'Omogoči obvestila'; + String get appSettings_enableNotifications => 'Omogoči obvestila'; @override String get appSettings_enableNotificationsSubtitle => - 'Prejmite obvestila o sporočilih in oglasih'; + 'Prejmite obvestila o sporočilih in oglasih'; @override String get appSettings_notificationPermissionDenied => 'Odobritev obvestila zavrnjena'; @override - String get appSettings_notificationsEnabled => 'Obvestila omogočena'; + String get appSettings_notificationsEnabled => 'Obvestila omogočena'; @override String get appSettings_notificationsDisabled => 'Obvestila so izklopljena'; @@ -529,41 +525,41 @@ class AppLocalizationsSl extends AppLocalizations { @override String get appSettings_messageNotificationsSubtitle => - 'Pokaži obvestilo ob prejemu novih sporočil.'; + 'Pokaži obvestilo ob prejemu novih sporočil.'; @override String get appSettings_channelMessageNotifications => - 'Obvestila o sporočilih kanala'; + 'Obvestila o sporočilih kanala'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Pokaži obvestilo ob prejemanju sporočil kanala'; + 'Pokaži obvestilo ob prejemanju sporočil kanala'; @override String get appSettings_advertisementNotifications => 'Opozorila o oglasih'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Pokaži obvestilo, ko so najdene nove naprave.'; + 'Pokaži obvestilo, ko so najdene nove naprave.'; @override String get appSettings_messaging => 'Komuniciranje'; @override String get appSettings_clearPathOnMaxRetry => - 'Ponovite pot do cilja na največjem štetju'; + 'Ponovite pot do cilja na največjem Å¡tetju'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Ponovi pot zimske obveščevalne poti po 5 neuspešnih poskusih pošiljanja'; + 'Ponovi pot zimske obveščevalne poti po 5 neuspeÅ¡nih poskusih poÅ¡iljanja'; @override String get appSettings_pathsWillBeCleared => - 'Počisti pot po 5 neuspešnih poskusih.'; + 'Počisti pot po 5 neuspeÅ¡nih poskusih.'; @override String get appSettings_pathsWillNotBeCleared => - 'Poti ne bodo samodejno čiščene.'; + 'Poti ne bodo samodejno čiščene.'; @override String get appSettings_autoRouteRotation => @@ -571,15 +567,15 @@ class AppLocalizationsSl extends AppLocalizations { @override String get appSettings_autoRouteRotationSubtitle => - 'Menjaj med boljšo potjo in flood načinom'; + 'Menjaj med boljÅ¡o potjo in flood načinom'; @override String get appSettings_autoRouteRotationEnabled => - 'Samodejno krmilno rotiranje omogočeno'; + 'Samodejno krmilno rotiranje omogočeno'; @override String get appSettings_autoRouteRotationDisabled => - 'Samodejno krmilno rotiranje je onemogočeno'; + 'Samodejno krmilno rotiranje je onemogočeno'; @override String get appSettings_battery => 'Baterija'; @@ -594,13 +590,13 @@ class AppLocalizationsSl extends AppLocalizations { @override String get appSettings_batteryChemistryConnectFirst => - 'Za izbiro se poveži z napravo'; + 'Za izbiro se poveži z napravo'; @override String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65 V)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65 V)'; @override String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)'; @@ -609,42 +605,43 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_mapDisplay => 'Prikaz zemljevida'; @override - String get appSettings_showRepeaters => 'Prikaži repetitorje'; + String get appSettings_showRepeaters => 'Prikaži repetitorje'; @override - String get appSettings_showRepeatersSubtitle => 'Prikaži repetitorje na mapi'; + String get appSettings_showRepeatersSubtitle => + 'Prikaži repetitorje na mapi'; @override - String get appSettings_showChatNodes => 'Prikaži naprave za klepet'; + String get appSettings_showChatNodes => 'Prikaži naprave za klepet'; @override String get appSettings_showChatNodesSubtitle => - 'Prikaži naprave na zemljevidu'; + 'Prikaži naprave na zemljevidu'; @override - String get appSettings_showOtherNodes => 'Pokaži druge naprave'; + String get appSettings_showOtherNodes => 'Pokaži druge naprave'; @override String get appSettings_showOtherNodesSubtitle => - 'Pokaži druge vrste naprav na zemljevidu.'; + 'Pokaži druge vrste naprav na zemljevidu.'; @override - String get appSettings_timeFilter => 'Filter po času'; + String get appSettings_timeFilter => 'Filter po času'; @override - String get appSettings_timeFilterShowAll => 'Pokaži vse naprave'; + String get appSettings_timeFilterShowAll => 'Pokaži vse naprave'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Pokaži naprave v zadnjih $hours urah'; + return 'Pokaži naprave v zadnjih $hours urah'; } @override - String get appSettings_mapTimeFilter => 'Filter časa na zemljevidu'; + String get appSettings_mapTimeFilter => 'Filter časa na zemljevidu'; @override String get appSettings_showNodesDiscoveredWithin => - 'Pokaži naprave odkrite v:'; + 'Pokaži naprave odkrite v:'; @override String get appSettings_allTime => 'Brez omejitev'; @@ -659,7 +656,7 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_last24Hours => 'Zadnjih 24 ur'; @override - String get appSettings_lastWeek => 'Prejšnji teden'; + String get appSettings_lastWeek => 'PrejÅ¡nji teden'; @override String get appSettings_offlineMapCache => 'Shramba zemljevidov brez povezave'; @@ -668,36 +665,36 @@ class AppLocalizationsSl extends AppLocalizations { String get appSettings_unitsTitle => 'Enote'; @override - String get appSettings_unitsMetric => 'Metrična (m/km)'; + String get appSettings_unitsMetric => 'Metrična (m/km)'; @override String get appSettings_unitsImperial => 'Imperialno (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Območje ni izbrano'; + String get appSettings_noAreaSelected => 'Območje ni izbrano'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Izbrano območje (povečava $minZoom-$maxZoom)'; + return 'Izbrano območje (povečava $minZoom-$maxZoom)'; } @override - String get appSettings_debugCard => 'Razhroščevanje'; + String get appSettings_debugCard => 'Razhroščevanje'; @override String get appSettings_appDebugLogging => 'Programski dnevnik'; @override String get appSettings_appDebugLoggingSubtitle => - 'Dnevnik debug sporočil za odpravljanje težav'; + 'Dnevnik debug sporočil za odpravljanje težav'; @override String get appSettings_appDebugLoggingEnabled => - 'Beleženje napak v aplikaciji omogočeno'; + 'Beleženje napak v aplikaciji omogočeno'; @override String get appSettings_appDebugLoggingDisabled => - 'Beleženje napak v aplikacije onemogočeno.'; + 'Beleženje napak v aplikacije onemogočeno.'; @override String get contacts_title => 'Stiki'; @@ -727,17 +724,17 @@ class AppLocalizationsSl extends AppLocalizations { @override String contacts_searchUsers(int number, String str) { - return 'Išči $number$str uporabnikov...'; + return 'Išči $number$str uporabnikov...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Išči $number$str ponavljalnike...'; + return 'Išči $number$str ponavljalnike...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Išči $number$str strežnikov sob...'; + return 'Išči $number$str strežnikov sob...'; } @override @@ -747,18 +744,18 @@ class AppLocalizationsSl extends AppLocalizations { String get contacts_noContactsFound => 'Stiki niso najdeni.'; @override - String get contacts_deleteContact => 'Izbriši stik'; + String get contacts_deleteContact => 'IzbriÅ¡i stik'; @override String contacts_removeConfirm(String contactName) { - return 'Izbrišem $contactName iz stikov?'; + return 'IzbriÅ¡em $contactName iz stikov?'; } @override String get contacts_manageRepeater => 'Upravljaj Ponovitve'; @override - String get contacts_manageRoom => 'Upravljajte strežnik sobe'; + String get contacts_manageRoom => 'Upravljajte strežnik sobe'; @override String get contacts_roomLogin => 'Prijava v sobo'; @@ -770,11 +767,11 @@ class AppLocalizationsSl extends AppLocalizations { String get contacts_editGroup => 'Uredi skupino'; @override - String get contacts_deleteGroup => 'Izbriši skupino'; + String get contacts_deleteGroup => 'IzbriÅ¡i skupino'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Izbriši $groupName?'; + return 'IzbriÅ¡i $groupName?'; } @override @@ -788,7 +785,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String contacts_groupAlreadyExists(String name) { - return 'Skupina \"$name\" že obstaja'; + return 'Skupina \"$name\" že obstaja'; } @override @@ -796,46 +793,46 @@ class AppLocalizationsSl extends AppLocalizations { @override String get contacts_noContactsMatchFilter => - 'Noben stik ne ustreza vašemu kriteriju.'; + 'Noben stik ne ustreza vaÅ¡emu kriteriju.'; @override - String get contacts_noMembers => 'Ni članov.'; + String get contacts_noMembers => 'Ni članov.'; @override String get contacts_lastSeenNow => 'Nazadnje viden zdaj'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'Zadnjič viden pred $minutes minutami'; + return 'Zadnjič viden pred $minutes minutami'; } @override - String get contacts_lastSeenHourAgo => 'Zadnjič viden pred 1 uro.'; + String get contacts_lastSeenHourAgo => 'Zadnjič viden pred 1 uro.'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'Zadnjič viden pred $hours urami'; + return 'Zadnjič viden pred $hours urami'; } @override - String get contacts_lastSeenDayAgo => 'Zadnjič viden pred 1 dnem'; + String get contacts_lastSeenDayAgo => 'Zadnjič viden pred 1 dnem'; @override String contacts_lastSeenDaysAgo(int days) { - return 'Zadnjič viden pred $days dnem'; + return 'Zadnjič viden pred $days dnem'; } @override String get channels_title => 'Kanali'; @override - String get channels_noChannelsConfigured => 'Kanali še niso konfigurirani'; + String get channels_noChannelsConfigured => 'Kanali Å¡e niso konfigurirani'; @override String get channels_addPublicChannel => 'Dodaj javni kanal'; @override - String get channels_searchChannels => 'Poišči kanale...'; + String get channels_searchChannels => 'Poišči kanale...'; @override String get channels_noChannelsFound => 'Ne najdem kanalov.'; @@ -864,22 +861,22 @@ class AppLocalizationsSl extends AppLocalizations { String get channels_editChannel => 'Uredi kanal'; @override - String get channels_muteChannel => 'Utišaj kanal'; + String get channels_muteChannel => 'UtiÅ¡aj kanal'; @override String get channels_unmuteChannel => 'Vklopi obvestila kanala'; @override - String get channels_deleteChannel => 'Pošlji kanal'; + String get channels_deleteChannel => 'PoÅ¡lji kanal'; @override String channels_deleteChannelConfirm(String name) { - return 'Izbrišem \"$name\"? To se ne da povrniti.'; + return 'IzbriÅ¡em \"$name\"? To se ne da povrniti.'; } @override String channels_channelDeleteFailed(String name) { - return 'Kanala $name ni bilo mogoče izbrisati'; + return 'Kanala $name ni bilo mogoče izbrisati'; } @override @@ -903,10 +900,10 @@ class AppLocalizationsSl extends AppLocalizations { String get channels_standardPublicPsk => 'Standardni javni PSK'; @override - String get channels_pskHex => 'PSK (Šestnajstbinska)'; + String get channels_pskHex => 'PSK (Å estnajstbinska)'; @override - String get channels_generateRandomPsk => 'Generiraj naključni PSK'; + String get channels_generateRandomPsk => 'Generiraj naključni PSK'; @override String get channels_enterChannelName => 'Vnesi ime kanala'; @@ -940,49 +937,50 @@ class AppLocalizationsSl extends AppLocalizations { String get channels_sortBy => 'Sortiraj po'; @override - String get channels_sortManual => 'Ročno'; + String get channels_sortManual => 'Ročno'; @override String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => 'Najnovejše sporočilo'; + String get channels_sortLatestMessages => 'NajnovejÅ¡e sporočilo'; @override - String get channels_sortUnread => 'Nerešeno'; + String get channels_sortUnread => 'NereÅ¡eno'; @override String get channels_createPrivateChannel => 'Ustvari zasebno kanal.'; @override String get channels_createPrivateChannelDesc => - 'Varno zaklenjeno s skrivnim ključem.'; + 'Varno zaklenjeno s skrivnim ključem.'; @override - String get channels_joinPrivateChannel => 'Pridružite se zasebni skupini'; + String get channels_joinPrivateChannel => 'Pridružite se zasebni skupini'; @override - String get channels_joinPrivateChannelDesc => 'Ročno vnesite zaporni ključ.'; + String get channels_joinPrivateChannelDesc => + 'Ročno vnesite zaporni ključ.'; @override - String get channels_joinPublicChannel => 'Pridružite se javnemu kanalu'; + String get channels_joinPublicChannel => 'Pridružite se javnemu kanalu'; @override String get channels_joinPublicChannelDesc => - 'Kdor karkoli je, lahko se pridruži tej skupini.'; + 'Kdor karkoli je, lahko se pridruži tej skupini.'; @override - String get channels_joinHashtagChannel => 'Pridružite se Kanalu z Hashtagom'; + String get channels_joinHashtagChannel => 'Pridružite se Kanalu z Hashtagom'; @override String get channels_joinHashtagChannelDesc => - 'Kdor karkoli, lahko se pridruži hashtag kanalom.'; + 'Kdor karkoli, lahko se pridruži hashtag kanalom.'; @override String get channels_scanQrCode => 'Skeniraj QR kodo'; @override - String get channels_scanQrCodeComingSoon => 'Prihajajoča'; + String get channels_scanQrCodeComingSoon => 'Prihajajoča'; @override String get channels_enterHashtag => 'Vnesite hashtag'; @@ -991,14 +989,14 @@ class AppLocalizationsSl extends AppLocalizations { String get channels_hashtagHint => 'npr. #ekipa'; @override - String get chat_noMessages => 'Še ni sporočil.'; + String get chat_noMessages => 'Å e ni sporočil.'; @override - String get chat_sendMessageToStart => 'Pošlji sporočilo za začetek.'; + String get chat_sendMessageToStart => 'PoÅ¡lji sporočilo za začetek.'; @override String get chat_originalMessageNotFound => - 'Opozorilo: Sporočilo ni bilo najdeno'; + 'Opozorilo: Sporočilo ni bilo najdeno'; @override String chat_replyingTo(String name) { @@ -1007,7 +1005,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String chat_replyTo(String name) { - return 'Odpošlji odgovor $name'; + return 'OdpoÅ¡lji odgovor $name'; } @override @@ -1015,22 +1013,22 @@ class AppLocalizationsSl extends AppLocalizations { @override String chat_sendMessageTo(String contactName) { - return 'Pošlji sporočilo $contactName'; + return 'PoÅ¡lji sporočilo $contactName'; } @override - String get chat_typeMessage => 'Vnesi sporočilo...'; + String get chat_typeMessage => 'Vnesi sporočilo...'; @override String chat_messageTooLong(int maxBytes) { - return 'Pošiljanje sporočila je onemogočeno, saj je preveliko (maksimalno $maxBytes byte-ov).'; + return 'PoÅ¡iljanje sporočila je onemogočeno, saj je preveliko (maksimalno $maxBytes byte-ov).'; } @override - String get chat_messageCopied => 'Sporočilo poslano'; + String get chat_messageCopied => 'Sporočilo poslano'; @override - String get chat_messageDeleted => 'Sporočilo izbrisano'; + String get chat_messageDeleted => 'Sporočilo izbrisano'; @override String get chat_retryingMessage => 'Ponovni poskus.'; @@ -1041,7 +1039,7 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get chat_sendGif => 'Pošlji GIF'; + String get chat_sendGif => 'PoÅ¡lji GIF'; @override String get chat_reply => 'Odgovori'; @@ -1068,7 +1066,7 @@ class AppLocalizationsSl extends AppLocalizations { String get gifPicker_title => 'Izberi GIF'; @override - String get gifPicker_searchHint => 'Išči GIF-e...'; + String get gifPicker_searchHint => 'Išči GIF-e...'; @override String get gifPicker_poweredBy => 'Napredno z GIPHY'; @@ -1077,10 +1075,10 @@ class AppLocalizationsSl extends AppLocalizations { String get gifPicker_noGifsFound => 'Ne najdem GIF-ov.'; @override - String get gifPicker_failedLoad => 'Neuspešno nalaganje GIF-a'; + String get gifPicker_failedLoad => 'NeuspeÅ¡no nalaganje GIF-a'; @override - String get gifPicker_failedSearch => 'Iskanje neuspešno.'; + String get gifPicker_failedSearch => 'Iskanje neuspeÅ¡no.'; @override String get gifPicker_noInternet => 'Ni internetne povezave'; @@ -1095,26 +1093,26 @@ class AppLocalizationsSl extends AppLocalizations { String get debugLog_copyLog => 'Kopiraj dnevnik'; @override - String get debugLog_clearLog => 'Briši log'; + String get debugLog_clearLog => 'BriÅ¡i log'; @override - String get debugLog_copied => 'Beležka kopirana.'; + String get debugLog_copied => 'Beležka kopirana.'; @override - String get debugLog_bleCopied => 'Kopirana beležka iz BLE'; + String get debugLog_bleCopied => 'Kopirana beležka iz BLE'; @override String get debugLog_noEntries => 'Ni ustvarjenih debug zapisov.'; @override String get debugLog_enableInSettings => - 'Omogoči beleženje napak v nastavitvah aplikacije'; + 'Omogoči beleženje napak v nastavitvah aplikacije'; @override String get debugLog_frames => 'Okvirji'; @override - String get debugLog_rawLogRx => 'Svež Log-RX'; + String get debugLog_rawLogRx => 'Svež Log-RX'; @override String get debugLog_noBleActivity => 'Ni BLE aktivnosti.'; @@ -1134,12 +1132,12 @@ class AppLocalizationsSl extends AppLocalizations { @override String debugFrame_destinationPubKey(String pubKey) { - return '- Destinirano Ključno Besedilo: $pubKey'; + return '- Destinirano Ključno Besedilo: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Časovnik: $timestamp'; + return '- ÄŒasovnik: $timestamp'; } @override @@ -1170,23 +1168,23 @@ class AppLocalizationsSl extends AppLocalizations { String get chat_pathManagement => 'Upravljanje poti'; @override - String get chat_ShowAllPaths => 'Prikaži vse poti'; + String get chat_ShowAllPaths => 'Prikaži vse poti'; @override - String get chat_routingMode => 'Navodilo za usmerjevalni način'; + String get chat_routingMode => 'Navodilo za usmerjevalni način'; @override String get chat_autoUseSavedPath => 'Avto (uporabi shranjeno pot)'; @override - String get chat_forceFloodMode => 'Nasilje obvezati v način'; + String get chat_forceFloodMode => 'Nasilje obvezati v način'; @override String get chat_recentAckPaths => 'Nedavni poti ACK (tap za uporabo):'; @override String get chat_pathHistoryFull => - 'Zapiske o poti so popolni. Izbriši vnose, da dodaš nove.'; + 'Zapiske o poti so popolni. IzbriÅ¡i vnose, da dodaÅ¡ nove.'; @override String get chat_hopSingular => 'skok'; @@ -1206,14 +1204,14 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get chat_successes => 'Uspešni'; + String get chat_successes => 'UspeÅ¡ni'; @override - String get chat_removePath => 'Izbriši pot'; + String get chat_removePath => 'IzbriÅ¡i pot'; @override String get chat_noPathHistoryYet => - 'Ni shranjenih poti.\nPošlji sporočilo za odkrivanje poti.'; + 'Ni shranjenih poti.\nPoÅ¡lji sporočilo za odkrivanje poti.'; @override String get chat_pathActions => 'Potni ukazi:'; @@ -1222,17 +1220,17 @@ class AppLocalizationsSl extends AppLocalizations { String get chat_setCustomPath => 'Nastavi Prilozeno Pot'; @override - String get chat_setCustomPathSubtitle => 'Ročno določite potniško pot.'; + String get chat_setCustomPathSubtitle => 'Ročno določite potniÅ¡ko pot.'; @override - String get chat_clearPath => 'Počisti pot'; + String get chat_clearPath => 'Počisti pot'; @override - String get chat_clearPathSubtitle => 'Ob naslednji pošiljanju znova zbrati.'; + String get chat_clearPathSubtitle => 'Ob naslednji poÅ¡iljanju znova zbrati.'; @override String get chat_pathCleared => - 'Pot je očiščena. Naslednje sporočilo bo ponovno odkril pot.'; + 'Pot je očiščena. Naslednje sporočilo bo ponovno odkril pot.'; @override String get chat_floodModeSubtitle => @@ -1240,14 +1238,14 @@ class AppLocalizationsSl extends AppLocalizations { @override String get chat_floodModeEnabled => - 'Narejena je bila omrežna modaliteta. Vklopi jo znova preko ikone v meniju aplikacije.'; + 'Narejena je bila omrežna modaliteta. Vklopi jo znova preko ikone v meniju aplikacije.'; @override String get chat_fullPath => 'Polna pot'; @override String get chat_pathDetailsNotAvailable => - 'Podrobnosti poti zaenkrat niso na voljo. Poskusite poslati sporočilo za osvežitev.'; + 'Podrobnosti poti zaenkrat niso na voljo. Poskusite poslati sporočilo za osvežitev.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1262,13 +1260,13 @@ class AppLocalizationsSl extends AppLocalizations { @override String get chat_pathSavedLocally => - 'Shrano lokalno. Povežite se za sinhronizacijo.'; + 'Shrano lokalno. Povežite se za sinhronizacijo.'; @override String get chat_pathDeviceConfirmed => 'Naprave potrjeno.'; @override - String get chat_pathDeviceNotConfirmed => 'Naprave še niso potrdile.'; + String get chat_pathDeviceNotConfirmed => 'Naprave Å¡e niso potrdile.'; @override String get chat_type => 'Vnesite'; @@ -1277,16 +1275,16 @@ class AppLocalizationsSl extends AppLocalizations { String get chat_path => 'Pot'; @override - String get chat_publicKey => 'Ključ javnega tipa'; + String get chat_publicKey => 'Ključ javnega tipa'; @override - String get chat_compressOutgoingMessages => 'Stisnite izhodne sporočila'; + String get chat_compressOutgoingMessages => 'Stisnite izhodne sporočila'; @override String get chat_floodForced => 'Porolni (nasilje).'; @override - String get chat_directForced => 'Nezglašen (nasilje)'; + String get chat_directForced => 'NezglaÅ¡en (nasilje)'; @override String chat_hopsForced(int count) { @@ -1300,11 +1298,11 @@ class AppLocalizationsSl extends AppLocalizations { String get chat_direct => 'Neposredni'; @override - String get chat_poiShared => 'Deljeno točke MN'; + String get chat_poiShared => 'Deljeno točke MN'; @override String chat_unread(int count) { - return 'Nerešeno: $count'; + return 'NereÅ¡eno: $count'; } @override @@ -1312,21 +1310,21 @@ class AppLocalizationsSl extends AppLocalizations { @override String get chat_openLinkConfirmation => - 'Ali želite odpreti to povezavo v brskalniku?'; + 'Ali želite odpreti to povezavo v brskalniku?'; @override String get chat_open => 'Odpri'; @override String chat_couldNotOpenLink(String url) { - return 'Povezave ni bilo mogoče odpreti: $url'; + return 'Povezave ni bilo mogoče odpreti: $url'; } @override String get chat_invalidLink => 'Neveljavna oblika povezave'; @override - String get map_title => 'Mapa omrežja'; + String get map_title => 'Mapa omrežja'; @override String get map_lineOfSight => 'Linija vida'; @@ -1336,11 +1334,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String get map_noNodesWithLocation => - 'Nihče od notranjih elementov nima podatkov o lokaciji.'; + 'Nihče od notranjih elementov nima podatkov o lokaciji.'; @override String get map_nodesNeedGps => - 'Omrežje morajo deliti svoje GPS koordinate,\nda se prikazao na zemljeobrazniku.'; + 'Omrežje morajo deliti svoje GPS koordinate,\nda se prikazao na zemljeobrazniku.'; @override String map_nodesCount(int count) { @@ -1349,11 +1347,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String map_pinsCount(int count) { - return 'Žigovi: $count'; + return 'Žigovi: $count'; } @override - String get map_chat => 'Čistemar'; + String get map_chat => 'ÄŒistemar'; @override String get map_repeater => 'Ponovitelj'; @@ -1365,20 +1363,20 @@ class AppLocalizationsSl extends AppLocalizations { String get map_sensor => 'Senzor'; @override - String get map_pinDm => 'Zavežite (DM)'; + String get map_pinDm => 'Zavežite (DM)'; @override - String get map_pinPrivate => 'Zasebno označit'; + String get map_pinPrivate => 'Zasebno označit'; @override String get map_pinPublic => 'Oznaka (javna)'; @override - String get map_lastSeen => 'Zadnjič Zazet'; + String get map_lastSeen => 'Zadnjič Zazet'; @override String get map_disconnectConfirm => - 'Ste prepričani, da želite se odklopiti s tega naprave?'; + 'Ste prepričani, da želite se odklopiti s tega naprave?'; @override String get map_from => 'Od'; @@ -1390,7 +1388,7 @@ class AppLocalizationsSl extends AppLocalizations { String get map_flags => 'Zapestnice'; @override - String get map_shareMarkerHere => 'Delite točke tukaj.'; + String get map_shareMarkerHere => 'Delite točke tukaj.'; @override String get map_pinLabel => 'Oznaka za pritrditev'; @@ -1399,16 +1397,16 @@ class AppLocalizationsSl extends AppLocalizations { String get map_label => 'Oznaka'; @override - String get map_pointOfInterest => 'Točka zanimivosti'; + String get map_pointOfInterest => 'Točka zanimivosti'; @override - String get map_sendToContact => 'Pošlji v kontakt'; + String get map_sendToContact => 'PoÅ¡lji v kontakt'; @override - String get map_sendToChannel => 'Pošlji v kanal'; + String get map_sendToChannel => 'PoÅ¡lji v kanal'; @override - String get map_noChannelsAvailable => 'Nihče kanalov na voljo.'; + String get map_noChannelsAvailable => 'Nihče kanalov na voljo.'; @override String get map_publicLocationShare => 'Deljenje javne lokacije'; @@ -1420,37 +1418,37 @@ class AppLocalizationsSl extends AppLocalizations { @override String get map_connectToShareMarkers => - 'Povežite se z napravo za deljenje oznak.'; + 'Povežite se z napravo za deljenje oznak.'; @override - String get map_filterNodes => 'Filtirirajte člene'; + String get map_filterNodes => 'Filtirirajte člene'; @override String get map_nodeTypes => 'Vrste knope'; @override - String get map_chatNodes => 'Čuti zvezde'; + String get map_chatNodes => 'ÄŒuti zvezde'; @override String get map_repeaters => 'Ponovljalniki'; @override - String get map_otherNodes => 'Druge vozlišča'; + String get map_otherNodes => 'Druge vozlišča'; @override - String get map_keyPrefix => 'Predpona ključa'; + String get map_keyPrefix => 'Predpona ključa'; @override - String get map_filterByKeyPrefix => 'Filtri po predpomniku ključa'; + String get map_filterByKeyPrefix => 'Filtri po predpomniku ključa'; @override - String get map_publicKeyPrefix => 'Predifika javnega ključa'; + String get map_publicKeyPrefix => 'Predifika javnega ključa'; @override - String get map_markers => 'Označitelji'; + String get map_markers => 'Označitelji'; @override - String get map_showSharedMarkers => 'Pokaži skupno označenja'; + String get map_showSharedMarkers => 'Pokaži skupno označenja'; @override String get map_lastSeenTime => 'Datum zadnjega vpogleda'; @@ -1459,16 +1457,16 @@ class AppLocalizationsSl extends AppLocalizations { String get map_sharedPin => 'Deljeno naslovno geslo'; @override - String get map_joinRoom => 'Pridružiti sobo'; + String get map_joinRoom => 'Pridružiti sobo'; @override String get map_manageRepeater => 'Upravljajte Ponovitve'; @override - String get map_tapToAdd => 'Pritisnite na vozlišča, da jih dodate poti.'; + String get map_tapToAdd => 'Pritisnite na vozlišča, da jih dodate poti.'; @override - String get map_runTrace => 'Zaženi sledenje poti'; + String get map_runTrace => 'Zaženi sledenje poti'; @override String get map_removeLast => 'Odstrani Zadnji'; @@ -1478,51 +1476,51 @@ class AppLocalizationsSl extends AppLocalizations { @override String get mapCache_title => - 'Omrezni predpomnilnik zemljeških zemljejevskih slik'; + 'Omrezni predpomnilnik zemljeÅ¡kih zemljejevskih slik'; @override String get mapCache_selectAreaFirst => - 'Izberite območje za prvo predpomnilnik.'; + 'Izberite območje za prvo predpomnilnik.'; @override String get mapCache_noTilesToDownload => - 'Nihče slik ne bo naložil za to območje.'; + 'Nihče slik ne bo naložil za to območje.'; @override - String get mapCache_downloadTilesTitle => 'Naloži ploščice'; + String get mapCache_downloadTilesTitle => 'Naloži ploščice'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Naložiť $count plošč za uporabo v režimu brez povezave?'; + return 'NaložiÅ¥ $count plošč za uporabo v režimu brez povezave?'; } @override - String get mapCache_downloadAction => 'Naloži'; + String get mapCache_downloadAction => 'Naloži'; @override String mapCache_cachedTiles(int count) { - return 'Pospešeno shranjeni $count plošč'; + return 'PospeÅ¡eno shranjeni $count plošč'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Shranjeni $downloaded ploščad ($failed neuspešno)'; + return 'Shranjeni $downloaded ploščad ($failed neuspeÅ¡no)'; } @override String get mapCache_clearOfflineCacheTitle => - 'Ponovite arhiv za offline način'; + 'Ponovite arhiv za offline način'; @override String get mapCache_clearOfflineCachePrompt => - 'Izbriši vse predpomnilnikovane kartografske ploščice?'; + 'IzbriÅ¡i vse predpomnilnikovane kartografske ploščice?'; @override String get mapCache_offlineCacheCleared => 'Omrezni predpomnik je bil izbrisal.'; @override - String get mapCache_noAreaSelected => 'Nizona označena površina'; + String get mapCache_noAreaSelected => 'Nizona označena povrÅ¡ina'; @override String get mapCache_cacheArea => 'Omanski prostor'; @@ -1531,27 +1529,27 @@ class AppLocalizationsSl extends AppLocalizations { String get mapCache_useCurrentView => 'Uporabi trenutni prikaz'; @override - String get mapCache_zoomRange => 'Občutek razpona'; + String get mapCache_zoomRange => 'Občutek razpona'; @override String mapCache_estimatedTiles(int count) { - return 'Predvideni ploščadi: $count'; + return 'Predvideni ploščadi: $count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return 'Naloženo $completed / $total'; + return 'Naloženo $completed / $total'; } @override - String get mapCache_downloadTilesButton => 'Naloži ploščice'; + String get mapCache_downloadTilesButton => 'Naloži ploščice'; @override String get mapCache_clearCacheButton => 'Ponoviti arhiv'; @override String mapCache_failedDownloads(int count) { - return 'Poslovniški izniki: $count'; + return 'PoslovniÅ¡ki izniki: $count'; } @override @@ -1610,14 +1608,14 @@ class AppLocalizationsSl extends AppLocalizations { String get time_minutes => 'minute'; @override - String get time_allTime => 'Vse časovno obdobje'; + String get time_allTime => 'Vse časovno obdobje'; @override String get dialog_disconnect => 'Odklopiti'; @override String get dialog_disconnectConfirm => - 'Ste prepričani, da želite se odklopiti s tega naprave?'; + 'Ste prepričani, da želite se odklopiti s tega naprave?'; @override String get login_repeaterLogin => 'Ponovni vnos'; @@ -1650,36 +1648,36 @@ class AppLocalizationsSl extends AppLocalizations { String get login_routing => 'Usmerjanje'; @override - String get login_routingMode => 'Navodilo za usmerjevalni način'; + String get login_routingMode => 'Navodilo za usmerjevalni način'; @override String get login_autoUseSavedPath => 'Avto (uporabi shranjeno pot)'; @override - String get login_forceFloodMode => 'Nasilje obvezati v način'; + String get login_forceFloodMode => 'Nasilje obvezati v način'; @override - String get login_managePaths => 'Upravljajte Potniške Proti'; + String get login_managePaths => 'Upravljajte PotniÅ¡ke Proti'; @override String get login_login => 'Prijava'; @override String login_attempt(int current, int max) { - return 'Poskušajo $current/$max'; + return 'PoskuÅ¡ajo $current/$max'; } @override String login_failed(String error) { - return 'Prijava je bila neuspešna: $error'; + return 'Prijava je bila neuspeÅ¡na: $error'; } @override String get login_failedMessage => - 'Prijava je bila neuspešna. Geslo je napačno ali pa je repetitor nedosegljiv.'; + 'Prijava je bila neuspeÅ¡na. Geslo je napačno ali pa je repetitor nedosegljiv.'; @override - String get common_reload => 'Ponovno naloži'; + String get common_reload => 'Ponovno naloži'; @override String get common_clear => 'Ponoviti'; @@ -1708,14 +1706,14 @@ class AppLocalizationsSl extends AppLocalizations { @override String get path_hexPrefixInstructions => - 'Vnesite 2-karakterne heksadecimalne prefixe za vsako skopo, ločeno z zvezekami.'; + 'Vnesite 2-karakterne heksadecimalne prefixe za vsako skopo, ločeno z zvezekami.'; @override String get path_hexPrefixExample => - 'Primer: A1,F2,3C (vsak notranji element uporablja prvi bajt svojega javnega ključa)'; + 'Primer: A1,F2,3C (vsak notranji element uporablja prvi bajt svojega javnega ključa)'; @override - String get path_labelHexPrefixes => 'Pot (heksafixne skrajšave)'; + String get path_labelHexPrefixes => 'Pot (heksafixne skrajÅ¡ave)'; @override String get path_helperMaxHops => @@ -1726,19 +1724,19 @@ class AppLocalizationsSl extends AppLocalizations { @override String get path_noRepeatersFound => - 'Ne najdenih ponoviteljev ali strežnikov sob.'; + 'Ne najdenih ponoviteljev ali strežnikov sob.'; @override String get path_customPathsRequire => - 'Prilojene poti zahtevajo medhodne prenose, ki lahko prenašajo sporočila.'; + 'Prilojene poti zahtevajo medhodne prenose, ki lahko prenaÅ¡ajo sporočila.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Neveljačni šesteročlenski prefiksi: $prefixes'; + return 'Neveljačni Å¡esteročlenski prefiksi: $prefixes'; } @override - String get path_tooLong => 'Pot je prevelika. Dovoljeno največ 64 skokov.'; + String get path_tooLong => 'Pot je prevelika. Dovoljeno največ 64 skokov.'; @override String get path_setPath => 'Nastavi Pot'; @@ -1747,7 +1745,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_management => 'Upravljanje ponovitve'; @override - String get room_management => 'Upravljanje stremlišča'; + String get room_management => 'Upravljanje stremlišča'; @override String get repeater_managementTools => 'Upravne orodje'; @@ -1771,13 +1769,13 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliSubtitle => - 'Pošlji ukazne povelje na ponovitveno enoto.'; + 'PoÅ¡lji ukazne povelje na ponovitveno enoto.'; @override String get repeater_neighbors => 'Sosedi'; @override - String get repeater_neighborsSubtitle => 'Pogledati nič sosednjih hopjev.'; + String get repeater_neighborsSubtitle => 'Pogledati nič sosednjih hopjev.'; @override String get repeater_settings => 'Nastavitve'; @@ -1790,13 +1788,13 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_statusTitle => 'Status ponovitelja'; @override - String get repeater_routingMode => 'Navodilo za usmerjevalni način'; + String get repeater_routingMode => 'Navodilo za usmerjevalni način'; @override String get repeater_autoUseSavedPath => 'Avto (uporabi shranjeno pot)'; @override - String get repeater_forceFloodMode => 'Nasilje obvezati v način'; + String get repeater_forceFloodMode => 'Nasilje obvezati v način'; @override String get repeater_pathManagement => 'Upravljanje poti'; @@ -1809,7 +1807,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String repeater_errorLoadingStatus(String error) { - return 'Napaka pri obnašanju: $error'; + return 'Napaka pri obnaÅ¡anju: $error'; } @override @@ -1822,10 +1820,10 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_clockAtLogin => 'Ure (pri prijavi)'; @override - String get repeater_uptime => 'Čas delovanja'; + String get repeater_uptime => 'ÄŒas delovanja'; @override - String get repeater_queueLength => 'Dolžina čakalne vrste'; + String get repeater_queueLength => 'Dolžina čakalne vrste'; @override String get repeater_debugFlags => 'Nastavitve odpravilnosti'; @@ -1837,10 +1835,10 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_lastRssi => 'Potredno RSSI'; @override - String get repeater_lastSnr => 'Nazadnje zabeležena SNR'; + String get repeater_lastSnr => 'Nazadnje zabeležena SNR'; @override - String get repeater_noiseFloor => 'Šumovita raven'; + String get repeater_noiseFloor => 'Å umovita raven'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1852,7 +1850,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_packetStatistics => 'Statistika paketa'; @override - String get repeater_sent => 'Pošljeno'; + String get repeater_sent => 'PoÅ¡ljeno'; @override String get repeater_received => 'Prejeto'; @@ -1909,7 +1907,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_adminPasswordHelper => 'Polni dostopno geslo'; @override - String get repeater_guestPassword => 'Geslo gostača'; + String get repeater_guestPassword => 'Geslo gostača'; @override String get repeater_guestPasswordHelper => 'Odpovedni dostopni geslo'; @@ -1924,16 +1922,16 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_frequencyHelper => '300-2500 MHz'; @override - String get repeater_txPower => 'TX Moč'; + String get repeater_txPower => 'TX Moč'; @override String get repeater_txPowerHelper => '1-30 dBm'; @override - String get repeater_bandwidth => 'Pasovna širina'; + String get repeater_bandwidth => 'Pasovna Å¡irina'; @override - String get repeater_spreadingFactor => 'Razširitveni faktor'; + String get repeater_spreadingFactor => 'RazÅ¡iritveni faktor'; @override String get repeater_codingRate => 'Programska hitrost'; @@ -1942,37 +1940,37 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_locationSettings => 'Nastavitve lokacije'; @override - String get repeater_latitude => 'Širina'; + String get repeater_latitude => 'Å irina'; @override String get repeater_latitudeHelper => 'Desetbinske protiure (npr. 37.7749)'; @override - String get repeater_longitude => 'Dolžina'; + String get repeater_longitude => 'Dolžina'; @override String get repeater_longitudeHelper => 'Desetbinske protiure (npr. -122,4194)'; @override - String get repeater_features => 'Značilnosti'; + String get repeater_features => 'Značilnosti'; @override String get repeater_packetForwarding => 'Usmerjanje paketa'; @override String get repeater_packetForwardingSubtitle => - 'Omogoči ponovitelja za usmerjanje paketov.'; + 'Omogoči ponovitelja za usmerjanje paketov.'; @override String get repeater_guestAccess => 'Prijemnik'; @override String get repeater_guestAccessSubtitle => - 'Omogoči dostop gostom v samo bralni načinu.'; + 'Omogoči dostop gostom v samo bralni načinu.'; @override - String get repeater_privacyMode => 'Privatni način'; + String get repeater_privacyMode => 'Privatni način'; @override String get repeater_privacyModeSubtitle => 'Skrita imena/lokacije v oglasih'; @@ -1998,7 +1996,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_encryptedAdvertInterval => - 'Šifrirana Oglasovalska Trajanje'; + 'Å ifrirana Oglasovalska Trajanje'; @override String get repeater_dangerZone => 'Opozorilo'; @@ -2011,21 +2009,21 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_rebootRepeaterConfirm => - 'Ste prepričani, da želite ponovno zagon tega ponovitelja?'; + 'Ste prepričani, da želite ponovno zagon tega ponovitelja?'; @override - String get repeater_regenerateIdentityKey => 'Ponovite Ključ Identnosti'; + String get repeater_regenerateIdentityKey => 'Ponovite Ključ Identnosti'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Ustvarite novo par javnih/zasebnih ključev'; + 'Ustvarite novo par javnih/zasebnih ključev'; @override String get repeater_regenerateIdentityKeyConfirm => 'To bo ustvaril novo identiteto za ponavljalnik. Prijavite se?'; @override - String get repeater_eraseFileSystem => 'Počisti Sustav Vajah'; + String get repeater_eraseFileSystem => 'Počisti Sustav Vajah'; @override String get repeater_eraseFileSystemSubtitle => @@ -2033,7 +2031,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_eraseFileSystemConfirm => - 'OPOZORILO: To bo izbrisal/a vsa dejstva na ponovilu. To ni mogoče povzvrniti!'; + 'OPOZORILO: To bo izbrisal/a vsa dejstva na ponovilu. To ni mogoče povzvrniti!'; @override String get repeater_eraseSerialOnly => @@ -2046,14 +2044,14 @@ class AppLocalizationsSl extends AppLocalizations { @override String repeater_errorSendingCommand(String error) { - return 'Napaka pri pošiljanju ukaznega: $error'; + return 'Napaka pri poÅ¡iljanju ukaznega: $error'; } @override String get repeater_confirm => 'Potrdit'; @override - String get repeater_settingsSaved => 'Nastavitve so shranjene uspešno.'; + String get repeater_settingsSaved => 'Nastavitve so shranjene uspeÅ¡no.'; @override String repeater_errorSavingSettings(String error) { @@ -2068,7 +2066,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_refreshRadioSettings => 'Ponovno Nastavitve Radija'; @override - String get repeater_refreshTxPower => 'Ponovno nastavi TX moč'; + String get repeater_refreshTxPower => 'Ponovno nastavi TX moč'; @override String get repeater_refreshLocationSettings => @@ -2083,7 +2081,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_refreshPrivacyMode => - 'Ponovno aktiviraj način zasebnosti'; + 'Ponovno aktiviraj način zasebnosti'; @override String get repeater_refreshAdvertisementSettings => @@ -2096,14 +2094,14 @@ class AppLocalizationsSl extends AppLocalizations { @override String repeater_errorRefreshing(String label) { - return 'Napaka pri osveževanju $label'; + return 'Napaka pri osveževanju $label'; } @override String get repeater_cliTitle => 'Ponovitelj CLI'; @override - String get repeater_debugNextCommand => 'Popravi naslednje ukazne možnosti'; + String get repeater_debugNextCommand => 'Popravi naslednje ukazne možnosti'; @override String get repeater_commandHelp => 'Pomoc'; @@ -2113,7 +2111,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_noCommandsSent => - 'Niti ena ukazne povratne informacije še ni poslana.'; + 'Niti ena ukazne povratne informacije Å¡e ni poslana.'; @override String get repeater_typeCommandOrUseQuick => @@ -2123,7 +2121,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_enterCommandHint => 'Vnesite ukaz...'; @override - String get repeater_previousCommand => 'Prejšnji ukaz'; + String get repeater_previousCommand => 'PrejÅ¡nji ukaz'; @override String get repeater_nextCommand => 'Naslednja ukazna'; @@ -2152,7 +2150,7 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_cliQuickNeighbors => 'Sosedi'; @override - String get repeater_cliQuickVersion => 'Različica'; + String get repeater_cliQuickVersion => 'Različica'; @override String get repeater_cliQuickAdvertise => 'Oglasite'; @@ -2161,14 +2159,14 @@ class AppLocalizationsSl extends AppLocalizations { String get repeater_cliQuickClock => 'Ura'; @override - String get repeater_cliHelpAdvert => 'Pošlje paket oglasov'; + String get repeater_cliHelpAdvert => 'PoÅ¡lje paket oglasov'; @override String get repeater_cliHelpReboot => 'Ponastavi naprave. (Opomba, lahko pride do \'Timeouta\', kar je normalno)'; @override - String get repeater_cliHelpClock => 'Prikaže trenutno uro po uri naprave.'; + String get repeater_cliHelpClock => 'Prikaže trenutno uro po uri naprave.'; @override String get repeater_cliHelpPassword => @@ -2176,65 +2174,65 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpVersion => - 'Prikaže različico naprave in datum izrabe strojne opreme.'; + 'Prikaže različico naprave in datum izrabe strojne opreme.'; @override String get repeater_cliHelpClearStats => - 'Ponastavi različne statistične števke na nič.'; + 'Ponastavi različne statistične Å¡tevke na nič.'; @override - String get repeater_cliHelpSetAf => 'Nastavi časovni koeficient.'; + String get repeater_cliHelpSetAf => 'Nastavi časovni koeficient.'; @override String get repeater_cliHelpSetTx => - 'Nastavi moč LoRa oddajanja v dBm. (za ponovni zagon za uporabo)'; + 'Nastavi moč LoRa oddajanja v dBm. (za ponovni zagon za uporabo)'; @override String get repeater_cliHelpSetRepeat => - 'Omogoči ali onemogoči vlogo ponovitelja za tono.'; + 'Omogoči ali onemogoči vlogo ponovitelja za tono.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Osebni strežnik) Če je \'vklopljeno\', potem bo dovoljeno prijavo z praznim geslom, vendar ne bo mogoče objaviti v sobo. (samo branje).'; + '(Osebni strežnik) ÄŒe je \'vklopljeno\', potem bo dovoljeno prijavo z praznim geslom, vendar ne bo mogoče objaviti v sobo. (samo branje).'; @override String get repeater_cliHelpSetFloodMax => - 'Nastavi največjo število skokov za vstopne poplave (če je >= maks, paket ni usmerjen)'; + 'Nastavi največjo Å¡tevilo skokov za vstopne poplave (če je >= maks, paket ni usmerjen)'; @override String get repeater_cliHelpSetIntThresh => - 'Nastavi Prag Interferencij (v dB). Privzeto je 14. Nastavi na 0 za onemogočitev zaznavanja interferenc kanalov.'; + 'Nastavi Prag Interferencij (v dB). Privzeto je 14. Nastavi na 0 za onemogočitev zaznavanja interferenc kanalov.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Nastavi časovno razdaljo za ponovni zagon nadzornika Avtomatske uteži. Nastavi na 0 za onemogočanje.'; + 'Nastavi časovno razdaljo za ponovni zagon nadzornika Avtomatske uteži. Nastavi na 0 za onemogočanje.'; @override String get repeater_cliHelpSetMultiAcks => - 'Omogoči ali onemogoči funkcijo \"dvojakih potrdil\".'; + 'Omogoči ali onemogoči funkcijo \"dvojakih potrdil\".'; @override String get repeater_cliHelpSetAdvertInterval => - 'Nastavi časovno obmesto v minutah za pošiljanje lokalnega (brezposrednega) napovednega paketa. Nastavi na 0 za onemogočiti.'; + 'Nastavi časovno obmesto v minutah za poÅ¡iljanje lokalnega (brezposrednega) napovednega paketa. Nastavi na 0 za onemogočiti.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Nastavi časovno obmesto v urah za pošiljanje plovilnega oglasnega paketa. Nastavi na 0 za onemogočanje.'; + 'Nastavi časovno obmesto v urah za poÅ¡iljanje plovilnega oglasnega paketa. Nastavi na 0 za onemogočanje.'; @override String get repeater_cliHelpSetGuestPassword => - 'Nastavi/posodobi geslo gosta. (za ponovitve lahko gostov prijavi pošiljajo zahtevo \"Get Stats\")'; + 'Nastavi/posodobi geslo gosta. (za ponovitve lahko gostov prijavi poÅ¡iljajo zahtevo \"Get Stats\")'; @override String get repeater_cliHelpSetName => 'Nastavi ime oglasnika.'; @override String get repeater_cliHelpSetLat => - 'Nastavi zemljepisno širino oglaševalskega zemljevida (desetdeljne).'; + 'Nastavi zemljepisno Å¡irino oglaÅ¡evalskega zemljevida (desetdeljne).'; @override String get repeater_cliHelpSetLon => - 'Nastavi zemljevidno širino oglasnika. (desetdelne stopnje)'; + 'Nastavi zemljevidno Å¡irino oglasnika. (desetdelne stopnje)'; @override String get repeater_cliHelpSetRadio => @@ -2242,18 +2240,18 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpSetRxDelay => - 'Nastavitve (eksperimentalne) osnova (mora biti > 1 za učinkovanje) za uporabo rahle zakasnitve prejetih paketov, glede na moč signala/rezultat. Nastavite na 0 za onemogočanje.'; + 'Nastavitve (eksperimentalne) osnova (mora biti > 1 za učinkovanje) za uporabo rahle zakasnitve prejetih paketov, glede na moč signala/rezultat. Nastavite na 0 za onemogočanje.'; @override String get repeater_cliHelpSetTxDelay => - 'Nastavi faktor, ki se množi s časom delovanja za paket v načinu poplavnega režima in z randomiziranim sistemom slotov, da odvrne njegovo posredovanje. (da se zmanjša verjetnost kolizij)'; + 'Nastavi faktor, ki se množi s časom delovanja za paket v načinu poplavnega režima in z randomiziranim sistemom slotov, da odvrne njegovo posredovanje. (da se zmanjÅ¡a verjetnost kolizij)'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Ima podobno vrednost kot txdelay, vendar jo lahko uporabite za dodajanje naknadnega zamika pri posredovanju paketov v režimu neposredne prevodi.'; + 'Ima podobno vrednost kot txdelay, vendar jo lahko uporabite za dodajanje naknadnega zamika pri posredovanju paketov v režimu neposredne prevodi.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Omogoči/Preklopi most.'; + String get repeater_cliHelpSetBridgeEnabled => 'Omogoči/Preklopi most.'; @override String get repeater_cliHelpSetBridgeDelay => @@ -2273,39 +2271,39 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpSetAdcMultiplier => - 'Nastavi prilagoditev faktorja za prilagoditev poravnalnega napetosti baterije (podprt le na izbranih ploščah).'; + 'Nastavi prilagoditev faktorja za prilagoditev poravnalnega napetosti baterije (podprt le na izbranih ploščah).'; @override String get repeater_cliHelpTempRadio => - 'Nastavi začasne radio parametre za določeno časovno obdobje, kar po preteku časa vrne originalne radio parametre. (ne shranjuje v preferencije).'; + 'Nastavi začasne radio parametre za določeno časovno obdobje, kar po preteku časa vrne originalne radio parametre. (ne shranjuje v preferencije).'; @override String get repeater_cliHelpSetPerm => - 'Modificira ACL. Odstrani ustrezen vnos (po predponi pubkeyja), če je \"permissions\" enako nič. Dodaja nov vnos, če je pubkey-hex v celoti in trenutno ni v ACL. Posodobi vnos po ustreznem predponi pubkeyja. Bitje dovoljenj se razlikuje glede na firmware vlogo, vendar so prvi dve bitki: 0 (Gost), 1 (Lezenje samo), 2 (Lezenje in pisanje), 3 (Administrator).'; + 'Modificira ACL. Odstrani ustrezen vnos (po predponi pubkeyja), če je \"permissions\" enako nič. Dodaja nov vnos, če je pubkey-hex v celoti in trenutno ni v ACL. Posodobi vnos po ustreznem predponi pubkeyja. Bitje dovoljenj se razlikuje glede na firmware vlogo, vendar so prvi dve bitki: 0 (Gost), 1 (Lezenje samo), 2 (Lezenje in pisanje), 3 (Administrator).'; @override String get repeater_cliHelpGetBridgeType => - 'Dobrodošli pri izbiri vrste mostu: brez, rs232, espnow'; + 'DobrodoÅ¡li pri izbiri vrste mostu: brez, rs232, espnow'; @override String get repeater_cliHelpLogStart => - 'Začnete beleženje paketov v datotekovni sistem.'; + 'Začnete beleženje paketov v datotekovni sistem.'; @override String get repeater_cliHelpLogStop => - 'Ustavite beleženje paketov v datotečno sistem.'; + 'Ustavite beleženje paketov v datotečno sistem.'; @override String get repeater_cliHelpLogErase => - 'Izbriše pakete zapisov iz datotek sistema.'; + 'IzbriÅ¡e pakete zapisov iz datotek sistema.'; @override String get repeater_cliHelpNeighbors => - 'Prikaže seznam drugih ponovnih knopov, do katerih je prišlo preko brezposrednih oglasov. Vsaka vrstica je id-prefix-hex:timestamp:snr-times-4'; + 'Prikaže seznam drugih ponovnih knopov, do katerih je priÅ¡lo preko brezposrednih oglasov. Vsaka vrstica je id-prefix-hex:timestamp:snr-times-4'; @override String get repeater_cliHelpNeighborRemove => - 'Izbriše prvo ustreznu postavko (po predpomnilku pubkey (heks),) iz seznama sosedov.'; + 'IzbriÅ¡e prvo ustreznu postavko (po predpomnilku pubkey (heks),) iz seznama sosedov.'; @override String get repeater_cliHelpRegion => @@ -2313,11 +2311,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpRegionLoad => - 'Opomba: to je posebna več ukazna pozivna operacija. Vsak naslednji ukaz je ime regije (z lezijami za prikaz hierarhije, z enim ustvarjenim razmislom). Zaključena s pošiljanjem praznega reda/ukaza.'; + 'Opomba: to je posebna več ukazna pozivna operacija. Vsak naslednji ukaz je ime regije (z lezijami za prikaz hierarhije, z enim ustvarjenim razmislom). Zaključena s poÅ¡iljanjem praznega reda/ukaza.'; @override String get repeater_cliHelpRegionGet => - 'Išče regijo s podanimi imenimi prefiksom (ali \"\\\" za globalni obseg). Odgovori se s \"-> regija-ime (rodič-ime) \'F\'\"'; + 'Išče regijo s podanimi imenimi prefiksom (ali \"\\\" za globalni obseg). Odgovori se s \"-> regija-ime (rodič-ime) \'F\'\"'; @override String get repeater_cliHelpRegionPut => @@ -2325,7 +2323,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpRegionRemove => - 'Izbriše definicijo regije s podanim imenom. (mora se popolnoma ujemati in ne sme imeti podregij)'; + 'IzbriÅ¡e definicijo regije s podanim imenom. (mora se popolnoma ujemati in ne sme imeti podregij)'; @override String get repeater_cliHelpRegionAllowf => @@ -2333,11 +2331,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpRegionDenyf => - 'Odstrani dovoljenje \'F\'lood\' za podano regijo. (OPOZORILO: na tem koraku ni priporočljivo ga uporabljati na globalnem/dednem obsegu!!)'; + 'Odstrani dovoljenje \'F\'lood\' za podano regijo. (OPOZORILO: na tem koraku ni priporočljivo ga uporabljati na globalnem/dednem obsegu!!)'; @override String get repeater_cliHelpRegionHome => - 'Odgovori z trenutnim \'domovim\' območjem. (Opomba je bila še nujno uporabljena, rezervirano za prihodnost)'; + 'Odgovori z trenutnim \'domovim\' območjem. (Opomba je bila Å¡e nujno uporabljena, rezervirano za prihodnost)'; @override String get repeater_cliHelpRegionHomeSet => 'Nastavi regijo \'domov\'.'; @@ -2348,36 +2346,37 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_cliHelpGps => - 'Pokaže status GPS-ja. Če je GPS izklopljen, odgovarja samo \"off\", če je vklopljen, odgovarja z \"on\", statusom, \"fix\" in štetjem satelitiv.'; + 'Pokaže status GPS-ja. ÄŒe je GPS izklopljen, odgovarja samo \"off\", če je vklopljen, odgovarja z \"on\", statusom, \"fix\" in Å¡tetjem satelitiv.'; @override - String get repeater_cliHelpGpsOnOff => 'Omogoči/onameni GPS način delovanja.'; + String get repeater_cliHelpGpsOnOff => + 'Omogoči/onameni GPS način delovanja.'; @override String get repeater_cliHelpGpsSync => - 'Sinhronizira čas časa ničala z gps uro.'; + 'Sinhronizira čas časa ničala z gps uro.'; @override String get repeater_cliHelpGpsSetLoc => - 'Nastavi položaj časa na GPS koordinate in shranjevanje preferencij.'; + 'Nastavi položaj časa na GPS koordinate in shranjevanje preferencij.'; @override String get repeater_cliHelpGpsAdvert => - 'Omogoča konfiguracijo oglasi za notranjost člana:\n- none: ne vključevati lokacije v oglasih\n- share: deliti gps lokacijo (iz SensorManager)\n- prefs: oglaševati lokacijo shranjeno v preferencah'; + 'Omogoča konfiguracijo oglasi za notranjost člana:\n- none: ne vključevati lokacije v oglasih\n- share: deliti gps lokacijo (iz SensorManager)\n- prefs: oglaÅ¡evati lokacijo shranjeno v preferencah'; @override String get repeater_cliHelpGpsAdvertSet => - 'Nastavi konfiguracijo oglasa na določenem mestu.'; + 'Nastavi konfiguracijo oglasa na določenem mestu.'; @override String get repeater_commandsListTitle => 'Seznam ukazov'; @override String get repeater_commandsListNote => - 'Opomba: za različne ukaze \"nastavi ...\" obstaja tudi ukaz \"dobi ...\".'; + 'Opomba: za različne ukaze \"nastavi ...\" obstaja tudi ukaz \"dobi ...\".'; @override - String get repeater_general => 'Općenito'; + String get repeater_general => 'Općenito'; @override String get repeater_settingsCategory => 'Nastavitve'; @@ -2404,17 +2403,17 @@ class AppLocalizationsSl extends AppLocalizations { @override String get repeater_gpsNote => - 'GPS ukaz je bil uveden za upravljanje z vprašanji, povezanimi z lokacijo.'; + 'GPS ukaz je bil uveden za upravljanje z vpraÅ¡anji, povezanimi z lokacijo.'; @override - String get telemetry_receivedData => 'Prejeto Telemetrično podatke'; + String get telemetry_receivedData => 'Prejeto Telemetrično podatke'; @override String get telemetry_requestTimeout => 'Zahtev telemetrije je iztekla.'; @override String telemetry_errorLoading(String error) { - return 'Napaka pri obnašanju telemetrije: $error'; + return 'Napaka pri obnaÅ¡anju telemetrije: $error'; } @override @@ -2457,7 +2456,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override @@ -2469,7 +2468,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String neighbors_errorLoading(String error) { - return 'Napaka pri obnašanju sosedov: $error'; + return 'Napaka pri obnaÅ¡anju sosedov: $error'; } @override @@ -2485,14 +2484,14 @@ class AppLocalizationsSl extends AppLocalizations { @override String neighbors_heardAgo(String time) { - return 'Udeleženec je prejel sporočilo $time nazaj.'; + return 'Udeleženec je prejel sporočilo $time nazaj.'; } @override String get channelPath_title => 'Pot do paketa'; @override - String get channelPath_viewMap => 'Prikaži zemljeznico'; + String get channelPath_viewMap => 'Prikaži zemljeznico'; @override String get channelPath_otherObservedPaths => 'Drugi opazovani poti'; @@ -2505,10 +2504,10 @@ class AppLocalizationsSl extends AppLocalizations { 'Podrobnosti o paketu za dostavo niso navedene.'; @override - String get channelPath_messageDetails => 'Podrobnosti sporočila'; + String get channelPath_messageDetails => 'Podrobnosti sporočila'; @override - String get channelPath_senderLabel => 'Pošiljatelj'; + String get channelPath_senderLabel => 'PoÅ¡iljatelj'; @override String get channelPath_timeLabel => 'Ura'; @@ -2526,11 +2525,11 @@ class AppLocalizationsSl extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Opazovana pot $index • $hops'; + return 'Opazovana pot $index • $hops'; } @override - String get channelPath_noLocationData => 'Nihče ni določil lokacije.'; + String get channelPath_noLocationData => 'Nihče ni določil lokacije.'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2581,7 +2580,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override @@ -2602,14 +2601,14 @@ class AppLocalizationsSl extends AppLocalizations { 'Ustvari novo skupnost in jo deli preko QR kode.'; @override - String get community_join => 'Pridružiti se'; + String get community_join => 'Pridružiti se'; @override - String get community_joinTitle => 'Pridružite se skupnosti'; + String get community_joinTitle => 'Pridružite se skupnosti'; @override String community_joinConfirmation(String name) { - return 'Želiš se pridružiti skupnosti \"$name\"?'; + return 'ŽeliÅ¡ se pridružiti skupnosti \"$name\"?'; } @override @@ -2620,7 +2619,7 @@ class AppLocalizationsSl extends AppLocalizations { 'Nasmerite kamero s skupnostnim QR kodom.'; @override - String get community_showQr => 'Pokaži QR kodo'; + String get community_showQr => 'Pokaži QR kodo'; @override String get community_publicChannel => 'Skupnostna javna'; @@ -2649,22 +2648,22 @@ class AppLocalizationsSl extends AppLocalizations { @override String community_qrInstructions(String name) { - return 'Skenirajte to QR kodo za vključitev $name.'; + return 'Skenirajte to QR kodo za vključitev $name.'; } @override String get community_hashtagPrivacyHint => - 'Hashtag kanali skupnosti so dostopni samo članom skupnosti'; + 'Hashtag kanali skupnosti so dostopni samo članom skupnosti'; @override String get community_invalidQrCode => 'Neveljaven QR koden skupnosti'; @override - String get community_alreadyMember => 'Že član'; + String get community_alreadyMember => 'Že član'; @override String community_alreadyMemberMessage(String name) { - return 'Kljub temu ste že član/ka $name.'; + return 'Kljub temu ste že član/ka $name.'; } @override @@ -2675,11 +2674,12 @@ class AppLocalizationsSl extends AppLocalizations { 'Samodejno dodaj javni kanal za to skupnost.'; @override - String get community_noCommunities => 'Še nobena skupnost se ni pridružila.'; + String get community_noCommunities => + 'Å e nobena skupnost se ni pridružila.'; @override String get community_scanOrCreate => - 'Skeniraj QR kodo ali ustvari skupnost za začetek.'; + 'Skeniraj QR kodo ali ustvari skupnost za začetek.'; @override String get community_manageCommunities => 'Upravljanje skupnosti'; @@ -2694,7 +2694,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String community_deleteChannelsWarning(int count) { - return 'To bo izbrisalo tudi $count kanal/kanalov in njihova sporočila.'; + return 'To bo izbrisalo tudi $count kanal/kanalov in njihova sporočila.'; } @override @@ -2707,7 +2707,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String community_regenerateSecretConfirm(String name) { - return 'Preberite novo tajno geslo za \"$name\"? Vsi članici morajo prebrati novo QR kodo, da lahko nadaljujejo s komunikacijo.'; + return 'Preberite novo tajno geslo za \"$name\"? Vsi članici morajo prebrati novo QR kodo, da lahko nadaljujejo s komunikacijo.'; } @override @@ -2719,7 +2719,7 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get community_updateSecret => 'Ažuriraj ključ'; + String get community_updateSecret => 'Ažuriraj ključ'; @override String community_secretUpdated(String name) { @@ -2728,7 +2728,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String community_scanToUpdateSecret(String name) { - return 'Skeniraj novo QR kodo za posodabljanje ključa za $name'; + return 'Skeniraj novo QR kodo za posodabljanje ključa za $name'; } @override @@ -2753,7 +2753,7 @@ class AppLocalizationsSl extends AppLocalizations { @override String get community_communityHashtagDesc => - 'Izključeno za uporabnike skupnosti'; + 'Izključeno za uporabnike skupnosti'; @override String community_forCommunity(String name) { @@ -2761,16 +2761,16 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get listFilter_tooltip => 'Filtri in vrstiči'; + String get listFilter_tooltip => 'Filtri in vrstiči'; @override String get listFilter_sortBy => 'Sortiraj po'; @override - String get listFilter_latestMessages => 'Najnovejše sporočilo'; + String get listFilter_latestMessages => 'NajnovejÅ¡e sporočilo'; @override - String get listFilter_heardRecently => 'Nedavno slišan'; + String get listFilter_heardRecently => 'Nedavno sliÅ¡an'; @override String get listFilter_az => 'A-Z'; @@ -2815,17 +2815,18 @@ class AppLocalizationsSl extends AppLocalizations { String get pathTrace_notAvailable => 'Potni sled ni na voljo.'; @override - String get pathTrace_refreshTooltip => 'Osveži Path Trace.'; + String get pathTrace_refreshTooltip => 'Osveži Path Trace.'; @override String get pathTrace_someHopsNoLocation => - 'Ena ali več hmelju manjka lokacija!'; + 'Ena ali več hmelju manjka lokacija!'; @override - String get pathTrace_clearTooltip => 'Počisti pot'; + String get pathTrace_clearTooltip => 'Počisti pot'; @override - String get losSelectStartEnd => 'Izberite začetno in končno vozlišče za LOS.'; + String get losSelectStartEnd => + 'Izberite začetno in končno vozlišče za LOS.'; @override String losRunFailed(String error) { @@ -2833,24 +2834,24 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get losClearAllPoints => 'Počisti vse točke'; + String get losClearAllPoints => 'Počisti vse točke'; @override String get losRunToViewElevationProfile => - 'Zaženite LOS za ogled višinskega profila'; + 'Zaženite LOS za ogled viÅ¡inskega profila'; @override String get losMenuTitle => 'LOS meni'; @override String get losMenuSubtitle => - 'Tapnite vozlišča ali dolgo pritisnite na zemljevid za točke po meri'; + 'Tapnite vozlišča ali dolgo pritisnite na zemljevid za točke po meri'; @override - String get losShowDisplayNodes => 'Pokaži prikazna vozlišča'; + String get losShowDisplayNodes => 'Pokaži prikazna vozlišča'; @override - String get losCustomPoints => 'Točke po meri'; + String get losCustomPoints => 'Točke po meri'; @override String losCustomPointLabel(int index) { @@ -2858,10 +2859,10 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get losPointA => 'Točka A'; + String get losPointA => 'Točka A'; @override - String get losPointB => 'Točka B'; + String get losPointB => 'Točka B'; @override String losAntennaA(String value, String unit) { @@ -2874,10 +2875,10 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get losRun => 'Zaženi LOS'; + String get losRun => 'Zaženi LOS'; @override - String get losNoElevationData => 'Ni podatkov o višini'; + String get losNoElevationData => 'Ni podatkov o viÅ¡ini'; @override String losProfileClear( @@ -2886,7 +2887,7 @@ class AppLocalizationsSl extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, čisti LOS, najmanjša razdalja $clearance $heightUnit'; + return '$distance $distanceUnit, čisti LOS, najmanjÅ¡a razdalja $clearance $heightUnit'; } @override @@ -2912,27 +2913,27 @@ class AppLocalizationsSl extends AppLocalizations { @override String get losErrorElevationUnavailable => - 'Podatki o nadmorski višini niso na voljo za enega ali več vzorcev.'; + 'Podatki o nadmorski viÅ¡ini niso na voljo za enega ali več vzorcev.'; @override String get losErrorInvalidInput => - 'Neveljavni podatki o točkah/višini za izračun LOS.'; + 'Neveljavni podatki o točkah/viÅ¡ini za izračun LOS.'; @override - String get losRenameCustomPoint => 'Preimenujte točko po meri'; + String get losRenameCustomPoint => 'Preimenujte točko po meri'; @override - String get losPointName => 'Ime točke'; + String get losPointName => 'Ime točke'; @override - String get losShowPanelTooltip => 'Pokaži ploščo LOS'; + String get losShowPanelTooltip => 'Pokaži ploščo LOS'; @override - String get losHidePanelTooltip => 'Skrij ploščo LOS'; + String get losHidePanelTooltip => 'Skrij ploščo LOS'; @override String get losElevationAttribution => - 'Podatki o višini: Open-Meteo (CC BY 4.0)'; + 'Podatki o viÅ¡ini: Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Radijski horizont'; @@ -2947,10 +2948,10 @@ class AppLocalizationsSl extends AppLocalizations { String get losFrequencyLabel => 'Frekvenca'; @override - String get losFrequencyInfoTooltip => 'Prikaži podrobnosti izračuna'; + String get losFrequencyInfoTooltip => 'Prikaži podrobnosti izračuna'; @override - String get losFrequencyDialogTitle => 'Izračun radijskega horizonta'; + String get losFrequencyDialogTitle => 'Izračun radijskega horizonta'; @override String losFrequencyDialogDescription( @@ -2959,7 +2960,7 @@ class AppLocalizationsSl extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Začenši od k=$baselineK pri $baselineFreq MHz, izračun prilagodi k-faktor za trenutni pas $frequencyMHz MHz, ki določa ukrivljeno zgornjo mejo radijskega horizonta.'; + return 'ZačenÅ¡i od k=$baselineK pri $baselineFreq MHz, izračun prilagodi k-faktor za trenutni pas $frequencyMHz MHz, ki določa ukrivljeno zgornjo mejo radijskega horizonta.'; } @override @@ -2975,13 +2976,13 @@ class AppLocalizationsSl extends AppLocalizations { String get contacts_repeaterPing => 'Pinguj ponavljalnik'; @override - String get contacts_roomPathTrace => 'Sledenje poti do strežnika sobe'; + String get contacts_roomPathTrace => 'Sledenje poti do strežnika sobe'; @override - String get contacts_roomPing => 'Ping strežnik sobe'; + String get contacts_roomPing => 'Ping strežnik sobe'; @override - String get contacts_chatTraceRoute => 'Slediti poti žarkov'; + String get contacts_chatTraceRoute => 'Slediti poti žarkov'; @override String contacts_pathTraceTo(String name) { @@ -2989,31 +2990,31 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get contacts_clipboardEmpty => 'Odložišče je prazno.'; + String get contacts_clipboardEmpty => 'Odložišče je prazno.'; @override String get contacts_invalidAdvertFormat => 'Neveljavni kontaktne podatke'; @override - String get contacts_contactImported => 'Kontakt je bil uvožen.'; + String get contacts_contactImported => 'Kontakt je bil uvožen.'; @override - String get contacts_contactImportFailed => 'Kontakt ni bil uspešno uvožen.'; + String get contacts_contactImportFailed => 'Kontakt ni bil uspeÅ¡no uvožen.'; @override String get contacts_zeroHopAdvert => 'Reklama brez posrednikov'; @override - String get contacts_floodAdvert => 'Poplavna oglás'; + String get contacts_floodAdvert => 'Poplavna oglás'; @override - String get contacts_copyAdvertToClipboard => 'Kopiraj oglas v odložišče'; + String get contacts_copyAdvertToClipboard => 'Kopiraj oglas v odložišče'; @override - String get contacts_addContactFromClipboard => 'Dodaj stik iz odložišča'; + String get contacts_addContactFromClipboard => 'Dodaj stik iz odložišča'; @override - String get contacts_ShareContact => 'Kopiraj stik v Odložišče'; + String get contacts_ShareContact => 'Kopiraj stik v Odložišče'; @override String get contacts_ShareContactZeroHop => 'Deliti kontakt prek oglasa'; @@ -3023,15 +3024,15 @@ class AppLocalizationsSl extends AppLocalizations { @override String get contacts_zeroHopContactAdvertFailed => - 'Pošiljanje kontakta ni uspelo.'; + 'PoÅ¡iljanje kontakta ni uspelo.'; @override String get contacts_contactAdvertCopied => - 'Oglas je bil kopiran v odložišče.'; + 'Oglas je bil kopiran v odložišče.'; @override String get contacts_contactAdvertCopyFailed => - 'Kopiranje oglasa v odložišče je spodletelo.'; + 'Kopiranje oglasa v odložišče je spodletelo.'; @override String get notification_activityTitle => 'Aktivnost MeshCore'; @@ -3041,10 +3042,10 @@ class AppLocalizationsSl extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'sporočil', - few: 'sporočila', - two: 'sporočili', - one: 'sporočilo', + other: 'sporočil', + few: 'sporočila', + two: 'sporočili', + one: 'sporočilo', ); return '$count $_temp0'; } @@ -3054,10 +3055,10 @@ class AppLocalizationsSl extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'sporočil kanala', - few: 'sporočila kanala', - two: 'sporočili kanala', - one: 'sporočilo kanala', + other: 'sporočil kanala', + few: 'sporočila kanala', + two: 'sporočili kanala', + one: 'sporočilo kanala', ); return '$count $_temp0'; } @@ -3067,10 +3068,10 @@ class AppLocalizationsSl extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'novih vozlišč', - few: 'nova vozlišča', - two: 'novi vozlišči', - one: 'novo vozlišče', + other: 'novih vozlišč', + few: 'nova vozlišča', + two: 'novi vozlišči', + one: 'novo vozlišče', ); return '$count $_temp0'; } @@ -3081,15 +3082,15 @@ class AppLocalizationsSl extends AppLocalizations { } @override - String get notification_receivedNewMessage => 'Prejeto novo sporočilo'; + String get notification_receivedNewMessage => 'Prejeto novo sporočilo'; @override String get settings_gpxExportRepeaters => - 'Izvoz ponoviteljev / strežnika sobe v GPX'; + 'Izvoz ponoviteljev / strežnika sobe v GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.'; + 'Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.'; @override String get settings_gpxExportContacts => 'Izvoz spremljevalcev v GPX'; @@ -3106,21 +3107,21 @@ class AppLocalizationsSl extends AppLocalizations { 'Izvozi vse kontakte z lokacijo v datoteko GPX.'; @override - String get settings_gpxExportSuccess => 'Uspešno izvoz GPX datoteke.'; + String get settings_gpxExportSuccess => 'UspeÅ¡no izvoz GPX datoteke.'; @override String get settings_gpxExportNoContacts => 'Ni stikov za izvoz.'; @override String get settings_gpxExportNotAvailable => - 'Ni podprto na vašem napravi/operacijskem sistemu'; + 'Ni podprto na vaÅ¡em napravi/operacijskem sistemu'; @override - String get settings_gpxExportError => 'Pri izvozu je prišlo do napake.'; + String get settings_gpxExportError => 'Pri izvozu je priÅ¡lo do napake.'; @override String get settings_gpxExportRepeatersRoom => - 'Lokacije ponovljivca in strežnika sobe'; + 'Lokacije ponovljivca in strežnika sobe'; @override String get settings_gpxExportChat => 'Lokacije spremljevalcev'; @@ -3130,15 +3131,15 @@ class AppLocalizationsSl extends AppLocalizations { @override String get settings_gpxExportShareText => - 'Podatki kart izvoženi iz meshcore-open'; + 'Podatki kart izvoženi iz meshcore-open'; @override String get settings_gpxExportShareSubject => 'meshcore-open izvoz podatkov GPX karte'; @override - String get snrIndicator_nearByRepeaters => 'Bližnji ponovitelji'; + String get snrIndicator_nearByRepeaters => 'Bližnji ponovitelji'; @override - String get snrIndicator_lastSeen => 'Zadnjič videno'; + String get snrIndicator_lastSeen => 'Zadnjič videno'; } diff --git a/lib/l10n/app_localizations_sv.dart b/lib/l10n/app_localizations_sv.dart index 9bfc64d..3fab6c2 100644 --- a/lib/l10n/app_localizations_sv.dart +++ b/lib/l10n/app_localizations_sv.dart @@ -30,7 +30,7 @@ class AppLocalizationsSv extends AppLocalizations { String get common_connect => 'Anslut'; @override - String get common_unknownDevice => 'Okänd enhet'; + String get common_unknownDevice => 'Okänd enhet'; @override String get common_save => 'Spara'; @@ -39,19 +39,19 @@ class AppLocalizationsSv extends AppLocalizations { String get common_delete => 'Radera'; @override - String get common_close => 'Stänga'; + String get common_close => 'Stänga'; @override String get common_edit => 'Redigera'; @override - String get common_add => 'Lägg till'; + String get common_add => 'Lägg till'; @override - String get common_settings => 'Inställningar'; + String get common_settings => 'Inställningar'; @override - String get common_disconnect => 'Koppla från'; + String get common_disconnect => 'Koppla frÃ¥n'; @override String get common_connected => 'Ansluten'; @@ -63,7 +63,7 @@ class AppLocalizationsSv extends AppLocalizations { String get common_create => 'Skapa'; @override - String get common_continue => 'Fortsätt'; + String get common_continue => 'Fortsätt'; @override String get common_share => 'Dela'; @@ -72,10 +72,10 @@ class AppLocalizationsSv extends AppLocalizations { String get common_copy => 'Kopiera'; @override - String get common_retry => 'Försök igen'; + String get common_retry => 'Försök igen'; @override - String get common_hide => 'Dölj'; + String get common_hide => 'Dölj'; @override String get common_remove => 'Ta bort'; @@ -93,7 +93,7 @@ class AppLocalizationsSv extends AppLocalizations { String get common_loading => 'Laddar...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -108,13 +108,6 @@ class AppLocalizationsSv extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Välj din anslutningsmetod'; - - @override - String get connectionChoiceSubtitle => - 'Välj hur du vill komma åt din MeshCore-enhet.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -126,21 +119,21 @@ class AppLocalizationsSv extends AppLocalizations { @override String get usbScreenSubtitle => - 'Välj en detekterad seriell enhet och anslut direkt till din MeshCore-nod.'; + 'Välj en detekterad seriell enhet och anslut direkt till din MeshCore-nod.'; @override - String get usbScreenStatus => 'Välj en USB-enhet'; + String get usbScreenStatus => 'Välj en USB-enhet'; @override String get usbScreenNote => - 'USB-seriell kommunikation är aktiv på kompatibla Android-enheter och datorplattformar.'; + 'USB-seriell kommunikation är aktiv pÃ¥ kompatibla Android-enheter och datorplattformar.'; @override String get usbScreenEmptyState => 'Inga USB-enheter hittades. Anslut en och uppdatera.'; @override - String get scanner_scanning => 'Söker efter enheter...'; + String get scanner_scanning => 'Söker efter enheter...'; @override String get scanner_connecting => 'Anslutning...'; @@ -157,10 +150,11 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get scanner_searchingDevices => 'Söker efter MeshCore-enheter...'; + String get scanner_searchingDevices => 'Söker efter MeshCore-enheter...'; @override - String get scanner_tapToScan => 'Tryck Skanna för att hitta MeshCore-enheter'; + String get scanner_tapToScan => + 'Tryck Skanna för att hitta MeshCore-enheter'; @override String scanner_connectionFailed(String error) { @@ -174,43 +168,43 @@ class AppLocalizationsSv extends AppLocalizations { String get scanner_scan => 'Skanna'; @override - String get scanner_bluetoothOff => 'Bluetooth är avstängt'; + String get scanner_bluetoothOff => 'Bluetooth är avstängt'; @override String get scanner_bluetoothOffMessage => - 'Vänligen aktivera Bluetooth för att söka efter enheter.'; + 'Vänligen aktivera Bluetooth för att söka efter enheter.'; @override - String get scanner_chromeRequired => 'Chrome-webbläsare krävs'; + String get scanner_chromeRequired => 'Chrome-webbläsare krävs'; @override String get scanner_chromeRequiredMessage => - 'Denna webbapplikation kräver Google Chrome oder en Chromium-baserader webbläsare för Bluetooth-stöd.'; + 'Denna webbapplikation kräver Google Chrome oder en Chromium-baserader webbläsare för Bluetooth-stöd.'; @override String get scanner_enableBluetooth => 'Aktivera Bluetooth'; @override - String get device_quickSwitch => 'Snabb växling'; + String get device_quickSwitch => 'Snabb växling'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Inställningar'; + String get settings_title => 'Inställningar'; @override String get settings_deviceInfo => 'Enhetens information'; @override - String get settings_appSettings => 'Appinställningar'; + String get settings_appSettings => 'Appinställningar'; @override String get settings_appSettingsSubtitle => - 'Meddelanden, notiser och kartinställningar'; + 'Meddelanden, notiser och kartinställningar'; @override - String get settings_nodeSettings => 'Nodinställningar'; + String get settings_nodeSettings => 'Nodinställningar'; @override String get settings_nodeName => 'Nodnamn'; @@ -225,7 +219,7 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_nodeNameUpdated => 'Namn uppdaterat'; @override - String get settings_radioSettings => 'Radioinställningar'; + String get settings_radioSettings => 'Radioinställningar'; @override String get settings_radioSettingsSubtitle => @@ -233,7 +227,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get settings_radioSettingsUpdated => - 'Radioinställningarna har uppdaterats'; + 'Radioinställningarna har uppdaterats'; @override String get settings_location => 'Plats'; @@ -245,7 +239,8 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_locationUpdated => 'Plats uppdaterad'; @override - String get settings_locationBothRequired => 'Ange både latitud och longitud.'; + String get settings_locationBothRequired => + 'Ange bÃ¥de latitud och longitud.'; @override String get settings_locationInvalid => 'Ogiltig latitud eller longitud.'; @@ -255,45 +250,45 @@ class AppLocalizationsSv extends AppLocalizations { @override String get settings_locationGPSEnableSubtitle => - 'Aktivera automatiska uppdateringar av platsen med hjälp av GPS.'; + 'Aktivera automatiska uppdateringar av platsen med hjälp av GPS.'; @override - String get settings_locationIntervalSec => 'Interval för GPS (Sekunder)'; + String get settings_locationIntervalSec => 'Interval för GPS (Sekunder)'; @override String get settings_locationIntervalInvalid => - 'Intervalet måste vara minst 60 sekunder och mindre än 86400 sekunder.'; + 'Intervalet mÃ¥ste vara minst 60 sekunder och mindre än 86400 sekunder.'; @override String get settings_latitude => 'Latitud'; @override - String get settings_longitude => 'Längdgrad'; + String get settings_longitude => 'Längdgrad'; @override - String get settings_privacyMode => 'Privatläge'; + String get settings_privacyMode => 'Privatläge'; @override - String get settings_privacyModeSubtitle => 'Dölj namn/plats i annonser'; + String get settings_privacyModeSubtitle => 'Dölj namn/plats i annonser'; @override String get settings_privacyModeToggle => - 'Aktivera privatläge för att dölja ditt namn och din plats i annonser.'; + 'Aktivera privatläge för att dölja ditt namn och din plats i annonser.'; @override - String get settings_privacyModeEnabled => 'Privatläget är aktiverat'; + String get settings_privacyModeEnabled => 'Privatläget är aktiverat'; @override - String get settings_privacyModeDisabled => 'Privatläge är avstängt'; + String get settings_privacyModeDisabled => 'Privatläge är avstängt'; @override - String get settings_actions => 'Åtgärder'; + String get settings_actions => 'Ã…tgärder'; @override String get settings_sendAdvertisement => 'Skicka Annons'; @override - String get settings_sendAdvertisementSubtitle => 'Sändning finns nu'; + String get settings_sendAdvertisementSubtitle => 'Sändning finns nu'; @override String get settings_advertisementSent => 'Annons skickad'; @@ -302,7 +297,7 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_syncTime => 'Synkroniseringstid'; @override - String get settings_syncTimeSubtitle => 'Ställ enheten till telefonens tid'; + String get settings_syncTimeSubtitle => 'Ställ enheten till telefonens tid'; @override String get settings_timeSynchronized => 'Tidssynkroniserat'; @@ -312,7 +307,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get settings_refreshContactsSubtitle => - 'Ladda om kontaktlistan från enheten'; + 'Ladda om kontaktlistan frÃ¥n enheten'; @override String get settings_rebootDevice => 'Starta om enheten'; @@ -322,23 +317,23 @@ class AppLocalizationsSv extends AppLocalizations { @override String get settings_rebootDeviceConfirm => - 'Är du säker på att du vill starta om enheten? Du kommer att bli avkopplad.'; + 'Är du säker pÃ¥ att du vill starta om enheten? Du kommer att bli avkopplad.'; @override - String get settings_debug => 'Felsök'; + String get settings_debug => 'Felsök'; @override - String get settings_bleDebugLog => 'BLE-felsökning'; + String get settings_bleDebugLog => 'BLE-felsökning'; @override - String get settings_bleDebugLogSubtitle => 'BLE-kommandon, svar och rådata'; + String get settings_bleDebugLogSubtitle => 'BLE-kommandon, svar och rÃ¥data'; @override - String get settings_appDebugLog => 'Appfelsökning'; + String get settings_appDebugLog => 'Appfelsökning'; @override String get settings_appDebugLogSubtitle => - 'Applikations felsökningsmeddelanden'; + 'Applikations felsökningsmeddelanden'; @override String get settings_about => 'Om'; @@ -349,15 +344,15 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get settings_aboutLegalese => '2024 MeshCore Öppen Källkodsprojekt'; + String get settings_aboutLegalese => '2024 MeshCore Öppen Källkodsprojekt'; @override String get settings_aboutDescription => - 'En öppen källkods Flutter-klient för MeshCore LoRa meshnätverksenheter.'; + 'En öppen källkods Flutter-klient för MeshCore LoRa meshnätverksenheter.'; @override String get settings_aboutOpenMeteoAttribution => - 'LOS-höjddata: Open-Meteo (CC BY 4.0)'; + 'LOS-höjddata: Open-Meteo (CC BY 4.0)'; @override String get settings_infoName => 'Namn'; @@ -372,7 +367,7 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_infoBattery => 'Batteri'; @override - String get settings_infoPublicKey => 'Allmänt nyckel'; + String get settings_infoPublicKey => 'Allmänt nyckel'; @override String get settings_infoContactsCount => 'Kontakterantal'; @@ -381,7 +376,7 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_infoChannelCount => 'Kanalantal'; @override - String get settings_presets => 'Fördefinierade inställningar'; + String get settings_presets => 'Fördefinierade inställningar'; @override String get settings_frequency => 'Frekvens (MHz)'; @@ -411,15 +406,15 @@ class AppLocalizationsSv extends AppLocalizations { String get settings_txPowerInvalid => 'Ogiltig TX-effekt (0-22 dBm)'; @override - String get settings_clientRepeat => 'Upprepa utan elnät'; + String get settings_clientRepeat => 'Upprepa utan elnät'; @override String get settings_clientRepeatSubtitle => - 'Låt enheten repetera nätpaket för andra användare.'; + 'LÃ¥t enheten repetera nätpaket för andra användare.'; @override String get settings_clientRepeatFreqWarning => - 'För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz.'; + 'För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz.'; @override String settings_error(String message) { @@ -427,7 +422,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get appSettings_title => 'Appinställningar'; + String get appSettings_title => 'Appinställningar'; @override String get appSettings_appearance => 'Utseende'; @@ -442,10 +437,10 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_themeLight => 'Ljus'; @override - String get appSettings_themeDark => 'Mörk'; + String get appSettings_themeDark => 'Mörk'; @override - String get appSettings_language => 'Språk'; + String get appSettings_language => 'SprÃ¥k'; @override String get appSettings_languageSystem => 'Systemstandard'; @@ -454,10 +449,10 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -466,16 +461,16 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -484,10 +479,10 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override String get appSettings_languageRu => 'Ryska'; @@ -496,11 +491,11 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_languageUk => 'Ukrainska'; @override - String get appSettings_enableMessageTracing => 'Aktivera meddelandespårning'; + String get appSettings_enableMessageTracing => 'Aktivera meddelandespÃ¥rning'; @override String get appSettings_enableMessageTracingSubtitle => - 'Visa detaljerade metadata om dirigering och tidsinställningar för meddelanden'; + 'Visa detaljerade metadata om dirigering och tidsinställningar för meddelanden'; @override String get appSettings_notifications => 'Meddelanden'; @@ -510,71 +505,71 @@ class AppLocalizationsSv extends AppLocalizations { @override String get appSettings_enableNotificationsSubtitle => - 'Ta emot notiser för meddelanden och reklam'; + 'Ta emot notiser för meddelanden och reklam'; @override String get appSettings_notificationPermissionDenied => - 'Tillåtelse för notifikationer nekad'; + 'TillÃ¥telse för notifikationer nekad'; @override String get appSettings_notificationsEnabled => 'Notifikationer aktiverade'; @override - String get appSettings_notificationsDisabled => 'Meddelanden är avstängda'; + String get appSettings_notificationsDisabled => 'Meddelanden är avstängda'; @override String get appSettings_messageNotifications => 'Meddelandekrav'; @override String get appSettings_messageNotificationsSubtitle => - 'Visa notis när nya meddelanden tas emot'; + 'Visa notis när nya meddelanden tas emot'; @override String get appSettings_channelMessageNotifications => 'Kanalmeddelandena'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Visa notis när meddelanden i kanal mottas'; + 'Visa notis när meddelanden i kanal mottas'; @override String get appSettings_advertisementNotifications => 'Annonsmeddelanden'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Visa notis när nya noder upptäcks'; + 'Visa notis när nya noder upptäcks'; @override String get appSettings_messaging => 'Meddelanden'; @override - String get appSettings_clearPathOnMaxRetry => 'Rensa Vägen på Max Försök'; + String get appSettings_clearPathOnMaxRetry => 'Rensa Vägen pÃ¥ Max Försök'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Återställ kontaktväg efter 5 misslyckade försök att skicka'; + 'Ã…terställ kontaktväg efter 5 misslyckade försök att skicka'; @override String get appSettings_pathsWillBeCleared => - 'Sökvägar kommer att tömmas efter 5 misslyckade försök.'; + 'Sökvägar kommer att tömmas efter 5 misslyckade försök.'; @override String get appSettings_pathsWillNotBeCleared => - 'Sökvägar kommer inte att rensas automatiskt.'; + 'Sökvägar kommer inte att rensas automatiskt.'; @override - String get appSettings_autoRouteRotation => 'Automatisk Rutväxling'; + String get appSettings_autoRouteRotation => 'Automatisk Rutväxling'; @override String get appSettings_autoRouteRotationSubtitle => - 'Blixtra mellan bästa vägar och flödesläge'; + 'Blixtra mellan bästa vägar och flödesläge'; @override String get appSettings_autoRouteRotationEnabled => - 'Automatisk ruttrotation är aktiverad'; + 'Automatisk ruttrotation är aktiverad'; @override String get appSettings_autoRouteRotationDisabled => - 'Automatisk ruttrotation är avstängd'; + 'Automatisk ruttrotation är avstängd'; @override String get appSettings_battery => 'Batteri'; @@ -584,18 +579,18 @@ class AppLocalizationsSv extends AppLocalizations { @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Ställ in per enhet ($deviceName)'; + return 'Ställ in per enhet ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Anslut till en enhet för att välja'; + 'Anslut till en enhet för att välja'; @override String get appSettings_batteryNmc => '18650 NMC (3.0-4.2V)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65V)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6–3,65V)'; @override String get appSettings_batteryLipo => 'LiPo (3.0-4.2V)'; @@ -604,24 +599,24 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_mapDisplay => 'Kartvisning'; @override - String get appSettings_showRepeaters => 'Visa återuppslag'; + String get appSettings_showRepeaters => 'Visa Ã¥teruppslag'; @override String get appSettings_showRepeatersSubtitle => - 'Visa återspelsnoder på kartan'; + 'Visa Ã¥terspelsnoder pÃ¥ kartan'; @override String get appSettings_showChatNodes => 'Visa Chattnoder'; @override - String get appSettings_showChatNodesSubtitle => 'Visa chattnoder på kartan'; + String get appSettings_showChatNodesSubtitle => 'Visa chattnoder pÃ¥ kartan'; @override String get appSettings_showOtherNodes => 'Visa andra noder'; @override String get appSettings_showOtherNodesSubtitle => - 'Visa andra nodtyper på kartan'; + 'Visa andra nodtyper pÃ¥ kartan'; @override String get appSettings_timeFilter => 'Tidsfilter'; @@ -631,7 +626,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String appSettings_timeFilterShowLast(int hours) { - return 'Visa noder från de senaste $hours timmarna'; + return 'Visa noder frÃ¥n de senaste $hours timmarna'; } @override @@ -639,7 +634,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get appSettings_showNodesDiscoveredWithin => - 'Visa noder som upptäckts inom:'; + 'Visa noder som upptäckts inom:'; @override String get appSettings_allTime => 'Totalen'; @@ -654,7 +649,7 @@ class AppLocalizationsSv extends AppLocalizations { String get appSettings_last24Hours => 'De senaste 24 timmarna'; @override - String get appSettings_lastWeek => 'Förra veckan'; + String get appSettings_lastWeek => 'Förra veckan'; @override String get appSettings_offlineMapCache => 'Offline Kartcache'; @@ -673,70 +668,70 @@ class AppLocalizationsSv extends AppLocalizations { @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Område markerat (zoom $minZoom-$maxZoom)'; + return 'OmrÃ¥de markerat (zoom $minZoom-$maxZoom)'; } @override - String get appSettings_debugCard => 'Felsök'; + String get appSettings_debugCard => 'Felsök'; @override - String get appSettings_appDebugLogging => 'App-felsökning och loggning'; + String get appSettings_appDebugLogging => 'App-felsökning och loggning'; @override String get appSettings_appDebugLoggingSubtitle => - 'Logga appens felsökningsmeddelanden för felsökning'; + 'Logga appens felsökningsmeddelanden för felsökning'; @override String get appSettings_appDebugLoggingEnabled => - 'App felsökning loggning aktiverad'; + 'App felsökning loggning aktiverad'; @override String get appSettings_appDebugLoggingDisabled => - 'App felsökning är avstängd'; + 'App felsökning är avstängd'; @override String get contacts_title => 'Kontakter'; @override - String get contacts_noContacts => 'Inga kontakter ännu'; + String get contacts_noContacts => 'Inga kontakter ännu'; @override String get contacts_contactsWillAppear => - 'Kontakter kommer att visas när enheter annonserar.'; + 'Kontakter kommer att visas när enheter annonserar.'; @override - String get contacts_unread => 'Oläst'; + String get contacts_unread => 'Oläst'; @override - String get contacts_searchContactsNoNumber => 'Sök kontakter...'; + String get contacts_searchContactsNoNumber => 'Sök kontakter...'; @override String contacts_searchContacts(int number, String str) { - return 'Sök kontakter...'; + return 'Sök kontakter...'; } @override String contacts_searchFavorites(int number, String str) { - return 'Sök $number$str Favoriter...'; + return 'Sök $number$str Favoriter...'; } @override String contacts_searchUsers(int number, String str) { - return 'Sök $number$str användare...'; + return 'Sök $number$str användare...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Sök $number$str upprepningsenheter...'; + return 'Sök $number$str upprepningsenheter...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Sök $number$str Room-servrar...'; + return 'Sök $number$str Room-servrar...'; } @override - String get contacts_noUnreadContacts => 'Inga oinlästa kontakter'; + String get contacts_noUnreadContacts => 'Inga oinlästa kontakter'; @override String get contacts_noContactsFound => @@ -747,7 +742,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String contacts_removeConfirm(String contactName) { - return 'Ta bort $contactName från kontakter?'; + return 'Ta bort $contactName frÃ¥n kontakter?'; } @override @@ -760,7 +755,7 @@ class AppLocalizationsSv extends AppLocalizations { String get contacts_roomLogin => 'Rum Inloggning'; @override - String get contacts_openChat => 'Öppna Chatt'; + String get contacts_openChat => 'Öppna Chatt'; @override String get contacts_editGroup => 'Redigera Grupp'; @@ -780,7 +775,7 @@ class AppLocalizationsSv extends AppLocalizations { String get contacts_groupName => 'Gruppnamn'; @override - String get contacts_groupNameRequired => 'Gruppnamnet är obligatoriskt'; + String get contacts_groupNameRequired => 'Gruppnamnet är obligatoriskt'; @override String contacts_groupAlreadyExists(String name) { @@ -806,7 +801,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get contacts_lastSeenHourAgo => 'Senast sedd för 1 timme sedan'; + String get contacts_lastSeenHourAgo => 'Senast sedd för 1 timme sedan'; @override String contacts_lastSeenHoursAgo(int hours) { @@ -814,7 +809,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get contacts_lastSeenDayAgo => 'Senast sedd för 1 dag sedan'; + String get contacts_lastSeenDayAgo => 'Senast sedd för 1 dag sedan'; @override String contacts_lastSeenDaysAgo(int days) { @@ -828,10 +823,10 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_noChannelsConfigured => 'Inga kanaler konfigurerade'; @override - String get channels_addPublicChannel => 'Lägg till publik kanal'; + String get channels_addPublicChannel => 'Lägg till publik kanal'; @override - String get channels_searchChannels => 'Sök kanaler...'; + String get channels_searchChannels => 'Sök kanaler...'; @override String get channels_noChannelsFound => 'Inga kanaler hittades'; @@ -851,7 +846,7 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_private => 'Privat'; @override - String get channels_publicChannel => 'Allmänt kanal'; + String get channels_publicChannel => 'Allmänt kanal'; @override String get channels_privateChannel => 'Privat kanal'; @@ -863,14 +858,14 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_muteChannel => 'Tysta kanal'; @override - String get channels_unmuteChannel => 'Slå på ljud för kanal'; + String get channels_unmuteChannel => 'SlÃ¥ pÃ¥ ljud för kanal'; @override String get channels_deleteChannel => 'Ta bort kanal'; @override String channels_deleteChannelConfirm(String name) { - return 'Radera \"$name\"? Detta kan inte ångras.'; + return 'Radera \"$name\"? Detta kan inte Ã¥ngras.'; } @override @@ -884,7 +879,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get channels_addChannel => 'Lägg till kanal'; + String get channels_addChannel => 'Lägg till kanal'; @override String get channels_channelIndexLabel => 'Kanalindex'; @@ -893,22 +888,23 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_channelName => 'Kanalnamn'; @override - String get channels_usePublicChannel => 'Använd Publikkanal'; + String get channels_usePublicChannel => 'Använd Publikkanal'; @override - String get channels_standardPublicPsk => 'Standard allmän PSK'; + String get channels_standardPublicPsk => 'Standard allmän PSK'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Generera slumpmässig PSK'; + String get channels_generateRandomPsk => 'Generera slumpmässig PSK'; @override String get channels_enterChannelName => 'Ange en kanalnamn'; @override - String get channels_pskMustBe32Hex => 'PSK måste vara 32 hexadecimala tecken'; + String get channels_pskMustBe32Hex => + 'PSK mÃ¥ste vara 32 hexadecimala tecken'; @override String channels_channelAdded(String name) { @@ -929,7 +925,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get channels_publicChannelAdded => 'Allmänt kanal tillagd'; + String get channels_publicChannelAdded => 'Allmänt kanal tillagd'; @override String get channels_sortBy => 'Sortera efter'; @@ -944,7 +940,7 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_sortLatestMessages => 'Senaste meddelanden'; @override - String get channels_sortUnread => 'Oläst'; + String get channels_sortUnread => 'Oläst'; @override String get channels_createPrivateChannel => 'Skapa en privat kanal'; @@ -954,25 +950,25 @@ class AppLocalizationsSv extends AppLocalizations { 'Skyddat med en hemlig nyckel.'; @override - String get channels_joinPrivateChannel => 'Gå med i en Privat Kanal'; + String get channels_joinPrivateChannel => 'GÃ¥ med i en Privat Kanal'; @override String get channels_joinPrivateChannelDesc => 'Ange en hemlig nyckel manuellt.'; @override - String get channels_joinPublicChannel => 'Gå med i den Offentliga Kanalen'; + String get channels_joinPublicChannel => 'GÃ¥ med i den Offentliga Kanalen'; @override String get channels_joinPublicChannelDesc => - 'Vem som helst kan gå med i denna kanal.'; + 'Vem som helst kan gÃ¥ med i denna kanal.'; @override - String get channels_joinHashtagChannel => 'Gå med i en Hashtagkanal'; + String get channels_joinHashtagChannel => 'GÃ¥ med i en Hashtagkanal'; @override String get channels_joinHashtagChannelDesc => - 'Väldigt enkelt att gå med i hashtag-kanaler.'; + 'Väldigt enkelt att gÃ¥ med i hashtag-kanaler.'; @override String get channels_scanQrCode => 'Skanna en QR-kod'; @@ -987,11 +983,11 @@ class AppLocalizationsSv extends AppLocalizations { String get channels_hashtagHint => 't.ex. #team'; @override - String get chat_noMessages => 'Inga meddelanden ännu'; + String get chat_noMessages => 'Inga meddelanden ännu'; @override String get chat_sendMessageToStart => - 'Skicka ett meddelande för att komma igång'; + 'Skicka ett meddelande för att komma igÃ¥ng'; @override String get chat_originalMessageNotFound => @@ -1020,7 +1016,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String chat_messageTooLong(int maxBytes) { - return 'Meddelandet är för långt (max $maxBytes byte).'; + return 'Meddelandet är för lÃ¥ngt (max $maxBytes byte).'; } @override @@ -1030,11 +1026,11 @@ class AppLocalizationsSv extends AppLocalizations { String get chat_messageDeleted => 'Meddelandet raderat'; @override - String get chat_retryingMessage => 'Försöker igen'; + String get chat_retryingMessage => 'Försöker igen'; @override String chat_retryCount(int current, int max) { - return 'Försök igen $current/$max'; + return 'Försök igen $current/$max'; } @override @@ -1044,7 +1040,7 @@ class AppLocalizationsSv extends AppLocalizations { String get chat_reply => 'Svara'; @override - String get chat_addReaction => 'Lägg till reaktion'; + String get chat_addReaction => 'Lägg till reaktion'; @override String get chat_me => 'Mig'; @@ -1056,16 +1052,16 @@ class AppLocalizationsSv extends AppLocalizations { String get emojiCategoryGestures => 'Gestikuleringar'; @override - String get emojiCategoryHearts => 'Hjärtan'; + String get emojiCategoryHearts => 'Hjärtan'; @override String get emojiCategoryObjects => 'Objekt'; @override - String get gifPicker_title => 'Välj en GIF'; + String get gifPicker_title => 'Välj en GIF'; @override - String get gifPicker_searchHint => 'Sök GIF:ar...'; + String get gifPicker_searchHint => 'Sök GIF:ar...'; @override String get gifPicker_poweredBy => 'Drivet av GIPHY'; @@ -1077,16 +1073,16 @@ class AppLocalizationsSv extends AppLocalizations { String get gifPicker_failedLoad => 'Kunde inte ladda GIF-filer'; @override - String get gifPicker_failedSearch => 'Sökningen misslyckades.'; + String get gifPicker_failedSearch => 'Sökningen misslyckades.'; @override String get gifPicker_noInternet => 'Ingen internetanslutning'; @override - String get debugLog_appTitle => 'Appfelsökning'; + String get debugLog_appTitle => 'Appfelsökning'; @override - String get debugLog_bleTitle => 'BLE-felsökning'; + String get debugLog_bleTitle => 'BLE-felsökning'; @override String get debugLog_copyLog => 'Kopiera logg'; @@ -1095,26 +1091,26 @@ class AppLocalizationsSv extends AppLocalizations { String get debugLog_clearLog => 'Rensa logg'; @override - String get debugLog_copied => 'Felsökningslogg kopierad'; + String get debugLog_copied => 'Felsökningslogg kopierad'; @override String get debugLog_bleCopied => 'BLE-logg kopierad'; @override - String get debugLog_noEntries => 'Inga felsökningsloggar ännu'; + String get debugLog_noEntries => 'Inga felsökningsloggar ännu'; @override String get debugLog_enableInSettings => - 'Aktivera appens felsökningsloggning i inställningarna'; + 'Aktivera appens felsökningsloggning i inställningarna'; @override String get debugLog_frames => 'Rammar'; @override - String get debugLog_rawLogRx => 'Rå Log-RX'; + String get debugLog_rawLogRx => 'RÃ¥ Log-RX'; @override - String get debugLog_noBleActivity => 'Ingen BLE-aktivitet ännu'; + String get debugLog_noBleActivity => 'Ingen BLE-aktivitet ännu'; @override String debugFrame_length(int count) { @@ -1127,16 +1123,16 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get debugFrame_textMessageHeader => 'Textmeddelandefält:'; + String get debugFrame_textMessageHeader => 'Textmeddelandefält:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '– Destination PubKey: $pubKey'; + return '– Destination PubKey: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Tidsstämpel: $timestamp'; + return '- Tidsstämpel: $timestamp'; } @override @@ -1167,24 +1163,24 @@ class AppLocalizationsSv extends AppLocalizations { String get chat_pathManagement => 'Stigarhantering'; @override - String get chat_ShowAllPaths => 'Visa alla vägar'; + String get chat_ShowAllPaths => 'Visa alla vägar'; @override - String get chat_routingMode => 'Ruttläge'; + String get chat_routingMode => 'Ruttläge'; @override - String get chat_autoUseSavedPath => 'Automatisk (använd sparad sökväg)'; + String get chat_autoUseSavedPath => 'Automatisk (använd sparad sökväg)'; @override - String get chat_forceFloodMode => 'Tvinga Översvämningsläge'; + String get chat_forceFloodMode => 'Tvinga Översvämningsläge'; @override String get chat_recentAckPaths => - 'Nyligen Ack-vägar (tryck för att använda):'; + 'Nyligen Ack-vägar (tryck för att använda):'; @override String get chat_pathHistoryFull => - 'Historisk sökväg är full. Ta bort poster för att lägga till nya.'; + 'Historisk sökväg är full. Ta bort poster för att lägga till nya.'; @override String get chat_hopSingular => 'hoppa'; @@ -1204,47 +1200,49 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get chat_successes => 'framgångar'; + String get chat_successes => 'framgÃ¥ngar'; @override - String get chat_removePath => 'Ta bort sökväg'; + String get chat_removePath => 'Ta bort sökväg'; @override String get chat_noPathHistoryYet => - 'Ingen historik ännu.\nSkicka ett meddelande för att upptäcka spår.'; + 'Ingen historik ännu.\nSkicka ett meddelande för att upptäcka spÃ¥r.'; @override String get chat_pathActions => 'Stigar:'; @override - String get chat_setCustomPath => 'Ange anpassad sökväg'; + String get chat_setCustomPath => 'Ange anpassad sökväg'; @override - String get chat_setCustomPathSubtitle => 'Ange ruttväg manuellt'; + String get chat_setCustomPathSubtitle => 'Ange ruttväg manuellt'; @override - String get chat_clearPath => 'Rensa Vägen'; + String get chat_clearPath => 'Rensa Vägen'; @override - String get chat_clearPathSubtitle => 'Tvinga fram omstart vid nästa sändning'; + String get chat_clearPathSubtitle => + 'Tvinga fram omstart vid nästa sändning'; @override String get chat_pathCleared => - 'Routen är nu fri. Nästa meddelande kommer att upptäcka rutten igen.'; + 'Routen är nu fri. Nästa meddelande kommer att upptäcka rutten igen.'; @override - String get chat_floodModeSubtitle => 'Använd routningsomkopplaren i appraden'; + String get chat_floodModeSubtitle => + 'Använd routningsomkopplaren i appraden'; @override String get chat_floodModeEnabled => - 'Översvämningsläge aktiverat. Stäng av via ruttikonen i appraden.'; + 'Översvämningsläge aktiverat. Stäng av via ruttikonen i appraden.'; @override - String get chat_fullPath => 'Fullständig sökväg'; + String get chat_fullPath => 'Fullständig sökväg'; @override String get chat_pathDetailsNotAvailable => - 'Stigaruppgifterna är ännu inte tillgängliga. Försök att skicka ett meddelande för att uppdatera.'; + 'Stigaruppgifterna är ännu inte tillgängliga. Försök att skicka ett meddelande för att uppdatera.'; @override String chat_pathSetHops(int hopCount, String status) { @@ -1254,33 +1252,34 @@ class AppLocalizationsSv extends AppLocalizations { other: 'hoppar', one: 'hopp', ); - return 'Sökväg inställd: $hopCount $_temp0 - $status'; + return 'Sökväg inställd: $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Sparat lokalt. Anslut för att synkronisera.'; + 'Sparat lokalt. Anslut för att synkronisera.'; @override - String get chat_pathDeviceConfirmed => 'Enheten bekräftad.'; + String get chat_pathDeviceConfirmed => 'Enheten bekräftad.'; @override - String get chat_pathDeviceNotConfirmed => 'Enheten har inte bekräftats ännu.'; + String get chat_pathDeviceNotConfirmed => + 'Enheten har inte bekräftats ännu.'; @override String get chat_type => 'Skriv'; @override - String get chat_path => 'Sökväg'; + String get chat_path => 'Sökväg'; @override - String get chat_publicKey => 'Allmänt nyckel'; + String get chat_publicKey => 'Allmänt nyckel'; @override - String get chat_compressOutgoingMessages => 'Kryptera utgående meddelanden'; + String get chat_compressOutgoingMessages => 'Kryptera utgÃ¥ende meddelanden'; @override - String get chat_floodForced => 'Översvämning (tvingad)'; + String get chat_floodForced => 'Översvämning (tvingad)'; @override String get chat_directForced => 'Direkt (tvingad)'; @@ -1291,7 +1290,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get chat_floodAuto => 'Översvämning (auto)'; + String get chat_floodAuto => 'Översvämning (auto)'; @override String get chat_direct => 'Direkt'; @@ -1301,26 +1300,26 @@ class AppLocalizationsSv extends AppLocalizations { @override String chat_unread(int count) { - return 'Olästa: $count'; + return 'Olästa: $count'; } @override - String get chat_openLink => 'Öppna länk?'; + String get chat_openLink => 'Öppna länk?'; @override String get chat_openLinkConfirmation => - 'Vill du öppna den här länken i din webbläsare?'; + 'Vill du öppna den här länken i din webbläsare?'; @override - String get chat_open => 'Öppna'; + String get chat_open => 'Öppna'; @override String chat_couldNotOpenLink(String url) { - return 'Kunde inte öppna länken: $url'; + return 'Kunde inte öppna länken: $url'; } @override - String get chat_invalidLink => 'Ogiltigt länkformat'; + String get chat_invalidLink => 'Ogiltigt länkformat'; @override String get map_title => 'Nodkarta'; @@ -1336,7 +1335,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get map_nodesNeedGps => - 'Noder måste dela sina GPS-koordinater\nför att visas på kartan'; + 'Noder mÃ¥ste dela sina GPS-koordinater\nför att visas pÃ¥ kartan'; @override String map_nodesCount(int count) { @@ -1352,7 +1351,7 @@ class AppLocalizationsSv extends AppLocalizations { String get map_chat => 'Chat'; @override - String get map_repeater => 'Återuppspelare'; + String get map_repeater => 'Ã…teruppspelare'; @override String get map_room => 'Rum'; @@ -1361,35 +1360,35 @@ class AppLocalizationsSv extends AppLocalizations { String get map_sensor => 'Sensor'; @override - String get map_pinDm => 'Lås (DM)'; + String get map_pinDm => 'LÃ¥s (DM)'; @override - String get map_pinPrivate => 'Lås (Privat)'; + String get map_pinPrivate => 'LÃ¥s (Privat)'; @override - String get map_pinPublic => 'Anslå (Offentligt)'; + String get map_pinPublic => 'AnslÃ¥ (Offentligt)'; @override String get map_lastSeen => 'Senast sedd'; @override String get map_disconnectConfirm => - 'Är du säker på att du vill koppla från enheten?'; + 'Är du säker pÃ¥ att du vill koppla frÃ¥n enheten?'; @override - String get map_from => 'Från'; + String get map_from => 'FrÃ¥n'; @override - String get map_source => 'Källa'; + String get map_source => 'Källa'; @override String get map_flags => 'Flaggor'; @override - String get map_shareMarkerHere => 'Dela markeringen här'; + String get map_shareMarkerHere => 'Dela markeringen här'; @override - String get map_pinLabel => 'Fästetikett'; + String get map_pinLabel => 'Fästetikett'; @override String get map_label => 'Etikett'; @@ -1404,19 +1403,19 @@ class AppLocalizationsSv extends AppLocalizations { String get map_sendToChannel => 'Skicka till kanal'; @override - String get map_noChannelsAvailable => 'Inga kanaler tillgängliga'; + String get map_noChannelsAvailable => 'Inga kanaler tillgängliga'; @override String get map_publicLocationShare => 'Dela offentlig plats'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Du håller på att dela en plats i $channelLabel. Denna kanal är offentlig och alla med PSK kan se den.'; + return 'Du hÃ¥ller pÃ¥ att dela en plats i $channelLabel. Denna kanal är offentlig och alla med PSK kan se den.'; } @override String get map_connectToShareMarkers => - 'Anslut till en enhet för att dela markörer'; + 'Anslut till en enhet för att dela markörer'; @override String get map_filterNodes => 'Filtrera noder'; @@ -1440,13 +1439,13 @@ class AppLocalizationsSv extends AppLocalizations { String get map_filterByKeyPrefix => 'Filtrera efter nyckelprefix'; @override - String get map_publicKeyPrefix => 'Allmänt nyckelprästegenskap'; + String get map_publicKeyPrefix => 'Allmänt nyckelprästegenskap'; @override - String get map_markers => 'Markörer'; + String get map_markers => 'Markörer'; @override - String get map_showSharedMarkers => 'Visa delade markörer'; + String get map_showSharedMarkers => 'Visa delade markörer'; @override String get map_lastSeenTime => 'Senaste Visats Tid'; @@ -1455,39 +1454,40 @@ class AppLocalizationsSv extends AppLocalizations { String get map_sharedPin => 'Delad PIN'; @override - String get map_joinRoom => 'Gå med i rum'; + String get map_joinRoom => 'GÃ¥ med i rum'; @override String get map_manageRepeater => 'Hantera Upprepare'; @override - String get map_tapToAdd => 'Tryck på noder för att lägga till dem i banan.'; + String get map_tapToAdd => + 'Tryck pÃ¥ noder för att lägga till dem i banan.'; @override - String get map_runTrace => 'Kör spårsökning'; + String get map_runTrace => 'Kör spÃ¥rsökning'; @override String get map_removeLast => 'Ta bort sista'; @override - String get map_pathTraceCancelled => 'Sökvägsspårning avbruten.'; + String get map_pathTraceCancelled => 'SökvägsspÃ¥rning avbruten.'; @override String get mapCache_title => 'Offline Kartcache'; @override - String get mapCache_selectAreaFirst => 'Välj ett område att cachera först'; + String get mapCache_selectAreaFirst => 'Välj ett omrÃ¥de att cachera först'; @override String get mapCache_noTilesToDownload => - 'Inga kuber att ladda ner för detta område'; + 'Inga kuber att ladda ner för detta omrÃ¥de'; @override String get mapCache_downloadTilesTitle => 'Ladda ner klick'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Ladda ner $count kuber för offlineanvändning?'; + return 'Ladda ner $count kuber för offlineanvändning?'; } @override @@ -1516,13 +1516,13 @@ class AppLocalizationsSv extends AppLocalizations { String get mapCache_noAreaSelected => 'Ingen area markerad'; @override - String get mapCache_cacheArea => 'Cacheområde'; + String get mapCache_cacheArea => 'CacheomrÃ¥de'; @override - String get mapCache_useCurrentView => 'Använd Aktuell Visning'; + String get mapCache_useCurrentView => 'Använd Aktuell Visning'; @override - String get mapCache_zoomRange => 'Zoombegränsning'; + String get mapCache_zoomRange => 'Zoombegränsning'; @override String mapCache_estimatedTiles(int count) { @@ -1592,10 +1592,10 @@ class AppLocalizationsSv extends AppLocalizations { String get time_weeks => 'veckor'; @override - String get time_month => 'månad'; + String get time_month => 'mÃ¥nad'; @override - String get time_months => 'månader'; + String get time_months => 'mÃ¥nader'; @override String get time_minutes => 'minuter'; @@ -1604,60 +1604,60 @@ class AppLocalizationsSv extends AppLocalizations { String get time_allTime => 'Alla tider'; @override - String get dialog_disconnect => 'Koppla från'; + String get dialog_disconnect => 'Koppla frÃ¥n'; @override String get dialog_disconnectConfirm => - 'Är du säker på att du vill koppla från enheten?'; + 'Är du säker pÃ¥ att du vill koppla frÃ¥n enheten?'; @override - String get login_repeaterLogin => 'Återuppta Inloggning'; + String get login_repeaterLogin => 'Ã…teruppta Inloggning'; @override String get login_roomLogin => 'Rum Inloggning'; @override - String get login_password => 'Lösenord'; + String get login_password => 'Lösenord'; @override - String get login_enterPassword => 'Ange lösenord'; + String get login_enterPassword => 'Ange lösenord'; @override - String get login_savePassword => 'Spara lösenord'; + String get login_savePassword => 'Spara lösenord'; @override String get login_savePasswordSubtitle => - 'Lösenord kommer att lagras säkert på enheten.'; + 'Lösenord kommer att lagras säkert pÃ¥ enheten.'; @override String get login_repeaterDescription => - 'Ange återuppspelarens lösenord för att komma åt inställningar och status.'; + 'Ange Ã¥teruppspelarens lösenord för att komma Ã¥t inställningar och status.'; @override String get login_roomDescription => - 'Ange rummets lösenord för att komma åt inställningar och status.'; + 'Ange rummets lösenord för att komma Ã¥t inställningar och status.'; @override String get login_routing => 'Ruttning'; @override - String get login_routingMode => 'Ruttläge'; + String get login_routingMode => 'Ruttläge'; @override - String get login_autoUseSavedPath => 'Automatisk (använd sparad sökväg)'; + String get login_autoUseSavedPath => 'Automatisk (använd sparad sökväg)'; @override - String get login_forceFloodMode => 'Tvinga Översvämningsläge'; + String get login_forceFloodMode => 'Tvinga Översvämningsläge'; @override - String get login_managePaths => 'Hantera Sökvägar'; + String get login_managePaths => 'Hantera Sökvägar'; @override String get login_login => 'Logga in'; @override String login_attempt(int current, int max) { - return 'Försök $current/$max'; + return 'Försök $current/$max'; } @override @@ -1667,7 +1667,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get login_failedMessage => - 'Inloggning misslyckades. Antingen är lösenordet fel eller så går det inte att nå repeatern.'; + 'Inloggning misslyckades. Antingen är lösenordet fel eller sÃ¥ gÃ¥r det inte att nÃ¥ repeatern.'; @override String get common_reload => 'Ladda om'; @@ -1677,7 +1677,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String path_currentPath(String path) { - return 'Nuvarande sökväg: $path'; + return 'Nuvarande sökväg: $path'; } @override @@ -1688,40 +1688,40 @@ class AppLocalizationsSv extends AppLocalizations { other: 'hops', one: 'hop', ); - return 'Använda $count $_temp0 sökväg'; + return 'Använda $count $_temp0 sökväg'; } @override - String get path_enterCustomPath => 'Ange anpassad sökväg'; + String get path_enterCustomPath => 'Ange anpassad sökväg'; @override - String get path_currentPathLabel => 'Nuvarande sökväg'; + String get path_currentPathLabel => 'Nuvarande sökväg'; @override String get path_hexPrefixInstructions => - 'Ange 2-tecknets hex-prefett för varje hopp, åtskilda med komma.'; + 'Ange 2-tecknets hex-prefett för varje hopp, Ã¥tskilda med komma.'; @override String get path_hexPrefixExample => - 'Exempel: A1,F2,3C (varje nod använder det första bytet av sitt publika nyckel)'; + 'Exempel: A1,F2,3C (varje nod använder det första bytet av sitt publika nyckel)'; @override String get path_labelHexPrefixes => 'Hexprefixer'; @override String get path_helperMaxHops => - 'Max 64 hopp. Varje prefix är 2 hex-tecken (1 byte)'; + 'Max 64 hopp. Varje prefix är 2 hex-tecken (1 byte)'; @override - String get path_selectFromContacts => 'Välj istället från kontakter:'; + String get path_selectFromContacts => 'Välj istället frÃ¥n kontakter:'; @override String get path_noRepeatersFound => - 'Inga återuppspelare eller rumsservrar hittades.'; + 'Inga Ã¥teruppspelare eller rumsservrar hittades.'; @override String get path_customPathsRequire => - 'Anpassade sökvägar kräver mellansteg som kan vidarebefordra meddelanden.'; + 'Anpassade sökvägar kräver mellansteg som kan vidarebefordra meddelanden.'; @override String path_invalidHexPrefixes(String prefixes) { @@ -1729,13 +1729,14 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get path_tooLong => 'Sökvägen är för lång. Max 64 hopp tillåtna.'; + String get path_tooLong => + 'Sökvägen är för lÃ¥ng. Max 64 hopp tillÃ¥tna.'; @override - String get path_setPath => 'Ange Sökväg'; + String get path_setPath => 'Ange Sökväg'; @override - String get repeater_management => 'Återuppspelarens Hantering'; + String get repeater_management => 'Ã…teruppspelarens Hantering'; @override String get room_management => 'Rumserverhantering'; @@ -1748,14 +1749,14 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_statusSubtitle => - 'Visa återspolningsstatus, statistik och grannar'; + 'Visa Ã¥terspolningsstatus, statistik och grannar'; @override String get repeater_telemetry => 'Telemetry'; @override String get repeater_telemetrySubtitle => - 'Visa telemetri för sensorer och systemstatistik'; + 'Visa telemetri för sensorer och systemstatistik'; @override String get repeater_cli => 'CLI'; @@ -1770,22 +1771,23 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_neighborsSubtitle => 'Visa noll hoppgrannar.'; @override - String get repeater_settings => 'Inställningar'; + String get repeater_settings => 'Inställningar'; @override - String get repeater_settingsSubtitle => 'Konfigurera återspolarparametrar'; + String get repeater_settingsSubtitle => 'Konfigurera Ã¥terspolarparametrar'; @override - String get repeater_statusTitle => 'Återspelsstatus'; + String get repeater_statusTitle => 'Ã…terspelsstatus'; @override - String get repeater_routingMode => 'Ruttläge'; + String get repeater_routingMode => 'Ruttläge'; @override - String get repeater_autoUseSavedPath => 'Automatisk (använd sparad sökväg)'; + String get repeater_autoUseSavedPath => + 'Automatisk (använd sparad sökväg)'; @override - String get repeater_forceFloodMode => 'Tvinga Översvämningsläge'; + String get repeater_forceFloodMode => 'Tvinga Översvämningsläge'; @override String get repeater_pathManagement => 'Stigarhantering'; @@ -1795,11 +1797,11 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_statusRequestTimeout => - 'Statusförfrågan gick inte att hämta.'; + 'StatusförfrÃ¥gan gick inte att hämta.'; @override String repeater_errorLoadingStatus(String error) { - return 'Fel vid inläsning av status: $error'; + return 'Fel vid inläsning av status: $error'; } @override @@ -1812,13 +1814,13 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_clockAtLogin => 'Klocka (vid inloggning)'; @override - String get repeater_uptime => 'Tillgänglighet'; + String get repeater_uptime => 'Tillgänglighet'; @override - String get repeater_queueLength => 'Köans längd'; + String get repeater_queueLength => 'Köans längd'; @override - String get repeater_debugFlags => 'Felsökningsflaggor'; + String get repeater_debugFlags => 'Felsökningsflaggor'; @override String get repeater_radioStatistics => 'Radiostatistik'; @@ -1830,7 +1832,7 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_lastSnr => 'Sista SNR'; @override - String get repeater_noiseFloor => 'Ljudnivå'; + String get repeater_noiseFloor => 'LjudnivÃ¥'; @override String get repeater_txAirtime => 'TX Airtime'; @@ -1862,17 +1864,17 @@ class AppLocalizationsSv extends AppLocalizations { @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Totalt: $total, Översvämning: $flood, Direkt: $direct'; + return 'Totalt: $total, Översvämning: $flood, Direkt: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Totalt: $total, Översvämning: $flood, Direkt: $direct'; + return 'Totalt: $total, Översvämning: $flood, Direkt: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'Översvämning: $flood, Direkt: $direct'; + return 'Översvämning: $flood, Direkt: $direct'; } @override @@ -1881,31 +1883,32 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get repeater_settingsTitle => 'Återuppspelarens Inställningar'; + String get repeater_settingsTitle => 'Ã…teruppspelarens Inställningar'; @override - String get repeater_basicSettings => 'Grundinställningar'; + String get repeater_basicSettings => 'Grundinställningar'; @override String get repeater_repeaterName => 'Upprepare Namn'; @override - String get repeater_repeaterNameHelper => 'Visa namn för denna återupprepare'; + String get repeater_repeaterNameHelper => + 'Visa namn för denna Ã¥terupprepare'; @override - String get repeater_adminPassword => 'Adminlösenord'; + String get repeater_adminPassword => 'Adminlösenord'; @override - String get repeater_adminPasswordHelper => 'Fullständig åtkomstlösenord'; + String get repeater_adminPasswordHelper => 'Fullständig Ã¥tkomstlösenord'; @override - String get repeater_guestPassword => 'Gästlösenhet'; + String get repeater_guestPassword => 'Gästlösenhet'; @override - String get repeater_guestPasswordHelper => 'Läs-skyddspassord'; + String get repeater_guestPasswordHelper => 'Läs-skyddspassord'; @override - String get repeater_radioSettings => 'Radioinställningar'; + String get repeater_radioSettings => 'Radioinställningar'; @override String get repeater_frequencyMhz => 'Frekvens (MHz)'; @@ -1929,7 +1932,7 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_codingRate => 'Kodningsgrad'; @override - String get repeater_locationSettings => 'Platsinställningar'; + String get repeater_locationSettings => 'Platsinställningar'; @override String get repeater_latitude => 'Latitud'; @@ -1938,7 +1941,7 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_latitudeHelper => 'Decimalgrader (t.ex. 37.7749)'; @override - String get repeater_longitude => 'Längdgrad'; + String get repeater_longitude => 'Längdgrad'; @override String get repeater_longitudeHelper => 'Decimalgrader (t.ex. -122.4194)'; @@ -1947,27 +1950,27 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_features => 'Funktioner'; @override - String get repeater_packetForwarding => 'Paketväxling'; + String get repeater_packetForwarding => 'Paketväxling'; @override String get repeater_packetForwardingSubtitle => - 'Aktivera återuppspelaren för att vidarebefordra paket'; + 'Aktivera Ã¥teruppspelaren för att vidarebefordra paket'; @override - String get repeater_guestAccess => 'Gäståtkomst'; + String get repeater_guestAccess => 'GästÃ¥tkomst'; @override String get repeater_guestAccessSubtitle => - 'Tillåt läsbehörigheter för gäster.'; + 'TillÃ¥t läsbehörigheter för gäster.'; @override - String get repeater_privacyMode => 'Privatläge'; + String get repeater_privacyMode => 'Privatläge'; @override - String get repeater_privacyModeSubtitle => 'Dölj namn/plats i annonser'; + String get repeater_privacyModeSubtitle => 'Dölj namn/plats i annonser'; @override - String get repeater_advertisementSettings => 'Annonsinställningar'; + String get repeater_advertisementSettings => 'Annonsinställningar'; @override String get repeater_localAdvertInterval => 'Lokalt Annonsintervall'; @@ -1979,7 +1982,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_floodAdvertInterval => - 'Översvämnadsannonsens tidsintervall'; + 'Översvämnadsannonsens tidsintervall'; @override String repeater_floodAdvertIntervalHours(int hours) { @@ -1990,17 +1993,17 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_encryptedAdvertInterval => 'Krypterad Annonsintervall'; @override - String get repeater_dangerZone => 'Faraområde'; + String get repeater_dangerZone => 'FaraomrÃ¥de'; @override - String get repeater_rebootRepeater => 'Starta Återuppspelaren'; + String get repeater_rebootRepeater => 'Starta Ã…teruppspelaren'; @override String get repeater_rebootRepeaterSubtitle => 'Starta om repeternheten'; @override String get repeater_rebootRepeaterConfirm => - 'Är du säker på att du vill starta om denna repeater?'; + 'Är du säker pÃ¥ att du vill starta om denna repeater?'; @override String get repeater_regenerateIdentityKey => 'Generera Identitetsknyckel'; @@ -2011,22 +2014,22 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_regenerateIdentityKeyConfirm => - 'Detta kommer att generera en ny identitet för återspelaren. Fortsätta?'; + 'Detta kommer att generera en ny identitet för Ã¥terspelaren. Fortsätta?'; @override String get repeater_eraseFileSystem => 'Radera Filsystem'; @override String get repeater_eraseFileSystemSubtitle => - 'Formatera återspelsfilsystemet'; + 'Formatera Ã¥terspelsfilsystemet'; @override String get repeater_eraseFileSystemConfirm => - 'VARNING: Detta kommer att radera all data på repeatern. Detta kan inte ångras!'; + 'VARNING: Detta kommer att radera all data pÃ¥ repeatern. Detta kan inte Ã¥ngras!'; @override String get repeater_eraseSerialOnly => - 'Rensa är endast tillgängligt via seriell konsol.'; + 'Rensa är endast tillgängligt via seriell konsol.'; @override String repeater_commandSent(String command) { @@ -2039,43 +2042,44 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get repeater_confirm => 'Bekräfta'; + String get repeater_confirm => 'Bekräfta'; @override String get repeater_settingsSaved => - 'Inställningarna sparades framgångsrikt.'; + 'Inställningarna sparades framgÃ¥ngsrikt.'; @override String repeater_errorSavingSettings(String error) { - return 'Fel vid sparande av inställningar: $error'; + return 'Fel vid sparande av inställningar: $error'; } @override String get repeater_refreshBasicSettings => - 'Återställ Grundläggande Inställningar'; + 'Ã…terställ Grundläggande Inställningar'; @override - String get repeater_refreshRadioSettings => 'Återställ Radiosinställningar'; + String get repeater_refreshRadioSettings => + 'Ã…terställ Radiosinställningar'; @override - String get repeater_refreshTxPower => 'Återställ TX-effekt'; + String get repeater_refreshTxPower => 'Ã…terställ TX-effekt'; @override String get repeater_refreshLocationSettings => - 'Uppdatera Lokationsinställningar'; + 'Uppdatera Lokationsinställningar'; @override - String get repeater_refreshPacketForwarding => 'Återställ Paketväxling'; + String get repeater_refreshPacketForwarding => 'Ã…terställ Paketväxling'; @override - String get repeater_refreshGuestAccess => 'Återställ Gäståtkomst'; + String get repeater_refreshGuestAccess => 'Ã…terställ GästÃ¥tkomst'; @override - String get repeater_refreshPrivacyMode => 'Återställ Sekretessläge'; + String get repeater_refreshPrivacyMode => 'Ã…terställ Sekretessläge'; @override String get repeater_refreshAdvertisementSettings => - 'Återställ Annonsinställningar'; + 'Ã…terställ Annonsinställningar'; @override String repeater_refreshed(String label) { @@ -2088,23 +2092,23 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get repeater_cliTitle => 'Återuppspelaren CLI'; + String get repeater_cliTitle => 'Ã…teruppspelaren CLI'; @override - String get repeater_debugNextCommand => 'Felsök Nästa Kommando'; + String get repeater_debugNextCommand => 'Felsök Nästa Kommando'; @override - String get repeater_commandHelp => 'Hjälp'; + String get repeater_commandHelp => 'Hjälp'; @override String get repeater_clearHistory => 'Rensa Historik'; @override - String get repeater_noCommandsSent => 'Inga kommandon skickats ännu'; + String get repeater_noCommandsSent => 'Inga kommandon skickats ännu'; @override String get repeater_typeCommandOrUseQuick => - 'Skriv en kommando nedan eller använd snabba kommandon'; + 'Skriv en kommando nedan eller använd snabba kommandon'; @override String get repeater_enterCommandHint => 'Ange kommando...'; @@ -2113,13 +2117,13 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_previousCommand => 'Tidigare kommando'; @override - String get repeater_nextCommand => 'Nästa kommando'; + String get repeater_nextCommand => 'Nästa kommando'; @override - String get repeater_enterCommandFirst => 'Ange en kommando först'; + String get repeater_enterCommandFirst => 'Ange en kommando först'; @override - String get repeater_cliCommandFrameTitle => 'Kommandofönster'; + String get repeater_cliCommandFrameTitle => 'Kommandofönster'; @override String repeater_cliCommandError(String error) { @@ -2127,13 +2131,13 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get repeater_cliQuickGetName => 'Hämta namn'; + String get repeater_cliQuickGetName => 'Hämta namn'; @override - String get repeater_cliQuickGetRadio => 'Få Radio'; + String get repeater_cliQuickGetRadio => 'FÃ¥ Radio'; @override - String get repeater_cliQuickGetTx => 'Hämta TX'; + String get repeater_cliQuickGetTx => 'Hämta TX'; @override String get repeater_cliQuickNeighbors => 'Grannar'; @@ -2152,14 +2156,14 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_cliHelpReboot => - 'Startar om enheten. (notera, du får kanske \'Timeout\' vilket är normalt)'; + 'Startar om enheten. (notera, du fÃ¥r kanske \'Timeout\' vilket är normalt)'; @override String get repeater_cliHelpClock => 'Visar aktuell tid per enhetens klocka.'; @override String get repeater_cliHelpPassword => - 'Ställer in ett nytt administratörslösenord för enheten.'; + 'Ställer in ett nytt administratörslösenord för enheten.'; @override String get repeater_cliHelpVersion => @@ -2167,34 +2171,34 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_cliHelpClearStats => - 'Återställer olika statistikräknare till noll.'; + 'Ã…terställer olika statistikräknare till noll.'; @override - String get repeater_cliHelpSetAf => 'Ställer in lufttidsfaktor.'; + String get repeater_cliHelpSetAf => 'Ställer in lufttidsfaktor.'; @override String get repeater_cliHelpSetTx => - 'Ställer LoRa-sändningseffekten i dBm. (starta om för att tillämpa)'; + 'Ställer LoRa-sändningseffekten i dBm. (starta om för att tillämpa)'; @override String get repeater_cliHelpSetRepeat => - 'Aktiverar eller inaktiverar återuppspelarens roll för denna nod.'; + 'Aktiverar eller inaktiverar Ã¥teruppspelarens roll för denna nod.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Rumserver) Om \'på\', så tillåts login med tomt lösenord, men kan inte Posta till rummet. (bara läsa).'; + '(Rumserver) Om \'pÃ¥\', sÃ¥ tillÃ¥ts login med tomt lösenord, men kan inte Posta till rummet. (bara läsa).'; @override String get repeater_cliHelpSetFloodMax => - 'Ställer in det maximala antalet hopp för inkommande översvämning (om >= max, skickas inte paketet).'; + 'Ställer in det maximala antalet hopp för inkommande översvämning (om >= max, skickas inte paketet).'; @override String get repeater_cliHelpSetIntThresh => - 'Ställer Interferensgränsen (i dB). Standardvärdet är 14. Ställ in den på 0 för att inaktivera detektion av kanalinterferens.'; + 'Ställer Interferensgränsen (i dB). Standardvärdet är 14. Ställ in den pÃ¥ 0 för att inaktivera detektion av kanalinterferens.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Ställer in intervallet för att återställa Auto Gain-kontrollen. Ställ in till 0 för att inaktivera.'; + 'Ställer in intervallet för att Ã¥terställa Auto Gain-kontrollen. Ställ in till 0 för att inaktivera.'; @override String get repeater_cliHelpSetMultiAcks => @@ -2202,77 +2206,77 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_cliHelpSetAdvertInterval => - 'Ställer in tidsintervallen i minuter för att skicka ett lokalt (utan-hopp) annonseringspaket. Ställs till 0 för att inaktivera.'; + 'Ställer in tidsintervallen i minuter för att skicka ett lokalt (utan-hopp) annonseringspaket. Ställs till 0 för att inaktivera.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Ställer in tidsintervallen i timmar för att skicka ett flödesannonspaket. Ställ in på 0 för att inaktivera.'; + 'Ställer in tidsintervallen i timmar för att skicka ett flödesannonspaket. Ställ in pÃ¥ 0 för att inaktivera.'; @override String get repeater_cliHelpSetGuestPassword => - 'Ställer in/uppdaterar gästlösenordet. (för återvändare kan gästloggar skicka \"Get Stats\"-förfrågan)'; + 'Ställer in/uppdaterar gästlösenordet. (för Ã¥tervändare kan gästloggar skicka \"Get Stats\"-förfrÃ¥gan)'; @override - String get repeater_cliHelpSetName => 'Ställer in annonstexterna namn.'; + String get repeater_cliHelpSetName => 'Ställer in annonstexterna namn.'; @override String get repeater_cliHelpSetLat => - 'Ställer in annonskartans latitud. (decimalgrader)'; + 'Ställer in annonskartans latitud. (decimalgrader)'; @override String get repeater_cliHelpSetLon => - 'Ställer in annonskartans longitud (decimalgrader).'; + 'Ställer in annonskartans longitud (decimalgrader).'; @override String get repeater_cliHelpSetRadio => - 'Ställer helt nya radioparametrar och sparar dem i inställningar. Kräver en \"omstart\" för att tillämpa.'; + 'Ställer helt nya radioparametrar och sparar dem i inställningar. Kräver en \"omstart\" för att tillämpa.'; @override String get repeater_cliHelpSetRxDelay => - 'Ställer (experimentell) basvärde (måste vara > 1 för effekt) för att applicera en liten fördröjning på mottagna paket, baserat på signalstyrka/poäng. Ställ in på 0 för att inaktivera.'; + 'Ställer (experimentell) basvärde (mÃ¥ste vara > 1 för effekt) för att applicera en liten fördröjning pÃ¥ mottagna paket, baserat pÃ¥ signalstyrka/poäng. Ställ in pÃ¥ 0 för att inaktivera.'; @override String get repeater_cliHelpSetTxDelay => - 'Ställer in en faktor som multipliceras med tid på luft för en översvämningsläge-paket och med ett slumpmässigt slot-system för att fördröja dess vidarebefordran (för att minska risken för kollisioner).'; + 'Ställer in en faktor som multipliceras med tid pÃ¥ luft för en översvämningsläge-paket och med ett slumpmässigt slot-system för att fördröja dess vidarebefordran (för att minska risken för kollisioner).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Samma som txdelay, men för att applicera en slumpmässig fördröjning vid vidarebefordran av direktlägespaket.'; + 'Samma som txdelay, men för att applicera en slumpmässig fördröjning vid vidarebefordran av direktlägespaket.'; @override String get repeater_cliHelpSetBridgeEnabled => 'Aktivera/Inaktivera brygga.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Ställ in fördröjning innan paket åter sänder.'; + 'Ställ in fördröjning innan paket Ã¥ter sänder.'; @override String get repeater_cliHelpSetBridgeSource => - 'Välj om bron ska återända mottagna paket eller sända paket.'; + 'Välj om bron ska Ã¥terända mottagna paket eller sända paket.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Ställ baudgränsen för rs232-bryggarna.'; + 'Ställ baudgränsen för rs232-bryggarna.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Ställ bro-hemlighet för espnow-broar.'; + 'Ställ bro-hemlighet för espnow-broar.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Ställer in anpassad faktor för att justera rapporterad batterispänning (endast stödd på utvalda kort).'; + 'Ställer in anpassad faktor för att justera rapporterad batterispänning (endast stödd pÃ¥ utvalda kort).'; @override String get repeater_cliHelpTempRadio => - 'Ställer temporära radioparametrar för det angivna antalet minuter, vilket återgår till de ursprungliga radioparametrarna efteråt. (sparar inte i inställningar).'; + 'Ställer temporära radioparametrar för det angivna antalet minuter, vilket Ã¥tergÃ¥r till de ursprungliga radioparametrarna efterÃ¥t. (sparar inte i inställningar).'; @override String get repeater_cliHelpSetPerm => - 'Modifierar ACL. Tar bort matchande post (genom pubkey-prefiks) om \"permissions\" är noll. Lägger till ny post om pubkey-hex är full längd och inte redan finns i ACL. Uppdaterar posten genom matchande pubkey-prefiks. Tillståndsbiten varierar per firmware-roll, men de låga 2 bitarna är: 0 (Gäst), 1 (endast läsa), 2 (läs- och skrivskydd), 3 (administratör).'; + 'Modifierar ACL. Tar bort matchande post (genom pubkey-prefiks) om \"permissions\" är noll. Lägger till ny post om pubkey-hex är full längd och inte redan finns i ACL. Uppdaterar posten genom matchande pubkey-prefiks. TillstÃ¥ndsbiten varierar per firmware-roll, men de lÃ¥ga 2 bitarna är: 0 (Gäst), 1 (endast läsa), 2 (läs- och skrivskydd), 3 (administratör).'; @override String get repeater_cliHelpGetBridgeType => - 'Får brotyperna ingen, rs232, espnow'; + 'FÃ¥r brotyperna ingen, rs232, espnow'; @override String get repeater_cliHelpLogStart => 'Starta paketloggning till filsystem.'; @@ -2282,50 +2286,50 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_cliHelpLogErase => - 'Raderar pakets loggar från filsystemet.'; + 'Raderar pakets loggar frÃ¥n filsystemet.'; @override String get repeater_cliHelpNeighbors => - 'Visar en lista över andra repeaternoder som hörts via noll-hop-annonser. Varje rad är id-prefix-hex:tidsstämpel:snr-g撮-4'; + 'Visar en lista över andra repeaternoder som hörts via noll-hop-annonser. Varje rad är id-prefix-hex:tidsstämpel:snr-gæ’®-4'; @override String get repeater_cliHelpNeighborRemove => - 'Tar bort det första matchande inlägget (genom pubkey-prefiks (hex)) från grannlistan.'; + 'Tar bort det första matchande inlägget (genom pubkey-prefiks (hex)) frÃ¥n grannlistan.'; @override String get repeater_cliHelpRegion => - '(Serien endast) Listar alla definierade regioner och aktuella översvämningsbehörigheter.'; + '(Serien endast) Listar alla definierade regioner och aktuella översvämningsbehörigheter.'; @override String get repeater_cliHelpRegionLoad => - 'MEDDELANDE: detta är ett specialkommando med flera kommandon. Varje efterföljande kommando är ett regionsnamn (indenterat med blanksteg för att indikera en hierarkisk relation, med minst ett blanksteg). Avslutas genom att skicka en tom rad/kommando.'; + 'MEDDELANDE: detta är ett specialkommando med flera kommandon. Varje efterföljande kommando är ett regionsnamn (indenterat med blanksteg för att indikera en hierarkisk relation, med minst ett blanksteg). Avslutas genom att skicka en tom rad/kommando.'; @override String get repeater_cliHelpRegionGet => - 'Söker efter region med given namnprefiks (eller \"\" för det globala scopet). Svarar med \"-> regionnamn (föräldernamn) \'F\'\"'; + 'Söker efter region med given namnprefiks (eller \"\" för det globala scopet). Svarar med \"-> regionnamn (föräldernamn) \'F\'\"'; @override String get repeater_cliHelpRegionPut => - 'Lägger till eller uppdaterar en regionsdefinition med det angivna namnet.'; + 'Lägger till eller uppdaterar en regionsdefinition med det angivna namnet.'; @override String get repeater_cliHelpRegionRemove => - 'Tar bort en regionsdefinition med det angivna namnet. (måste matcha exakt och inte ha några barnregioner)'; + 'Tar bort en regionsdefinition med det angivna namnet. (mÃ¥ste matcha exakt och inte ha nÃ¥gra barnregioner)'; @override String get repeater_cliHelpRegionAllowf => - 'Ställer \'Flöde\'-behörighet för det angivna området. (\'\' för det globala/gamla scopet)'; + 'Ställer \'Flöde\'-behörighet för det angivna omrÃ¥det. (\'\' för det globala/gamla scopet)'; @override String get repeater_cliHelpRegionDenyf => - 'Tar bort \'F\'lood-behörigheten för det angivna området. (OBS: rekommenderas inte att använda detta i detta skede på den globala/gamla omfattningen!!).'; + 'Tar bort \'F\'lood-behörigheten för det angivna omrÃ¥det. (OBS: rekommenderas inte att använda detta i detta skede pÃ¥ den globala/gamla omfattningen!!).'; @override String get repeater_cliHelpRegionHome => - 'Svarar med den aktuella \'hem\'-regionen. (Notera att detta ännu inte har tillämpats, reserverat för framtida användning).'; + 'Svarar med den aktuella \'hem\'-regionen. (Notera att detta ännu inte har tillämpats, reserverat för framtida användning).'; @override - String get repeater_cliHelpRegionHomeSet => 'Ställer in \'hemregionen\'.'; + String get repeater_cliHelpRegionHomeSet => 'Ställer in \'hemregionen\'.'; @override String get repeater_cliHelpRegionSave => @@ -2333,40 +2337,40 @@ class AppLocalizationsSv extends AppLocalizations { @override String get repeater_cliHelpGps => - 'Visar GPS-status. Om GPS är avstängd svarar den endast med \"av\", annars svarar den med \"på\", status, fix, antal satelliter.'; + 'Visar GPS-status. Om GPS är avstängd svarar den endast med \"av\", annars svarar den med \"pÃ¥\", status, fix, antal satelliter.'; @override String get repeater_cliHelpGpsOnOff => - 'Aktiverar/inaktiverar GPS-strömsättningen.'; + 'Aktiverar/inaktiverar GPS-strömsättningen.'; @override String get repeater_cliHelpGpsSync => - 'Synkroniserar nätverks tid med GPS-klockan.'; + 'Synkroniserar nätverks tid med GPS-klockan.'; @override String get repeater_cliHelpGpsSetLoc => - 'Ställer nodens position till GPS-koordinater och sparar inställningar.'; + 'Ställer nodens position till GPS-koordinater och sparar inställningar.'; @override String get repeater_cliHelpGpsAdvert => - 'Ger platsannonskonfigurationen för noden:\n- ingen: inkludera inte plats i annonser\n- dela: dela gps-plats (från SensorManager)\n- inställningar: annonsera platsen som sparats i inställningar'; + 'Ger platsannonskonfigurationen för noden:\n- ingen: inkludera inte plats i annonser\n- dela: dela gps-plats (frÃ¥n SensorManager)\n- inställningar: annonsera platsen som sparats i inställningar'; @override String get repeater_cliHelpGpsAdvertSet => - 'Ställer in annonsplatskonfiguration.'; + 'Ställer in annonsplatskonfiguration.'; @override - String get repeater_commandsListTitle => 'Inställningslista'; + String get repeater_commandsListTitle => 'Inställningslista'; @override String get repeater_commandsListNote => - 'OBS: för de olika \"set ...\" -kommandon finns det även ett \"get ...\" -kommando.'; + 'OBS: för de olika \"set ...\" -kommandon finns det även ett \"get ...\" -kommando.'; @override - String get repeater_general => 'Allmänt'; + String get repeater_general => 'Allmänt'; @override - String get repeater_settingsCategory => 'Inställningar'; + String get repeater_settingsCategory => 'Inställningar'; @override String get repeater_bridge => 'Bro'; @@ -2375,28 +2379,28 @@ class AppLocalizationsSv extends AppLocalizations { String get repeater_logging => 'Logga'; @override - String get repeater_neighborsRepeaterOnly => 'Grannar (Endast återspelare)'; + String get repeater_neighborsRepeaterOnly => 'Grannar (Endast Ã¥terspelare)'; @override String get repeater_regionManagementRepeaterOnly => - 'Regionhantering (endast återuppspelare)'; + 'Regionhantering (endast Ã¥teruppspelare)'; @override String get repeater_regionNote => - 'Regionkommandon har införts för att hantera regiondefinitioner och behörigheter.'; + 'Regionkommandon har införts för att hantera regiondefinitioner och behörigheter.'; @override String get repeater_gpsManagement => 'GPS Hantering'; @override String get repeater_gpsNote => - 'GPS-kommando har introducerats för att hantera platsrelaterade ämnen.'; + 'GPS-kommando har introducerats för att hantera platsrelaterade ämnen.'; @override String get telemetry_receivedData => 'Mottagen Telemetridata'; @override - String get telemetry_requestTimeout => 'Telemetryförfrågan gick ut.'; + String get telemetry_requestTimeout => 'TelemetryförfrÃ¥gan gick ut.'; @override String telemetry_errorLoading(String error) { @@ -2404,7 +2408,7 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get telemetry_noData => 'Inga telemetridata tillgängliga.'; + String get telemetry_noData => 'Inga telemetridata tillgängliga.'; @override String telemetry_channelTitle(int channel) { @@ -2415,7 +2419,7 @@ class AppLocalizationsSv extends AppLocalizations { String get telemetry_batteryLabel => 'Batteri'; @override - String get telemetry_voltageLabel => 'Spänning'; + String get telemetry_voltageLabel => 'Spänning'; @override String get telemetry_mcuTemperatureLabel => 'MCU Temperatur'; @@ -2443,57 +2447,58 @@ class AppLocalizationsSv extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override String get neighbors_receivedData => 'Mottagna grannars data'; @override - String get neighbors_requestTimedOut => 'Grannar begär tidsinställd utskick.'; + String get neighbors_requestTimedOut => + 'Grannar begär tidsinställd utskick.'; @override String neighbors_errorLoading(String error) { - return 'Fel vid inläsning av grannar: $error'; + return 'Fel vid inläsning av grannar: $error'; } @override String get neighbors_repeatersNeighbors => 'Upprepar grannar'; @override - String get neighbors_noData => 'Inga grannuppgifter finns tillgängliga.'; + String get neighbors_noData => 'Inga grannuppgifter finns tillgängliga.'; @override String neighbors_unknownContact(String pubkey) { - return 'Okänd $pubkey'; + return 'Okänd $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Hördes: $time sedan'; + return 'Hördes: $time sedan'; } @override - String get channelPath_title => 'Paketväg'; + String get channelPath_title => 'Paketväg'; @override String get channelPath_viewMap => 'Visa karta'; @override - String get channelPath_otherObservedPaths => 'Övriga observerade stigar'; + String get channelPath_otherObservedPaths => 'Övriga observerade stigar'; @override - String get channelPath_repeaterHops => 'Återupptagningssteg'; + String get channelPath_repeaterHops => 'Ã…terupptagningssteg'; @override String get channelPath_noHopDetails => - 'Detaljer för denna paket är inte angivna.'; + 'Detaljer för denna paket är inte angivna.'; @override String get channelPath_messageDetails => 'Meddelandets detaljer'; @override - String get channelPath_senderLabel => 'Avsändare'; + String get channelPath_senderLabel => 'Avsändare'; @override String get channelPath_timeLabel => 'Tid'; @@ -2503,7 +2508,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String channelPath_pathLabel(int index) { - return 'Sökväg $index'; + return 'Sökväg $index'; } @override @@ -2511,7 +2516,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String channelPath_observedPathTitle(int index, String hops) { - return 'Observerad bana $index • $hops'; + return 'Observerad bana $index • $hops'; } @override @@ -2528,10 +2533,10 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get channelPath_unknownPath => 'Okänt'; + String get channelPath_unknownPath => 'Okänt'; @override - String get channelPath_floodPath => 'Översvämning'; + String get channelPath_floodPath => 'Översvämning'; @override String get channelPath_directPath => 'Direkt'; @@ -2547,34 +2552,34 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get channelPath_mapTitle => 'Sökvägskarta'; + String get channelPath_mapTitle => 'Sökvägskarta'; @override String get channelPath_noRepeaterLocations => - 'Inga återupprepningsplatser finns tillgängliga för denna väg.'; + 'Inga Ã¥terupprepningsplatser finns tillgängliga för denna väg.'; @override String channelPath_primaryPath(int index) { - return 'Sökväg $index (Primär)'; + return 'Sökväg $index (Primär)'; } @override - String get channelPath_pathLabelTitle => 'Sökväg'; + String get channelPath_pathLabelTitle => 'Sökväg'; @override - String get channelPath_observedPathHeader => 'Observerad Sökväg'; + String get channelPath_observedPathHeader => 'Observerad Sökväg'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Inga hoppdetaljer finns tillgängliga för detta paket.'; + 'Inga hoppdetaljer finns tillgängliga för detta paket.'; @override - String get channelPath_unknownRepeater => 'Okänt Upprepare'; + String get channelPath_unknownRepeater => 'Okänt Upprepare'; @override String get community_title => 'Gemenskap'; @@ -2587,14 +2592,14 @@ class AppLocalizationsSv extends AppLocalizations { 'Skapa en ny gemenskap och dela via QR-kod.'; @override - String get community_join => 'Gå med'; + String get community_join => 'GÃ¥ med'; @override - String get community_joinTitle => 'Gå med i gemenskapen'; + String get community_joinTitle => 'GÃ¥ med i gemenskapen'; @override String community_joinConfirmation(String name) { - return 'Vill du gå med i communityn \"$name\"?'; + return 'Vill du gÃ¥ med i communityn \"$name\"?'; } @override @@ -2608,7 +2613,7 @@ class AppLocalizationsSv extends AppLocalizations { String get community_showQr => 'Visa QR-kod'; @override - String get community_publicChannel => 'Föreningens Offentliga'; + String get community_publicChannel => 'Föreningens Offentliga'; @override String get community_hashtagChannel => 'Community Hashtag'; @@ -2634,58 +2639,58 @@ class AppLocalizationsSv extends AppLocalizations { @override String community_qrInstructions(String name) { - return 'Skanna denna QR-kod för att gå med i \"$name\"'; + return 'Skanna denna QR-kod för att gÃ¥ med i \"$name\"'; } @override String get community_hashtagPrivacyHint => - 'Community-hashtagkanaler kan endast nås av medlemmar i communityn'; + 'Community-hashtagkanaler kan endast nÃ¥s av medlemmar i communityn'; @override String get community_invalidQrCode => 'Ogiltig community QR-kod'; @override - String get community_alreadyMember => 'Är redan medlem'; + String get community_alreadyMember => 'Är redan medlem'; @override String community_alreadyMemberMessage(String name) { - return 'Du är redan medlem av \"$name\".'; + return 'Du är redan medlem av \"$name\".'; } @override String get community_addPublicChannel => - 'Lägg till Gemenskapskanal (Offentlig)'; + 'Lägg till Gemenskapskanal (Offentlig)'; @override String get community_addPublicChannelHint => - 'Lägg automatiskt till den offentliga kanalen för denna community'; + 'Lägg automatiskt till den offentliga kanalen för denna community'; @override - String get community_noCommunities => 'Inga gemenskaper har anslutats ännu'; + String get community_noCommunities => 'Inga gemenskaper har anslutats ännu'; @override String get community_scanOrCreate => - 'Skanna en QR-kod eller skapa en community för att komma igång'; + 'Skanna en QR-kod eller skapa en community för att komma igÃ¥ng'; @override String get community_manageCommunities => 'Hantera Gemenskaper'; @override - String get community_delete => 'Lämna Gemenskap'; + String get community_delete => 'Lämna Gemenskap'; @override String community_deleteConfirm(String name) { - return 'Lämna \"$name\"?'; + return 'Lämna \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return 'Detta kommer också att radera $count kanal/kanaler och deras meddelanden.'; + return 'Detta kommer ocksÃ¥ att radera $count kanal/kanaler och deras meddelanden.'; } @override String community_deleted(String name) { - return 'Lämnade community \"$name\"'; + return 'Lämnade community \"$name\"'; } @override @@ -2693,7 +2698,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String community_regenerateSecretConfirm(String name) { - return 'Regenerera den hemliga nyckeln för \"$name\"? Alla medlemmar måste scanna den nya QR-koden för att fortsätta kommunicera.'; + return 'Regenerera den hemliga nyckeln för \"$name\"? Alla medlemmar mÃ¥ste scanna den nya QR-koden för att fortsätta kommunicera.'; } @override @@ -2701,7 +2706,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String community_secretRegenerated(String name) { - return 'Lösenord återskapad för \"$name\"'; + return 'Lösenord Ã¥terskapad för \"$name\"'; } @override @@ -2709,40 +2714,40 @@ class AppLocalizationsSv extends AppLocalizations { @override String community_secretUpdated(String name) { - return 'Hemlighet uppdaterad för \"$name\"'; + return 'Hemlighet uppdaterad för \"$name\"'; } @override String community_scanToUpdateSecret(String name) { - return 'Skanna den nya QR-koden för att uppdatera hemligheten för \"$name\"'; + return 'Skanna den nya QR-koden för att uppdatera hemligheten för \"$name\"'; } @override - String get community_addHashtagChannel => 'Lägg till Gemenskapens Hashtag'; + String get community_addHashtagChannel => 'Lägg till Gemenskapens Hashtag'; @override String get community_addHashtagChannelDesc => - 'Lägg till en hashtag-kanal för denna community'; + 'Lägg till en hashtag-kanal för denna community'; @override - String get community_selectCommunity => 'Välj Gemenskap'; + String get community_selectCommunity => 'Välj Gemenskap'; @override String get community_regularHashtag => 'Vanlig Hash Tag'; @override String get community_regularHashtagDesc => - 'Offentlig hashtag (alla kan gå med)'; + 'Offentlig hashtag (alla kan gÃ¥ med)'; @override String get community_communityHashtag => 'Community Hashtag'; @override - String get community_communityHashtagDesc => 'Endast för medlemmar'; + String get community_communityHashtagDesc => 'Endast för medlemmar'; @override String community_forCommunity(String name) { - return 'För $name'; + return 'För $name'; } @override @@ -2755,7 +2760,7 @@ class AppLocalizationsSv extends AppLocalizations { String get listFilter_latestMessages => 'Senaste meddelanden'; @override - String get listFilter_heardRecently => 'Hörts nyligen'; + String get listFilter_heardRecently => 'Hörts nyligen'; @override String get listFilter_az => 'A-Z'; @@ -2770,13 +2775,13 @@ class AppLocalizationsSv extends AppLocalizations { String get listFilter_favorites => 'Favoriter'; @override - String get listFilter_addToFavorites => 'Lägg till i favoriter'; + String get listFilter_addToFavorites => 'Lägg till i favoriter'; @override - String get listFilter_removeFromFavorites => 'Ta bort från favoriter'; + String get listFilter_removeFromFavorites => 'Ta bort frÃ¥n favoriter'; @override - String get listFilter_users => 'Användare'; + String get listFilter_users => 'Användare'; @override String get listFilter_repeaters => 'Upprepare'; @@ -2785,7 +2790,7 @@ class AppLocalizationsSv extends AppLocalizations { String get listFilter_roomServers => 'Rumservrar'; @override - String get listFilter_unreadOnly => 'Endast oinlästa'; + String get listFilter_unreadOnly => 'Endast oinlästa'; @override String get listFilter_newGroup => 'Ny grupp'; @@ -2794,10 +2799,10 @@ class AppLocalizationsSv extends AppLocalizations { String get pathTrace_you => 'Du'; @override - String get pathTrace_failed => 'Sökvägsföljning misslyckades.'; + String get pathTrace_failed => 'Sökvägsföljning misslyckades.'; @override - String get pathTrace_notAvailable => 'Path trace ej tillgänglig.'; + String get pathTrace_notAvailable => 'Path trace ej tillgänglig.'; @override String get pathTrace_refreshTooltip => 'Uppdatera Path Trace'; @@ -2807,10 +2812,10 @@ class AppLocalizationsSv extends AppLocalizations { 'En eller flera av humlen saknar en plats!'; @override - String get pathTrace_clearTooltip => 'Rensa väg'; + String get pathTrace_clearTooltip => 'Rensa väg'; @override - String get losSelectStartEnd => 'Välj start- och slutnoder för LOS.'; + String get losSelectStartEnd => 'Välj start- och slutnoder för LOS.'; @override String losRunFailed(String error) { @@ -2821,20 +2826,20 @@ class AppLocalizationsSv extends AppLocalizations { String get losClearAllPoints => 'Rensa alla punkter'; @override - String get losRunToViewElevationProfile => 'Kör LOS för att se höjdprofil'; + String get losRunToViewElevationProfile => 'Kör LOS för att se höjdprofil'; @override String get losMenuTitle => 'LOS-menyn'; @override String get losMenuSubtitle => - 'Tryck på noder eller tryck länge på kartan för anpassade punkter'; + 'Tryck pÃ¥ noder eller tryck länge pÃ¥ kartan för anpassade punkter'; @override String get losShowDisplayNodes => 'Visa displaynoder'; @override - String get losCustomPoints => 'Anpassade poäng'; + String get losCustomPoints => 'Anpassade poäng'; @override String losCustomPointLabel(int index) { @@ -2858,10 +2863,10 @@ class AppLocalizationsSv extends AppLocalizations { } @override - String get losRun => 'Kör LOS'; + String get losRun => 'Kör LOS'; @override - String get losNoElevationData => 'Inga höjddata'; + String get losNoElevationData => 'Inga höjddata'; @override String losProfileClear( @@ -2891,19 +2896,19 @@ class AppLocalizationsSv extends AppLocalizations { @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS: $clear/$total rensa, $blocked blockerad, $unknown okänd'; + return 'LOS: $clear/$total rensa, $blocked blockerad, $unknown okänd'; } @override String get losErrorElevationUnavailable => - 'Höjddata är inte tillgänglig för ett eller flera prover.'; + 'Höjddata är inte tillgänglig för ett eller flera prover.'; @override String get losErrorInvalidInput => - 'Ogiltiga poäng/höjddata för LOS-beräkning.'; + 'Ogiltiga poäng/höjddata för LOS-beräkning.'; @override - String get losRenameCustomPoint => 'Byt namn på anpassad punkt'; + String get losRenameCustomPoint => 'Byt namn pÃ¥ anpassad punkt'; @override String get losPointName => 'Punktnamn'; @@ -2912,10 +2917,10 @@ class AppLocalizationsSv extends AppLocalizations { String get losShowPanelTooltip => 'Visa LOS-panelen'; @override - String get losHidePanelTooltip => 'Dölj LOS-panelen'; + String get losHidePanelTooltip => 'Dölj LOS-panelen'; @override - String get losElevationAttribution => 'Höjddata: Open-Meteo (CC BY 4.0)'; + String get losElevationAttribution => 'Höjddata: Open-Meteo (CC BY 4.0)'; @override String get losLegendRadioHorizon => 'Radiohorisont'; @@ -2924,16 +2929,16 @@ class AppLocalizationsSv extends AppLocalizations { String get losLegendLosBeam => 'Siktlinje'; @override - String get losLegendTerrain => 'Terräng'; + String get losLegendTerrain => 'Terräng'; @override String get losFrequencyLabel => 'Frekvens'; @override - String get losFrequencyInfoTooltip => 'Visa detaljer om beräkningen'; + String get losFrequencyInfoTooltip => 'Visa detaljer om beräkningen'; @override - String get losFrequencyDialogTitle => 'Beräkning av radiohorisonten'; + String get losFrequencyDialogTitle => 'Beräkning av radiohorisonten'; @override String losFrequencyDialogDescription( @@ -2942,7 +2947,7 @@ class AppLocalizationsSv extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Med start från k=$baselineK vid $baselineFreq MHz, justerar beräkningen k-faktorn för det aktuella $frequencyMHz MHz-bandet, som definierar den böjda radiohorisonten.'; + return 'Med start frÃ¥n k=$baselineK vid $baselineFreq MHz, justerar beräkningen k-faktorn för det aktuella $frequencyMHz MHz-bandet, som definierar den böjda radiohorisonten.'; } @override @@ -2952,27 +2957,27 @@ class AppLocalizationsSv extends AppLocalizations { String get contacts_ping => 'Ping'; @override - String get contacts_repeaterPathTrace => 'Vägspårning till repeater'; + String get contacts_repeaterPathTrace => 'VägspÃ¥rning till repeater'; @override String get contacts_repeaterPing => 'Ping-repeater'; @override - String get contacts_roomPathTrace => 'Vägspårning till rumserver'; + String get contacts_roomPathTrace => 'VägspÃ¥rning till rumserver'; @override String get contacts_roomPing => 'Ping rumsserver'; @override - String get contacts_chatTraceRoute => 'Spåra rutt'; + String get contacts_chatTraceRoute => 'SpÃ¥ra rutt'; @override String contacts_pathTraceTo(String name) { - return 'Spåra rutt till $name'; + return 'SpÃ¥ra rutt till $name'; } @override - String get contacts_clipboardEmpty => 'Urklipp är tomt.'; + String get contacts_clipboardEmpty => 'Urklipp är tomt.'; @override String get contacts_invalidAdvertFormat => 'Ogiltiga kontaktuppgifter'; @@ -2987,14 +2992,14 @@ class AppLocalizationsSv extends AppLocalizations { String get contacts_zeroHopAdvert => 'Reklam med nollhopp'; @override - String get contacts_floodAdvert => 'Översvämningsannons'; + String get contacts_floodAdvert => 'Översvämningsannons'; @override String get contacts_copyAdvertToClipboard => 'Kopiera annons till urklipp'; @override String get contacts_addContactFromClipboard => - 'Lägg till kontakt från urklipp'; + 'Lägg till kontakt frÃ¥n urklipp'; @override String get contacts_ShareContact => 'Kopiera kontakt till Urklipp'; @@ -3054,7 +3059,7 @@ class AppLocalizationsSv extends AppLocalizations { @override String notification_newTypeDiscovered(String contactType) { - return 'Ny $contactType upptäckt'; + return 'Ny $contactType upptäckt'; } @override @@ -3069,11 +3074,11 @@ class AppLocalizationsSv extends AppLocalizations { 'Exporterar repeater / roomserver med plats till GPX-fil.'; @override - String get settings_gpxExportContacts => 'Exportera följeslagare till GPX'; + String get settings_gpxExportContacts => 'Exportera följeslagare till GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Exporterar följeslagare med en plats till GPX-fil.'; + 'Exporterar följeslagare med en plats till GPX-fil.'; @override String get settings_gpxExportAll => 'Exportera alla kontakter till GPX'; @@ -3083,39 +3088,40 @@ class AppLocalizationsSv extends AppLocalizations { 'Exporterar alla kontakter med en plats till GPX-fil.'; @override - String get settings_gpxExportSuccess => 'Har exporterat GPX-fil med framgång'; + String get settings_gpxExportSuccess => + 'Har exporterat GPX-fil med framgÃ¥ng'; @override String get settings_gpxExportNoContacts => 'Inga kontakter att exportera.'; @override String get settings_gpxExportNotAvailable => - 'Stöds inte på din enhet/operativsystem'; + 'Stöds inte pÃ¥ din enhet/operativsystem'; @override String get settings_gpxExportError => - 'Det uppstod ett fel när data exporterades.'; + 'Det uppstod ett fel när data exporterades.'; @override String get settings_gpxExportRepeatersRoom => 'Repeater- och rumsserverplatser'; @override - String get settings_gpxExportChat => 'Medhjälparplatser'; + String get settings_gpxExportChat => 'Medhjälparplatser'; @override String get settings_gpxExportAllContacts => 'Alla kontakters platser'; @override String get settings_gpxExportShareText => - 'Kartdata exporterad från meshcore-open'; + 'Kartdata exporterad frÃ¥n meshcore-open'; @override String get settings_gpxExportShareSubject => 'meshcore-open export av GPX-kartdata'; @override - String get snrIndicator_nearByRepeaters => 'Närliggande uppreparstationer'; + String get snrIndicator_nearByRepeaters => 'Närliggande uppreparstationer'; @override String get snrIndicator_lastSeen => 'Senast sedd'; diff --git a/lib/l10n/app_localizations_uk.dart b/lib/l10n/app_localizations_uk.dart index 08c2c0f..1a70aa2 100644 --- a/lib/l10n/app_localizations_uk.dart +++ b/lib/l10n/app_localizations_uk.dart @@ -12,92 +12,92 @@ class AppLocalizationsUk extends AppLocalizations { String get appTitle => 'MeshCore Open'; @override - String get nav_contacts => 'Контакти'; + String get nav_contacts => 'Контакти'; @override - String get nav_channels => 'Канали'; + String get nav_channels => 'Канали'; @override - String get nav_map => 'Карта'; + String get nav_map => 'Карта'; @override - String get common_cancel => 'Скасувати'; + String get common_cancel => 'Скасувати'; @override - String get common_ok => 'ОК'; + String get common_ok => 'ОК'; @override - String get common_connect => 'Підключити'; + String get common_connect => 'Підключити'; @override - String get common_unknownDevice => 'Невідомий пристрій'; + String get common_unknownDevice => 'Невідомий пристрій'; @override - String get common_save => 'Зберегти'; + String get common_save => 'Зберегти'; @override - String get common_delete => 'Видалити'; + String get common_delete => 'Видалити'; @override - String get common_close => 'Закрити'; + String get common_close => 'Закрити'; @override - String get common_edit => 'Редагувати'; + String get common_edit => 'Редагувати'; @override - String get common_add => 'Додати'; + String get common_add => 'Додати'; @override - String get common_settings => 'Налаштування'; + String get common_settings => 'Налаштування'; @override - String get common_disconnect => 'Відключити'; + String get common_disconnect => 'Відключити'; @override - String get common_connected => 'Підключено'; + String get common_connected => 'Підключено'; @override - String get common_disconnected => 'Відключено'; + String get common_disconnected => 'Відключено'; @override - String get common_create => 'Створити'; + String get common_create => 'Створити'; @override - String get common_continue => 'Продовжити'; + String get common_continue => 'Продовжити'; @override - String get common_share => 'Поділитися'; + String get common_share => 'Поділитися'; @override - String get common_copy => 'Копіювати'; + String get common_copy => 'Копіювати'; @override - String get common_retry => 'Повторити'; + String get common_retry => 'Повторити'; @override - String get common_hide => 'Приховати'; + String get common_hide => 'Приховати'; @override - String get common_remove => 'Прибрати'; + String get common_remove => 'Прибрати'; @override - String get common_enable => 'Увімкнути'; + String get common_enable => 'Увімкнути'; @override - String get common_disable => 'Вимкнути'; + String get common_disable => 'Вимкнути'; @override - String get common_reboot => 'Перезавантажити'; + String get common_reboot => 'Перезавантажити'; @override - String get common_loading => 'Завантаження...'; + String get common_loading => 'Завантаження...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { - return '$volts В'; + return '$volts Ð’'; } @override @@ -108,13 +108,6 @@ class AppLocalizationsUk extends AppLocalizations { @override String get scanner_title => 'MeshCore Open'; - @override - String get connectionChoiceTitle => 'Виберіть спосіб зв\'язку'; - - @override - String get connectionChoiceSubtitle => - 'Виберіть, яким способом ви бажаєте отримати доступ до вашого пристрою MeshCore.'; - @override String get connectionChoiceUsbLabel => 'USB'; @@ -122,231 +115,245 @@ class AppLocalizationsUk extends AppLocalizations { String get connectionChoiceBluetoothLabel => 'Bluetooth'; @override - String get usbScreenTitle => 'Підключити через USB'; + String get usbScreenTitle => 'Підключити через USB'; @override String get usbScreenSubtitle => - 'Виберіть виявлене серійне пристрій і підключіть його безпосередньо до вашого вузла MeshCore.'; + 'Виберіть виявлене серійне пристрій Ñ– підключіть його безпосередньо до вашого вузла MeshCore.'; @override - String get usbScreenStatus => 'Виберіть пристрій USB'; + String get usbScreenStatus => 'Виберіть пристрій USB'; @override String get usbScreenNote => - 'USB-серіальний інтерфейс активний на підтримуваних пристроях на базі Android та на десктопних платформах.'; + 'USB-серіальний інтерфейс активний на підтримуваних пристроях на базі Android та на десктопних платформах.'; @override String get usbScreenEmptyState => - 'Не знайдено жодних пристроїв USB. Підключіть один і перезавантажте.'; + 'Не знайдено жодних пристроїв USB. Підключіть один Ñ– перезавантажте.'; @override - String get scanner_scanning => 'Пошук пристроїв...'; + String get scanner_scanning => 'Пошук пристроїв...'; @override - String get scanner_connecting => 'Підключення...'; + String get scanner_connecting => 'Підключення...'; @override - String get scanner_disconnecting => 'Відключення...'; + String get scanner_disconnecting => 'Відключення...'; @override - String get scanner_notConnected => 'Не підключено'; + String get scanner_notConnected => 'Не підключено'; @override String scanner_connectedTo(String deviceName) { - return 'Підключено до $deviceName'; + return 'Підключено до $deviceName'; } @override - String get scanner_searchingDevices => 'Пошук пристроїв MeshCore...'; + String get scanner_searchingDevices => + 'Пошук пристроїв MeshCore...'; @override String get scanner_tapToScan => - 'Натисніть «Сканувати», щоб знайти пристрої MeshCore'; + 'Натисніть «Сканувати», щоб знайти пристрої MeshCore'; @override String scanner_connectionFailed(String error) { - return 'Помилка підключення: $error'; + return 'Помилка підключення: $error'; } @override - String get scanner_stop => 'Стоп'; + String get scanner_stop => 'Стоп'; @override - String get scanner_scan => 'Сканувати'; + String get scanner_scan => 'Сканувати'; @override - String get scanner_bluetoothOff => 'Bluetooth вимкнено'; + String get scanner_bluetoothOff => 'Bluetooth вимкнено'; @override String get scanner_bluetoothOffMessage => - 'Будь ласка, увімкніть Bluetooth, щоб сканувати пристрої.'; + 'Будь ласка, увімкніть Bluetooth, щоб сканувати пристрої.'; @override - String get scanner_chromeRequired => 'Потрібен браузер Chrome'; + String get scanner_chromeRequired => 'Потрібен браузер Chrome'; @override String get scanner_chromeRequiredMessage => - 'Для підтримки Bluetooth у цьому веб-додатку потрібен Google Chrome або браузер на базі Chromium.'; + 'Для підтримки Bluetooth у цьому веб-додатку потрібен Google Chrome або браузер на базі Chromium.'; @override - String get scanner_enableBluetooth => 'Увімкніть Bluetooth'; + String get scanner_enableBluetooth => 'Увімкніть Bluetooth'; @override - String get device_quickSwitch => 'Швидке перемикання'; + String get device_quickSwitch => 'Швидке перемикання'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => 'Налаштування'; + String get settings_title => 'Налаштування'; @override - String get settings_deviceInfo => 'Інформація про пристрій'; + String get settings_deviceInfo => + 'Інформація про пристрій'; @override - String get settings_appSettings => 'Налаштування програми'; + String get settings_appSettings => + 'Налаштування програми'; @override String get settings_appSettingsSubtitle => - 'Сповіщення, повідомлення та налаштування карти'; + 'Сповіщення, повідомлення та налаштування карти'; @override - String get settings_nodeSettings => 'Налаштування вузла'; + String get settings_nodeSettings => 'Налаштування вузла'; @override - String get settings_nodeName => 'Ім\'я вузла'; + String get settings_nodeName => 'Ім\'я вузла'; @override - String get settings_nodeNameNotSet => 'Не встановлено'; + String get settings_nodeNameNotSet => 'Не встановлено'; @override - String get settings_nodeNameHint => 'Введіть ім\'я вузла'; + String get settings_nodeNameHint => 'Введіть ім\'я вузла'; @override - String get settings_nodeNameUpdated => 'Ім\'я оновлено'; + String get settings_nodeNameUpdated => 'Ім\'я оновлено'; @override - String get settings_radioSettings => 'Налаштування радіо'; + String get settings_radioSettings => 'Налаштування радіо'; @override String get settings_radioSettingsSubtitle => - 'Частота, потужність, коефіцієнт розширення'; + 'Частота, потужність, коефіцієнт розширення'; @override - String get settings_radioSettingsUpdated => 'Налаштування радіо оновлено'; + String get settings_radioSettingsUpdated => + 'Налаштування радіо оновлено'; @override - String get settings_location => 'Розташування'; + String get settings_location => 'Розташування'; @override - String get settings_locationSubtitle => 'GPS координати'; + String get settings_locationSubtitle => 'GPS координати'; @override - String get settings_locationUpdated => 'Розташування оновлено'; + String get settings_locationUpdated => + 'Розташування оновлено'; @override - String get settings_locationBothRequired => 'Введіть широту та довготу.'; + String get settings_locationBothRequired => + 'Введіть широту та довготу.'; @override - String get settings_locationInvalid => 'Некоректна широта або довгота.'; + String get settings_locationInvalid => + 'Некоректна широта або довгота.'; @override - String get settings_locationGPSEnable => 'Увімкнути GPS'; + String get settings_locationGPSEnable => 'Увімкнути GPS'; @override String get settings_locationGPSEnableSubtitle => - 'Вмикає автоматичне оновлення місцезнаходження через GPS.'; + 'Вмикає автоматичне оновлення місцезнаходження через GPS.'; @override - String get settings_locationIntervalSec => 'Інтервал для GPS (Секунди)'; + String get settings_locationIntervalSec => + 'Інтервал для GPS (Секунди)'; @override String get settings_locationIntervalInvalid => - 'Інтервал має бути не менше 60 секунд і менше 86400 секунд.'; + 'Інтервал має бути не менше 60 секунд Ñ– менше 86400 секунд.'; @override - String get settings_latitude => 'Широта'; + String get settings_latitude => 'Широта'; @override - String get settings_longitude => 'Довгота'; + String get settings_longitude => 'Довгота'; @override - String get settings_privacyMode => 'Режим приватності'; + String get settings_privacyMode => 'Режим приватності'; @override String get settings_privacyModeSubtitle => - 'Приховати ім\'я/розташування в оголошеннях'; + 'Приховати ім\'я/розташування в оголошеннях'; @override String get settings_privacyModeToggle => - 'Увімкніть режим приватності, щоб приховати своє ім\'я та місцезнаходження в оголошеннях.'; + 'Увімкніть режим приватності, щоб приховати своє ім\'я та місцезнаходження в оголошеннях.'; @override - String get settings_privacyModeEnabled => 'Режим приватності увімкнено'; + String get settings_privacyModeEnabled => + 'Режим приватності увімкнено'; @override - String get settings_privacyModeDisabled => 'Режим приватності вимкнено'; + String get settings_privacyModeDisabled => + 'Режим приватності вимкнено'; @override - String get settings_actions => 'Дії'; + String get settings_actions => 'Дії'; @override - String get settings_sendAdvertisement => 'Оголосити себе'; + String get settings_sendAdvertisement => 'Оголосити себе'; @override String get settings_sendAdvertisementSubtitle => - 'Транслювати присутність зараз'; + 'Транслювати присутність зараз'; @override - String get settings_advertisementSent => 'Оголошення надіслано'; + String get settings_advertisementSent => + 'Оголошення надіслано'; @override - String get settings_syncTime => 'Синхронізація часу'; + String get settings_syncTime => 'Синхронізація часу'; @override String get settings_syncTimeSubtitle => - 'Встановити час пристрою відповідно до часу телефону.'; + 'Встановити час пристрою відповідно до часу телефону.'; @override - String get settings_timeSynchronized => 'Час синхронізовано'; + String get settings_timeSynchronized => 'Час синхронізовано'; @override - String get settings_refreshContacts => 'Оновити контакти'; + String get settings_refreshContacts => 'Оновити контакти'; @override String get settings_refreshContactsSubtitle => - 'Перезавантажити список контактів з пристрою'; + 'Перезавантажити список контактів з пристрою'; @override - String get settings_rebootDevice => 'Перезавантажити пристрій'; + String get settings_rebootDevice => + 'Перезавантажити пристрій'; @override String get settings_rebootDeviceSubtitle => - 'Перезавантажити пристрій MeshCore'; + 'Перезавантажити пристрій MeshCore'; @override String get settings_rebootDeviceConfirm => - 'Ви впевнені, що хочете перезавантажити пристрій? Вас буде відключено.'; + 'Ви впевнені, що хочете перезавантажити пристрій? Вас буде відключено.'; @override - String get settings_debug => 'Налагодження'; + String get settings_debug => 'Налагодження'; @override - String get settings_bleDebugLog => 'Журнал налагодження BLE'; + String get settings_bleDebugLog => + 'Журнал налагодження BLE'; @override String get settings_bleDebugLogSubtitle => - 'Команди BLE, відповіді та необроблені дані'; + 'Команди BLE, відповіді та необроблені дані'; @override - String get settings_appDebugLog => 'Журнал налагодження програми'; + String get settings_appDebugLog => + 'Журнал налагодження програми'; @override String get settings_appDebugLogSubtitle => - 'Повідомлення налагодження програми'; + 'Повідомлення налагодження програми'; @override - String get settings_about => 'Про програму'; + String get settings_about => 'Про програму'; @override String settings_aboutVersion(String version) { @@ -354,115 +361,119 @@ class AppLocalizationsUk extends AppLocalizations { } @override - String get settings_aboutLegalese => 'Проєкт MeshCore Open Source 2026'; + String get settings_aboutLegalese => 'Проєкт MeshCore Open Source 2026'; @override String get settings_aboutDescription => - 'Клієнт Flutter з відкритим вихідним кодом для пристроїв мережі MeshCore LoRa.'; + 'Клієнт Flutter з відкритим вихідним кодом для пристроїв мережі MeshCore LoRa.'; @override String get settings_aboutOpenMeteoAttribution => - 'Дані про висоту LOS: Open-Meteo (CC BY 4.0)'; + 'Дані про висоту LOS: Open-Meteo (CC BY 4.0)'; @override - String get settings_infoName => 'Ім\'я'; + String get settings_infoName => 'Ім\'я'; @override String get settings_infoId => 'ID'; @override - String get settings_infoStatus => 'Статус'; + String get settings_infoStatus => 'Статус'; @override - String get settings_infoBattery => 'Батарея'; + String get settings_infoBattery => 'Батарея'; @override - String get settings_infoPublicKey => 'Відкритий ключ'; + String get settings_infoPublicKey => 'Відкритий ключ'; @override - String get settings_infoContactsCount => 'Кількість контактів'; + String get settings_infoContactsCount => + 'Кількість контактів'; @override - String get settings_infoChannelCount => 'Кількість каналів'; + String get settings_infoChannelCount => 'Кількість каналів'; @override - String get settings_presets => 'Попередні налаштування'; + String get settings_presets => 'Попередні налаштування'; @override - String get settings_frequency => 'Частота (МГц)'; + String get settings_frequency => 'Частота (МГц)'; @override String get settings_frequencyHelper => '300.0 - 2500.0'; @override - String get settings_frequencyInvalid => 'Некоректна частота (300-2500 МГц)'; + String get settings_frequencyInvalid => + 'Некоректна частота (300-2500 МГц)'; @override - String get settings_bandwidth => 'Смуга пропускання'; + String get settings_bandwidth => 'Смуга пропускання'; @override - String get settings_spreadingFactor => 'Коефіцієнт розширення'; + String get settings_spreadingFactor => + 'Коефіцієнт розширення'; @override - String get settings_codingRate => 'Швидкість кодування'; + String get settings_codingRate => 'Швидкість кодування'; @override - String get settings_txPower => 'Потужність TX (дБм)'; + String get settings_txPower => 'Потужність TX (дБм)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => 'Некоректна потужність TX (0-22 дБм)'; + String get settings_txPowerInvalid => + 'Некоректна потужність TX (0-22 дБм)'; @override - String get settings_clientRepeat => 'Автономна система'; + String get settings_clientRepeat => 'Автономна система'; @override String get settings_clientRepeatSubtitle => - 'Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.'; + 'Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.'; @override String get settings_clientRepeatFreqWarning => - 'Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.'; + 'Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.'; @override String settings_error(String message) { - return 'Помилка: $message'; + return 'Помилка: $message'; } @override - String get appSettings_title => 'Налаштування програми'; + String get appSettings_title => 'Налаштування програми'; @override - String get appSettings_appearance => 'Вигляд'; + String get appSettings_appearance => 'Вигляд'; @override - String get appSettings_theme => 'Тема'; + String get appSettings_theme => 'Тема'; @override - String get appSettings_themeSystem => 'Системна'; + String get appSettings_themeSystem => 'Системна'; @override - String get appSettings_themeLight => 'Світла'; + String get appSettings_themeLight => 'Світла'; @override - String get appSettings_themeDark => 'Темна'; + String get appSettings_themeDark => 'Темна'; @override - String get appSettings_language => 'Мова'; + String get appSettings_language => 'Мова'; @override - String get appSettings_languageSystem => 'Як у системі'; + String get appSettings_languageSystem => 'Як у системі'; @override String get appSettings_languageEn => 'English'; @override - String get appSettings_languageFr => 'Français'; + String get appSettings_languageFr => 'Français'; @override - String get appSettings_languageEs => 'Español'; + String get appSettings_languageEs => 'Español'; @override String get appSettings_languageDe => 'Deutsch'; @@ -471,16 +482,16 @@ class AppLocalizationsUk extends AppLocalizations { String get appSettings_languagePl => 'Polski'; @override - String get appSettings_languageSl => 'Slovenščina'; + String get appSettings_languageSl => 'Slovenščina'; @override - String get appSettings_languagePt => 'Português'; + String get appSettings_languagePt => 'Português'; @override String get appSettings_languageIt => 'Italiano'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override String get appSettings_languageSv => 'Svenska'; @@ -489,1076 +500,1144 @@ class AppLocalizationsUk extends AppLocalizations { String get appSettings_languageNl => 'Nederlands'; @override - String get appSettings_languageSk => 'Slovenčina'; + String get appSettings_languageSk => 'Slovenčina'; @override - String get appSettings_languageBg => 'Български'; + String get appSettings_languageBg => 'Български'; @override - String get appSettings_languageRu => 'Російська'; + String get appSettings_languageRu => 'Російська'; @override - String get appSettings_languageUk => 'Українська'; + String get appSettings_languageUk => 'Українська'; @override String get appSettings_enableMessageTracing => - 'Увімкнути відстеження повідомлень'; + 'Увімкнути відстеження повідомлень'; @override String get appSettings_enableMessageTracingSubtitle => - 'Показувати детальні метадані про маршрутизацію та час для повідомлень'; + 'Показувати детальні метадані про маршрутизацію та час для повідомлень'; @override - String get appSettings_notifications => 'Сповіщення'; + String get appSettings_notifications => 'Сповіщення'; @override - String get appSettings_enableNotifications => 'Увімкнути сповіщення'; + String get appSettings_enableNotifications => + 'Увімкнути сповіщення'; @override String get appSettings_enableNotificationsSubtitle => - 'Отримувати сповіщення про повідомлення та оголошення'; + 'Отримувати сповіщення про повідомлення та оголошення'; @override String get appSettings_notificationPermissionDenied => - 'У доступі до сповіщень відмовлено'; + 'У доступі до сповіщень відмовлено'; @override - String get appSettings_notificationsEnabled => 'Сповіщення увімкнено'; + String get appSettings_notificationsEnabled => + 'Сповіщення увімкнено'; @override - String get appSettings_notificationsDisabled => 'Сповіщення вимкнено'; + String get appSettings_notificationsDisabled => + 'Сповіщення вимкнено'; @override - String get appSettings_messageNotifications => 'Сповіщення про повідомлення'; + String get appSettings_messageNotifications => + 'Сповіщення про повідомлення'; @override String get appSettings_messageNotificationsSubtitle => - 'Показувати сповіщення при отриманні нових повідомлень'; + 'Показувати сповіщення при отриманні нових повідомлень'; @override - String get appSettings_channelMessageNotifications => 'Сповіщення каналів'; + String get appSettings_channelMessageNotifications => + 'Сповіщення каналів'; @override String get appSettings_channelMessageNotificationsSubtitle => - 'Показувати сповіщення при отриманні повідомлень каналу'; + 'Показувати сповіщення при отриманні повідомлень каналу'; @override String get appSettings_advertisementNotifications => - 'Сповіщення про оголошення'; + 'Сповіщення про оголошення'; @override String get appSettings_advertisementNotificationsSubtitle => - 'Показувати сповіщення при виявленні нових вузлів'; + 'Показувати сповіщення при виявленні нових вузлів'; @override - String get appSettings_messaging => 'Обмін повідомленнями'; + String get appSettings_messaging => 'Обмін повідомленнями'; @override String get appSettings_clearPathOnMaxRetry => - 'Очищати шлях після макс. спроб'; + 'Очищати шлях після макс. спроб'; @override String get appSettings_clearPathOnMaxRetrySubtitle => - 'Скидати шлях до контакту після 5 невдалих спроб надсилання'; + 'Скидати шлях до контакту після 5 невдалих спроб надсилання'; @override String get appSettings_pathsWillBeCleared => - 'Шляхи будуть очищені після 5 невдалих спроб.'; + 'Шляхи будуть очищені після 5 невдалих спроб.'; @override String get appSettings_pathsWillNotBeCleared => - 'Шляхи не будуть очищатися автоматично.'; + 'Шляхи не будуть очищатися автоматично.'; @override - String get appSettings_autoRouteRotation => 'Авторотація маршруту'; + String get appSettings_autoRouteRotation => + 'Авторотація маршруту'; @override String get appSettings_autoRouteRotationSubtitle => - 'Чергувати найкращі шляхи та режим «на всю мережу» (flood)'; + 'Чергувати найкращі шляхи та режим «на всю мережу» (flood)'; @override String get appSettings_autoRouteRotationEnabled => - 'Авторотація маршрутизації увімкнена'; + 'Авторотація маршрутизації увімкнена'; @override String get appSettings_autoRouteRotationDisabled => - 'Авторотація маршрутизації вимкнена'; + 'Авторотація маршрутизації вимкнена'; @override - String get appSettings_battery => 'Батарея'; + String get appSettings_battery => 'Батарея'; @override - String get appSettings_batteryChemistry => 'Хімія батареї'; + String get appSettings_batteryChemistry => 'Хімія батареї'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return 'Встановити для пристрою ($deviceName)'; + return 'Встановити для пристрою ($deviceName)'; } @override String get appSettings_batteryChemistryConnectFirst => - 'Підключіть пристрій, щоб вибрати'; + 'Підключіть пристрій, щоб вибрати'; @override - String get appSettings_batteryNmc => '18650 NMC (3.0-4.2В)'; + String get appSettings_batteryNmc => '18650 NMC (3.0-4.2Ð’)'; @override - String get appSettings_batteryLifepo4 => 'LiFePO4 (2.6-3.65В)'; + String get appSettings_batteryLifepo4 => 'LiFePO4 (2.6-3.65Ð’)'; @override - String get appSettings_batteryLipo => 'LiPo (3.0-4.2В)'; + String get appSettings_batteryLipo => 'LiPo (3.0-4.2Ð’)'; @override - String get appSettings_mapDisplay => 'Відображення карти'; + String get appSettings_mapDisplay => 'Відображення карти'; @override - String get appSettings_showRepeaters => 'Показувати ретранслятори'; + String get appSettings_showRepeaters => + 'Показувати ретранслятори'; @override String get appSettings_showRepeatersSubtitle => - 'Відображати вузли-ретранслятори на карті'; + 'Відображати вузли-ретранслятори на карті'; @override - String get appSettings_showChatNodes => 'Показувати вузли чату'; + String get appSettings_showChatNodes => + 'Показувати вузли чату'; @override String get appSettings_showChatNodesSubtitle => - 'Відображати вузли чату на карті'; + 'Відображати вузли чату на карті'; @override - String get appSettings_showOtherNodes => 'Показувати інші вузли'; + String get appSettings_showOtherNodes => + 'Показувати інші вузли'; @override String get appSettings_showOtherNodesSubtitle => - 'Відображати інші типи вузлів на карті'; + 'Відображати інші типи вузлів на карті'; @override - String get appSettings_timeFilter => 'Фільтр часу'; + String get appSettings_timeFilter => 'Фільтр часу'; @override - String get appSettings_timeFilterShowAll => 'Показати всі вузли'; + String get appSettings_timeFilterShowAll => + 'Показати всі вузли'; @override String appSettings_timeFilterShowLast(int hours) { - return 'Показати вузли за останні $hours год'; + return 'Показати вузли за останні $hours год'; } @override - String get appSettings_mapTimeFilter => 'Фільтр часу карти'; + String get appSettings_mapTimeFilter => 'Фільтр часу карти'; @override String get appSettings_showNodesDiscoveredWithin => - 'Показувати вузли, виявлені за:'; + 'Показувати вузли, виявлені за:'; @override - String get appSettings_allTime => 'Весь час'; + String get appSettings_allTime => 'Весь час'; @override - String get appSettings_lastHour => 'Останню годину'; + String get appSettings_lastHour => 'Останню годину'; @override - String get appSettings_last6Hours => 'Останні 6 годин'; + String get appSettings_last6Hours => 'Останні 6 годин'; @override - String get appSettings_last24Hours => 'Останні 24 години'; + String get appSettings_last24Hours => 'Останні 24 години'; @override - String get appSettings_lastWeek => 'Минулий тиждень'; + String get appSettings_lastWeek => 'Минулий тиждень'; @override - String get appSettings_offlineMapCache => 'Офлайн-кеш карти'; + String get appSettings_offlineMapCache => 'Офлайн-кеш карти'; @override - String get appSettings_unitsTitle => 'одиниці'; + String get appSettings_unitsTitle => 'одиниці'; @override - String get appSettings_unitsMetric => 'Метричний (м / км)'; + String get appSettings_unitsMetric => 'Метричний (м / км)'; @override - String get appSettings_unitsImperial => 'Імперська (ft / mi)'; + String get appSettings_unitsImperial => 'Імперська (ft / mi)'; @override - String get appSettings_noAreaSelected => 'Область не вибрано'; + String get appSettings_noAreaSelected => 'Область не вибрано'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return 'Вибрана область (зум $minZoom-$maxZoom)'; + return 'Вибрана область (зум $minZoom-$maxZoom)'; } @override - String get appSettings_debugCard => 'Налагодження'; + String get appSettings_debugCard => 'Налагодження'; @override - String get appSettings_appDebugLogging => 'Логування налагодження програми'; + String get appSettings_appDebugLogging => + 'Логування налагодження програми'; @override String get appSettings_appDebugLoggingSubtitle => - 'Записувати повідомлення налагодження програми в лог для усунення несправностей.'; + 'Записувати повідомлення налагодження програми в лог для усунення несправностей.'; @override String get appSettings_appDebugLoggingEnabled => - 'Логування налагодження програми увімкнено'; + 'Логування налагодження програми увімкнено'; @override String get appSettings_appDebugLoggingDisabled => - 'Налагодження програми вимкнено.'; + 'Налагодження програми вимкнено.'; @override - String get contacts_title => 'Контакти'; + String get contacts_title => 'Контакти'; @override - String get contacts_noContacts => 'Контактів не знайдено.'; + String get contacts_noContacts => 'Контактів не знайдено.'; @override String get contacts_contactsWillAppear => - 'Контакти з\'являться, коли пристрої надішлють оголошення.'; + 'Контакти з\'являться, коли пристрої надішлють оголошення.'; @override - String get contacts_unread => 'Непрочитане'; + String get contacts_unread => 'Непрочитане'; @override - String get contacts_searchContactsNoNumber => 'Пошук контактів...'; + String get contacts_searchContactsNoNumber => + 'Пошук контактів...'; @override String contacts_searchContacts(int number, String str) { - return 'Пошук контактів...'; + return 'Пошук контактів...'; } @override String contacts_searchFavorites(int number, String str) { - return 'Пошук $number$str улюблених...'; + return 'Пошук $number$str улюблених...'; } @override String contacts_searchUsers(int number, String str) { - return 'Пошук $number$str користувачів...'; + return 'Пошук $number$str користувачів...'; } @override String contacts_searchRepeaters(int number, String str) { - return 'Пошук $number$str ретрансляторів...'; + return 'Пошук $number$str ретрансляторів...'; } @override String contacts_searchRoomServers(int number, String str) { - return 'Пошук $number$str серверів кімнат...'; + return 'Пошук $number$str серверів кімнат...'; } @override - String get contacts_noUnreadContacts => 'Немає непрочитаних контактів'; + String get contacts_noUnreadContacts => + 'Немає непрочитаних контактів'; @override - String get contacts_noContactsFound => 'Контактів або груп не знайдено.'; + String get contacts_noContactsFound => + 'Контактів або груп не знайдено.'; @override - String get contacts_deleteContact => 'Видалити контакт'; + String get contacts_deleteContact => 'Видалити контакт'; @override String contacts_removeConfirm(String contactName) { - return 'Видалити $contactName з контактів?'; + return 'Видалити $contactName з контактів?'; } @override - String get contacts_manageRepeater => 'Керувати ретранслятором'; + String get contacts_manageRepeater => + 'Керувати ретранслятором'; @override - String get contacts_manageRoom => 'Керувати сервером кімнати'; + String get contacts_manageRoom => + 'Керувати сервером кімнати'; @override - String get contacts_roomLogin => 'Вхід у кімнату'; + String get contacts_roomLogin => 'Вхід у кімнату'; @override - String get contacts_openChat => 'Відкрити чат'; + String get contacts_openChat => 'Відкрити чат'; @override - String get contacts_editGroup => 'Редагувати групу'; + String get contacts_editGroup => 'Редагувати групу'; @override - String get contacts_deleteGroup => 'Видалити групу'; + String get contacts_deleteGroup => 'Видалити групу'; @override String contacts_deleteGroupConfirm(String groupName) { - return 'Видалити $groupName?'; + return 'Видалити $groupName?'; } @override - String get contacts_newGroup => 'Нова група'; + String get contacts_newGroup => 'Нова група'; @override - String get contacts_groupName => 'Назва групи'; + String get contacts_groupName => 'Назва групи'; @override - String get contacts_groupNameRequired => 'Назва групи обов\'язкова.'; + String get contacts_groupNameRequired => + 'Назва групи обов\'язкова.'; @override String contacts_groupAlreadyExists(String name) { - return 'Група «$name» вже існує.'; + return 'Група «$name» вже існує.'; } @override - String get contacts_filterContacts => 'Фільтрувати контакти...'; + String get contacts_filterContacts => + 'Фільтрувати контакти...'; @override String get contacts_noContactsMatchFilter => - 'Жоден контакт не відповідає фільтру.'; + 'Жоден контакт не відповідає фільтру.'; @override - String get contacts_noMembers => 'Немає учасників'; + String get contacts_noMembers => 'Немає учасників'; @override - String get contacts_lastSeenNow => 'В мережі'; + String get contacts_lastSeenNow => 'Ð’ мережі'; @override String contacts_lastSeenMinsAgo(int minutes) { - return 'В мережі $minutes хв. тому'; + return 'Ð’ мережі $minutes хв. тому'; } @override - String get contacts_lastSeenHourAgo => 'В мережі 1 годину тому'; + String get contacts_lastSeenHourAgo => + 'Ð’ мережі 1 годину тому'; @override String contacts_lastSeenHoursAgo(int hours) { - return 'В мережі $hours год. тому'; + return 'Ð’ мережі $hours год. тому'; } @override - String get contacts_lastSeenDayAgo => 'В мережі 1 день тому'; + String get contacts_lastSeenDayAgo => 'Ð’ мережі 1 день тому'; @override String contacts_lastSeenDaysAgo(int days) { - return 'В мережі $days дн. тому'; + return 'Ð’ мережі $days дн. тому'; } @override - String get channels_title => 'Канали'; + String get channels_title => 'Канали'; @override - String get channels_noChannelsConfigured => 'Канали не налаштовані'; + String get channels_noChannelsConfigured => + 'Канали не налаштовані'; @override - String get channels_addPublicChannel => 'Додати публічний канал'; + String get channels_addPublicChannel => + 'Додати публічний канал'; @override - String get channels_searchChannels => 'Пошук каналів...'; + String get channels_searchChannels => 'Пошук каналів...'; @override - String get channels_noChannelsFound => 'Каналів не знайдено'; + String get channels_noChannelsFound => 'Каналів не знайдено'; @override String channels_channelIndex(int index) { - return 'Канал $index'; + return 'Канал $index'; } @override - String get channels_hashtagChannel => 'Канал з хештегом'; + String get channels_hashtagChannel => 'Канал з хештегом'; @override - String get channels_public => 'Публічний'; + String get channels_public => 'Публічний'; @override - String get channels_private => 'Приватний'; + String get channels_private => 'Приватний'; @override - String get channels_publicChannel => 'Публічний канал'; + String get channels_publicChannel => 'Публічний канал'; @override - String get channels_privateChannel => 'Приватний канал'; + String get channels_privateChannel => 'Приватний канал'; @override - String get channels_editChannel => 'Редагувати канал'; + String get channels_editChannel => 'Редагувати канал'; @override - String get channels_muteChannel => 'Вимкнути сповіщення каналу'; + String get channels_muteChannel => + 'Вимкнути сповіщення каналу'; @override - String get channels_unmuteChannel => 'Увімкнути сповіщення каналу'; + String get channels_unmuteChannel => + 'Увімкнути сповіщення каналу'; @override - String get channels_deleteChannel => 'Видалити канал'; + String get channels_deleteChannel => 'Видалити канал'; @override String channels_deleteChannelConfirm(String name) { - return 'Видалити $name? Це не можна скасувати.'; + return 'Видалити $name? Це не можна скасувати.'; } @override String channels_channelDeleteFailed(String name) { - return 'Не вдалося видалити канал \"$name\"'; + return 'Не вдалося видалити канал \"$name\"'; } @override String channels_channelDeleted(String name) { - return 'Канал «$name» видалено'; + return 'Канал «$name» видалено'; } @override - String get channels_addChannel => 'Додати канал'; + String get channels_addChannel => 'Додати канал'; @override - String get channels_channelIndexLabel => 'Індекс каналу'; + String get channels_channelIndexLabel => 'Індекс каналу'; @override - String get channels_channelName => 'Назва каналу'; + String get channels_channelName => 'Назва каналу'; @override - String get channels_usePublicChannel => 'Використовувати публічний канал'; + String get channels_usePublicChannel => + 'Використовувати публічний канал'; @override - String get channels_standardPublicPsk => 'Стандартний публічний PSK'; + String get channels_standardPublicPsk => + 'Стандартний публічний PSK'; @override String get channels_pskHex => 'PSK (Hex)'; @override - String get channels_generateRandomPsk => 'Згенерувати випадковий ключ PSK'; + String get channels_generateRandomPsk => + 'Згенерувати випадковий ключ PSK'; @override - String get channels_enterChannelName => 'Будь ласка, введіть назву каналу'; + String get channels_enterChannelName => + 'Будь ласка, введіть назву каналу'; @override String get channels_pskMustBe32Hex => - 'PSK має складатися з 32 шістнадцяткових символів.'; + 'PSK має складатися з 32 шістнадцяткових символів.'; @override String channels_channelAdded(String name) { - return 'Канал «$name» додано'; + return 'Канал «$name» додано'; } @override String channels_editChannelTitle(int index) { - return 'Редагувати канал $index'; + return 'Редагувати канал $index'; } @override - String get channels_smazCompression => 'Стиснення SMAZ'; + String get channels_smazCompression => 'Стиснення SMAZ'; @override String channels_channelUpdated(String name) { - return 'Канал «$name» оновлено'; + return 'Канал «$name» оновлено'; } @override - String get channels_publicChannelAdded => 'Публічний канал додано'; + String get channels_publicChannelAdded => + 'Публічний канал додано'; @override - String get channels_sortBy => 'Сортувати за'; + String get channels_sortBy => 'Сортувати за'; @override - String get channels_sortManual => 'Вручну'; + String get channels_sortManual => 'Вручну'; @override - String get channels_sortAZ => 'А-Я'; + String get channels_sortAZ => 'А-Я'; @override - String get channels_sortLatestMessages => 'Останні повідомлення'; + String get channels_sortLatestMessages => + 'Останні повідомлення'; @override - String get channels_sortUnread => 'Непрочитані'; + String get channels_sortUnread => 'Непрочитані'; @override - String get channels_createPrivateChannel => 'Створити приватний канал'; + String get channels_createPrivateChannel => + 'Створити приватний канал'; @override - String get channels_createPrivateChannelDesc => 'Захищено секретним ключем.'; + String get channels_createPrivateChannelDesc => + 'Захищено секретним ключем.'; @override - String get channels_joinPrivateChannel => 'Приєднатися до приватного каналу'; + String get channels_joinPrivateChannel => + 'Приєднатися до приватного каналу'; @override - String get channels_joinPrivateChannelDesc => 'Ввести секретний ключ вручну.'; + String get channels_joinPrivateChannelDesc => + 'Ввести секретний ключ вручну.'; @override - String get channels_joinPublicChannel => 'Приєднатися до публічного каналу'; + String get channels_joinPublicChannel => + 'Приєднатися до публічного каналу'; @override String get channels_joinPublicChannelDesc => - 'Будь-хто може приєднатися до цього каналу.'; + 'Будь-хто може приєднатися до цього каналу.'; @override - String get channels_joinHashtagChannel => 'Приєднатися до каналу з хештегом'; + String get channels_joinHashtagChannel => + 'Приєднатися до каналу з хештегом'; @override String get channels_joinHashtagChannelDesc => - 'Будь-хто може приєднатися до каналів #hashtag.'; + 'Будь-хто може приєднатися до каналів #hashtag.'; @override - String get channels_scanQrCode => 'Сканувати QR-код'; + String get channels_scanQrCode => 'Сканувати QR-код'; @override - String get channels_scanQrCodeComingSoon => 'Скоро буде'; + String get channels_scanQrCodeComingSoon => 'Скоро буде'; @override - String get channels_enterHashtag => 'Введіть хештег'; + String get channels_enterHashtag => 'Введіть хештег'; @override - String get channels_hashtagHint => 'напр. #команда'; + String get channels_hashtagHint => 'напр. #команда'; @override - String get chat_noMessages => 'Поки немає повідомлень.'; + String get chat_noMessages => 'Поки немає повідомлень.'; @override - String get chat_sendMessageToStart => 'Надішліть повідомлення, щоб почати'; + String get chat_sendMessageToStart => + 'Надішліть повідомлення, щоб почати'; @override String get chat_originalMessageNotFound => - 'Оригінальне повідомлення не знайдено'; + 'Оригінальне повідомлення не знайдено'; @override String chat_replyingTo(String name) { - return 'Відповідь $name'; + return 'Відповідь $name'; } @override String chat_replyTo(String name) { - return 'Відповісти $name'; + return 'Відповісти $name'; } @override - String get chat_location => 'Розташування'; + String get chat_location => 'Розташування'; @override String chat_sendMessageTo(String contactName) { - return 'Надіслати повідомлення $contactName'; + return 'Надіслати повідомлення $contactName'; } @override - String get chat_typeMessage => 'Введіть повідомлення...'; + String get chat_typeMessage => 'Введіть повідомлення...'; @override String chat_messageTooLong(int maxBytes) { - return 'Повідомлення занадто довге (макс. $maxBytes байт).'; + return 'Повідомлення занадто довге (макс. $maxBytes байт).'; } @override - String get chat_messageCopied => 'Повідомлення скопійовано'; + String get chat_messageCopied => + 'Повідомлення скопійовано'; @override - String get chat_messageDeleted => 'Повідомлення видалено'; + String get chat_messageDeleted => 'Повідомлення видалено'; @override - String get chat_retryingMessage => 'Спроба відновлення.'; + String get chat_retryingMessage => 'Спроба відновлення.'; @override String chat_retryCount(int current, int max) { - return 'Повторна спроба $current/$max'; + return 'Повторна спроба $current/$max'; } @override - String get chat_sendGif => 'Надіслати GIF'; + String get chat_sendGif => 'Надіслати GIF'; @override - String get chat_reply => 'Відповісти'; + String get chat_reply => 'Відповісти'; @override - String get chat_addReaction => 'Додати реакцію'; + String get chat_addReaction => 'Додати реакцію'; @override - String get chat_me => 'Я'; + String get chat_me => 'Я'; @override - String get emojiCategorySmileys => 'Емодзі'; + String get emojiCategorySmileys => 'Емодзі'; @override - String get emojiCategoryGestures => 'Жести'; + String get emojiCategoryGestures => 'Жести'; @override - String get emojiCategoryHearts => 'Серця'; + String get emojiCategoryHearts => 'Серця'; @override - String get emojiCategoryObjects => 'Об\'єкти'; + String get emojiCategoryObjects => 'Об\'єкти'; @override - String get gifPicker_title => 'Вибрати GIF'; + String get gifPicker_title => 'Вибрати GIF'; @override - String get gifPicker_searchHint => 'Пошук GIF...'; + String get gifPicker_searchHint => 'Пошук GIF...'; @override - String get gifPicker_poweredBy => 'На базі GIPHY'; + String get gifPicker_poweredBy => 'На базі GIPHY'; @override - String get gifPicker_noGifsFound => 'GIF не знайдено'; + String get gifPicker_noGifsFound => 'GIF не знайдено'; @override - String get gifPicker_failedLoad => 'Не вдалося завантажити GIF-файли'; + String get gifPicker_failedLoad => + 'Не вдалося завантажити GIF-файли'; @override - String get gifPicker_failedSearch => 'Пошук GIF не вдався'; + String get gifPicker_failedSearch => 'Пошук GIF не вдався'; @override - String get gifPicker_noInternet => 'Немає інтернет-з\'єднання'; + String get gifPicker_noInternet => + 'Немає інтернет-з\'єднання'; @override - String get debugLog_appTitle => 'Журнал налагодження програми'; + String get debugLog_appTitle => + 'Журнал налагодження програми'; @override - String get debugLog_bleTitle => 'Журнал налагодження BLE'; + String get debugLog_bleTitle => 'Журнал налагодження BLE'; @override - String get debugLog_copyLog => 'Копіювати журнал'; + String get debugLog_copyLog => 'Копіювати журнал'; @override - String get debugLog_clearLog => 'Очистити журнал'; + String get debugLog_clearLog => 'Очистити журнал'; @override - String get debugLog_copied => 'Журнал налагодження скопійовано'; + String get debugLog_copied => + 'Журнал налагодження скопійовано'; @override - String get debugLog_bleCopied => 'Журнал BLE скопійовано'; + String get debugLog_bleCopied => 'Журнал BLE скопійовано'; @override String get debugLog_noEntries => - 'Поки що немає записів журналу налагодження.'; + 'Поки що немає записів журналу налагодження.'; @override String get debugLog_enableInSettings => - 'Увімкніть налагодження програми в налаштуваннях'; + 'Увімкніть налагодження програми в налаштуваннях'; @override - String get debugLog_frames => 'Кадри'; + String get debugLog_frames => 'Кадри'; @override - String get debugLog_rawLogRx => 'Необроблений лог - RX'; + String get debugLog_rawLogRx => 'Необроблений лог - RX'; @override - String get debugLog_noBleActivity => 'Поки що немає активності BLE.'; + String get debugLog_noBleActivity => + 'Поки що немає активності BLE.'; @override String debugFrame_length(int count) { - return 'Довжина кадру: $count байт'; + return 'Довжина кадру: $count байт'; } @override String debugFrame_command(String value) { - return 'Команда: 0x$value'; + return 'Команда: 0x$value'; } @override - String get debugFrame_textMessageHeader => 'Повідомлення:'; + String get debugFrame_textMessageHeader => 'Повідомлення:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '- PubKey призначення: $pubKey'; + return '- PubKey призначення: $pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- Мітка часу: $timestamp'; + return '- Мітка часу: $timestamp'; } @override String debugFrame_flags(String value) { - return '- Прапорці: 0x$value'; + return '- Прапорці: 0x$value'; } @override String debugFrame_textType(int type, String label) { - return '- Тип тексту: $type ($label)'; + return '- Тип тексту: $type ($label)'; } @override String get debugFrame_textTypeCli => 'CLI'; @override - String get debugFrame_textTypePlain => 'Звичайний'; + String get debugFrame_textTypePlain => 'Звичайний'; @override String debugFrame_text(String text) { - return '- Текст: \"$text\"'; + return '- Текст: \"$text\"'; } @override - String get debugFrame_hexDump => 'Дамп Hex:'; + String get debugFrame_hexDump => 'Дамп Hex:'; @override - String get chat_pathManagement => 'Керування шляхами'; + String get chat_pathManagement => 'Керування шляхами'; @override - String get chat_ShowAllPaths => 'Показати всі шляхи'; + String get chat_ShowAllPaths => 'Показати всі шляхи'; @override - String get chat_routingMode => 'Режим маршрутизації'; + String get chat_routingMode => 'Режим маршрутизації'; @override - String get chat_autoUseSavedPath => 'Авто (використовувати збережений шлях)'; + String get chat_autoUseSavedPath => + 'Авто (використовувати збережений шлях)'; @override - String get chat_forceFloodMode => 'Примусово на всю мережу'; + String get chat_forceFloodMode => + 'Примусово на всю мережу'; @override String get chat_recentAckPaths => - 'Недавні шляхи ACK (натисніть, щоб використати):'; + 'Недавні шляхи ACK (натисніть, щоб використати):'; @override String get chat_pathHistoryFull => - 'Історія шляхів заповнена. Видаліть записи, щоб додати нові.'; + 'Історія шляхів заповнена. Видаліть записи, щоб додати нові.'; @override - String get chat_hopSingular => 'Стрибок'; + String get chat_hopSingular => 'Стрибок'; @override - String get chat_hopPlural => 'стрибків'; + String get chat_hopPlural => 'стрибків'; @override String chat_hopsCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'стрибків', - many: 'стрибків', - few: 'стрибки', - one: 'стрибок', + other: 'стрибків', + many: 'стрибків', + few: 'стрибки', + one: 'стрибок', ); return '$count $_temp0'; } @override - String get chat_successes => 'Успішно'; + String get chat_successes => 'Успішно'; @override - String get chat_removePath => 'Видалити шлях'; + String get chat_removePath => 'Видалити шлях'; @override String get chat_noPathHistoryYet => - 'Історія шляхів недоступна.\nНадішліть повідомлення, щоб виявити шляхи.'; + 'Історія шляхів недоступна.\nНадішліть повідомлення, щоб виявити шляхи.'; @override - String get chat_pathActions => 'Дії зі шляхом:'; + String get chat_pathActions => 'Дії зі шляхом:'; @override - String get chat_setCustomPath => 'Встановити власний шлях'; + String get chat_setCustomPath => + 'Встановити власний шлях'; @override - String get chat_setCustomPathSubtitle => 'Вказати шлях маршрутизації вручну'; + String get chat_setCustomPathSubtitle => + 'Вказати шлях маршрутизації вручну'; @override - String get chat_clearPath => 'Очистити шлях'; + String get chat_clearPath => 'Очистити шлях'; @override String get chat_clearPathSubtitle => - 'Примусово повторити пошук при наступному надсиланні'; + 'Примусово повторити пошук при наступному надсиланні'; @override String get chat_pathCleared => - 'Шлях очищено. Наступне повідомлення оновить маршрут.'; + 'Шлях очищено. Наступне повідомлення оновить маршрут.'; @override String get chat_floodModeSubtitle => - 'Використовувати перемикач маршрутизації в панелі програми'; + 'Використовувати перемикач маршрутизації в панелі програми'; @override String get chat_floodModeEnabled => - 'Увімкнено режим «на всю мережу». Перемикайте через іконку маршрутизації на панелі інструментів.'; + 'Увімкнено режим «на всю мережу». Перемикайте через іконку маршрутизації на панелі інструментів.'; @override - String get chat_fullPath => 'Повний шлях'; + String get chat_fullPath => 'Повний шлях'; @override String get chat_pathDetailsNotAvailable => - 'Деталі шляху ще недоступні. Спробуйте надіслати повідомлення для оновлення.'; + 'Деталі шляху ще недоступні. Спробуйте надіслати повідомлення для оновлення.'; @override String chat_pathSetHops(int hopCount, String status) { String _temp0 = intl.Intl.pluralLogic( hopCount, locale: localeName, - other: 'стрибків', - many: 'стрибків', - few: 'стрибки', - one: 'стрибок', + other: 'стрибків', + many: 'стрибків', + few: 'стрибки', + one: 'стрибок', ); - return 'Шлях встановлено: $hopCount $_temp0 - $status'; + return 'Шлях встановлено: $hopCount $_temp0 - $status'; } @override String get chat_pathSavedLocally => - 'Збережено локально. Підключіться для синхронізації.'; + 'Збережено локально. Підключіться для синхронізації.'; @override - String get chat_pathDeviceConfirmed => 'Пристрій підтверджено.'; + String get chat_pathDeviceConfirmed => + 'Пристрій підтверджено.'; @override - String get chat_pathDeviceNotConfirmed => 'Пристрій ще не підтверджено.'; + String get chat_pathDeviceNotConfirmed => + 'Пристрій ще не підтверджено.'; @override - String get chat_type => 'Ввід'; + String get chat_type => 'Ввід'; @override - String get chat_path => 'Шлях'; + String get chat_path => 'Шлях'; @override - String get chat_publicKey => 'Відкритий ключ'; + String get chat_publicKey => 'Відкритий ключ'; @override - String get chat_compressOutgoingMessages => 'Стискати вихідні повідомлення'; + String get chat_compressOutgoingMessages => + 'Стискати вихідні повідомлення'; @override - String get chat_floodForced => 'На всю мережу (примусово)'; + String get chat_floodForced => + 'На всю мережу (примусово)'; @override - String get chat_directForced => 'Прямий (примусово)'; + String get chat_directForced => 'Прямий (примусово)'; @override String chat_hopsForced(int count) { - return '$count стрибків (примусово)'; + return '$count стрибків (примусово)'; } @override - String get chat_floodAuto => 'На всю мережу (авто)'; + String get chat_floodAuto => 'На всю мережу (авто)'; @override - String get chat_direct => 'Прямий'; + String get chat_direct => 'Прямий'; @override - String get chat_poiShared => 'Точкою інтересу поділилися'; + String get chat_poiShared => + 'Точкою інтересу поділилися'; @override String chat_unread(int count) { - return 'Непрочитано: $count'; + return 'Непрочитано: $count'; } @override - String get chat_openLink => 'Відкрити посилання?'; + String get chat_openLink => 'Відкрити посилання?'; @override String get chat_openLinkConfirmation => - 'Ви хочете відкрити це посилання у браузері?'; + 'Ви хочете відкрити це посилання у браузері?'; @override - String get chat_open => 'Відкрити'; + String get chat_open => 'Відкрити'; @override String chat_couldNotOpenLink(String url) { - return 'Не вдалося відкрити посилання: $url'; + return 'Не вдалося відкрити посилання: $url'; } @override - String get chat_invalidLink => 'Невірний формат посилання'; + String get chat_invalidLink => + 'Невірний формат посилання'; @override - String get map_title => 'Карта вузлів'; + String get map_title => 'Карта вузлів'; @override - String get map_lineOfSight => 'Пряма видимість'; + String get map_lineOfSight => 'Пряма видимість'; @override - String get map_losScreenTitle => 'Пряма видимість'; + String get map_losScreenTitle => 'Пряма видимість'; @override String get map_noNodesWithLocation => - 'Немає вузлів з даними про розташування'; + 'Немає вузлів з даними про розташування'; @override String get map_nodesNeedGps => - 'Вузли повинні надавати свої GPS координати,\nщоб з\'явитися на карті.'; + 'Вузли повинні надавати свої GPS координати,\nщоб з\'явитися на карті.'; @override String map_nodesCount(int count) { - return 'Вузли: $count'; + return 'Вузли: $count'; } @override String map_pinsCount(int count) { - return 'Мітки: $count'; + return 'Мітки: $count'; } @override - String get map_chat => 'Чат'; + String get map_chat => 'Чат'; @override - String get map_repeater => 'Ретранслятор'; + String get map_repeater => 'Ретранслятор'; @override - String get map_room => 'Кімната'; + String get map_room => 'Кімната'; @override - String get map_sensor => 'Сенсор'; + String get map_sensor => 'Сенсор'; @override - String get map_pinDm => 'Ключ (DM)'; + String get map_pinDm => 'Ключ (DM)'; @override - String get map_pinPrivate => 'Замок (Приватний)'; + String get map_pinPrivate => 'Замок (Приватний)'; @override - String get map_pinPublic => 'Ключ (Публічний)'; + String get map_pinPublic => 'Ключ (Публічний)'; @override - String get map_lastSeen => 'Останній раз бачили'; + String get map_lastSeen => 'Останній раз бачили'; @override String get map_disconnectConfirm => - 'Ви впевнені, що хочете відключитися від цього пристрою?'; + 'Ви впевнені, що хочете відключитися від цього пристрою?'; @override - String get map_from => 'Від'; + String get map_from => 'Від'; @override - String get map_source => 'Джерело'; + String get map_source => 'Джерело'; @override - String get map_flags => 'Прапорці'; + String get map_flags => 'Прапорці'; @override - String get map_shareMarkerHere => 'Поділитися маркером тут'; + String get map_shareMarkerHere => + 'Поділитися маркером тут'; @override - String get map_pinLabel => 'Мітка піна'; + String get map_pinLabel => 'Мітка піна'; @override - String get map_label => 'Мітка'; + String get map_label => 'Мітка'; @override - String get map_pointOfInterest => 'Точка інтересу'; + String get map_pointOfInterest => 'Точка інтересу'; @override - String get map_sendToContact => 'Надіслати контакту'; + String get map_sendToContact => 'Надіслати контакту'; @override - String get map_sendToChannel => 'Надіслати в канал'; + String get map_sendToChannel => 'Надіслати в канал'; @override - String get map_noChannelsAvailable => 'Немає доступних каналів'; + String get map_noChannelsAvailable => + 'Немає доступних каналів'; @override - String get map_publicLocationShare => 'Поділитися в публічному місці'; + String get map_publicLocationShare => + 'Поділитися в публічному місці'; @override String map_publicLocationShareConfirm(String channelLabel) { - return 'Ви збираєтеся поділитися розташуванням у $channelLabel. Цей канал публічний, і кожен, хто має ключ PSK, може це побачити.'; + return 'Ви збираєтеся поділитися розташуванням у $channelLabel. Цей канал публічний, Ñ– кожен, хто має ключ PSK, може це побачити.'; } @override String get map_connectToShareMarkers => - 'Підключіться до пристрою, щоб поділитися маркерами'; + 'Підключіться до пристрою, щоб поділитися маркерами'; @override - String get map_filterNodes => 'Фільтрувати вузли'; + String get map_filterNodes => 'Фільтрувати вузли'; @override - String get map_nodeTypes => 'Типи вузлів'; + String get map_nodeTypes => 'Типи вузлів'; @override - String get map_chatNodes => 'Вузли чату'; + String get map_chatNodes => 'Вузли чату'; @override - String get map_repeaters => 'Ретранслятори'; + String get map_repeaters => 'Ретранслятори'; @override - String get map_otherNodes => 'Інші вузли'; + String get map_otherNodes => 'Інші вузли'; @override - String get map_keyPrefix => 'Префікс ключа'; + String get map_keyPrefix => 'Префікс ключа'; @override - String get map_filterByKeyPrefix => 'Фільтрувати за префіксом ключа'; + String get map_filterByKeyPrefix => + 'Фільтрувати за префіксом ключа'; @override - String get map_publicKeyPrefix => 'Префікс відкритого ключа'; + String get map_publicKeyPrefix => + 'Префікс відкритого ключа'; @override - String get map_markers => 'Маркери'; + String get map_markers => 'Маркери'; @override - String get map_showSharedMarkers => 'Показувати спільні маркери'; + String get map_showSharedMarkers => + 'Показувати спільні маркери'; @override - String get map_lastSeenTime => 'Час останньої активності'; + String get map_lastSeenTime => + 'Час останньої активності'; @override - String get map_sharedPin => 'Спільний пін'; + String get map_sharedPin => 'Спільний пін'; @override - String get map_joinRoom => 'Приєднатися до кімнати'; + String get map_joinRoom => 'Приєднатися до кімнати'; @override - String get map_manageRepeater => 'Керувати ретранслятором'; + String get map_manageRepeater => + 'Керувати ретранслятором'; @override - String get map_tapToAdd => 'Натисніть на вузли, щоб додати їх до шляху'; + String get map_tapToAdd => + 'Натисніть на вузли, щоб додати Ñ—Ñ… до шляху'; @override - String get map_runTrace => 'Виконати трасування шляху'; + String get map_runTrace => 'Виконати трасування шляху'; @override - String get map_removeLast => 'Видалити останній'; + String get map_removeLast => 'Видалити останній'; @override - String get map_pathTraceCancelled => 'Відмінується трасування шляху'; + String get map_pathTraceCancelled => + 'Відмінується трасування шляху'; @override - String get mapCache_title => 'Офлайн-кеш карти'; + String get mapCache_title => 'Офлайн-кеш карти'; @override String get mapCache_selectAreaFirst => - 'Спершу виберіть область для кешування'; + 'Спершу виберіть область для кешування'; @override String get mapCache_noTilesToDownload => - 'Немає плиток для завантаження в цій області.'; + 'Немає плиток для завантаження в цій області.'; @override - String get mapCache_downloadTilesTitle => 'Завантажити плитки'; + String get mapCache_downloadTilesTitle => + 'Завантажити плитки'; @override String mapCache_downloadTilesPrompt(int count) { - return 'Завантажити $count плиток для використання офлайн?'; + return 'Завантажити $count плиток для використання офлайн?'; } @override - String get mapCache_downloadAction => 'Завантажити'; + String get mapCache_downloadAction => 'Завантажити'; @override String mapCache_cachedTiles(int count) { - return 'Закешовано $count плиток'; + return 'Закешовано $count плиток'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return 'Плитки в кеші ($downloaded) ($failed помилок)'; + return 'Плитки в кеші ($downloaded) ($failed помилок)'; } @override - String get mapCache_clearOfflineCacheTitle => 'Очистити офлайн-кеш'; + String get mapCache_clearOfflineCacheTitle => + 'Очистити офлайн-кеш'; @override String get mapCache_clearOfflineCachePrompt => - 'Видалити всі закешовані плитки карти?'; + 'Видалити всі закешовані плитки карти?'; @override - String get mapCache_offlineCacheCleared => 'Офлайн-кеш очищено.'; + String get mapCache_offlineCacheCleared => + 'Офлайн-кеш очищено.'; @override - String get mapCache_noAreaSelected => 'Область не вибрано'; + String get mapCache_noAreaSelected => 'Область не вибрано'; @override - String get mapCache_cacheArea => 'Область кешування'; + String get mapCache_cacheArea => 'Область кешування'; @override - String get mapCache_useCurrentView => 'Використати поточний вигляд'; + String get mapCache_useCurrentView => + 'Використати поточний вигляд'; @override - String get mapCache_zoomRange => 'Діапазон масштабування'; + String get mapCache_zoomRange => + 'Діапазон масштабування'; @override String mapCache_estimatedTiles(int count) { - return 'Оцінка плиток: $count'; + return 'Оцінка плиток: $count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return 'Завантажено $completed / $total'; + return 'Завантажено $completed / $total'; } @override - String get mapCache_downloadTilesButton => 'Завантажити плитки'; + String get mapCache_downloadTilesButton => + 'Завантажити плитки'; @override - String get mapCache_clearCacheButton => 'Очистити кеш'; + String get mapCache_clearCacheButton => 'Очистити кеш'; @override String mapCache_failedDownloads(int count) { - return 'Невдалі завантаження: $count'; + return 'Невдалі завантаження: $count'; } @override @@ -1568,132 +1647,134 @@ class AppLocalizationsUk extends AppLocalizations { String east, String west, ) { - return 'Пн $north, Пд $south, Сх $east, Зх $west'; + return 'Пн $north, Пд $south, Сх $east, Зх $west'; } @override - String get time_justNow => 'Тільки що'; + String get time_justNow => 'Тільки що'; @override String time_minutesAgo(int minutes) { - return '$minutes хв. тому'; + return '$minutes хв. тому'; } @override String time_hoursAgo(int hours) { - return '$hours год. тому'; + return '$hours год. тому'; } @override String time_daysAgo(int days) { - return '$days дн. тому'; + return '$days дн. тому'; } @override - String get time_hour => 'година'; + String get time_hour => 'година'; @override - String get time_hours => 'годин'; + String get time_hours => 'годин'; @override - String get time_day => 'день'; + String get time_day => 'день'; @override - String get time_days => 'днів'; + String get time_days => 'днів'; @override - String get time_week => 'тиждень'; + String get time_week => 'тиждень'; @override - String get time_weeks => 'тижнів'; + String get time_weeks => 'тижнів'; @override - String get time_month => 'місяць'; + String get time_month => 'місяць'; @override - String get time_months => 'місяців'; + String get time_months => 'місяців'; @override - String get time_minutes => 'хвилин'; + String get time_minutes => 'хвилин'; @override - String get time_allTime => 'Весь час'; + String get time_allTime => 'Весь час'; @override - String get dialog_disconnect => 'Відключити'; + String get dialog_disconnect => 'Відключити'; @override String get dialog_disconnectConfirm => - 'Ви впевнені, що хочете відключитися від цього пристрою?'; + 'Ви впевнені, що хочете відключитися від цього пристрою?'; @override - String get login_repeaterLogin => 'Вхід у ретранслятор'; + String get login_repeaterLogin => 'Вхід у ретранслятор'; @override - String get login_roomLogin => 'Вхід у кімнату'; + String get login_roomLogin => 'Вхід у кімнату'; @override - String get login_password => 'Пароль'; + String get login_password => 'Пароль'; @override - String get login_enterPassword => 'Введіть пароль'; + String get login_enterPassword => 'Введіть пароль'; @override - String get login_savePassword => 'Зберегти пароль'; + String get login_savePassword => 'Зберегти пароль'; @override String get login_savePasswordSubtitle => - 'Пароль буде надійно збережено на цьому пристрої.'; + 'Пароль буде надійно збережено на цьому пристрої.'; @override String get login_repeaterDescription => - 'Введіть пароль ретранслятора для доступу до налаштувань та статусу.'; + 'Введіть пароль ретранслятора для доступу до налаштувань та статусу.'; @override String get login_roomDescription => - 'Введіть пароль кімнати для доступу до налаштувань та статусу.'; + 'Введіть пароль кімнати для доступу до налаштувань та статусу.'; @override - String get login_routing => 'Маршрутизація'; + String get login_routing => 'Маршрутизація'; @override - String get login_routingMode => 'Режим маршрутизації'; + String get login_routingMode => 'Режим маршрутизації'; @override - String get login_autoUseSavedPath => 'Авто (використовувати збережений шлях)'; + String get login_autoUseSavedPath => + 'Авто (використовувати збережений шлях)'; @override - String get login_forceFloodMode => 'Примусово на всю мережу'; + String get login_forceFloodMode => + 'Примусово на всю мережу'; @override - String get login_managePaths => 'Керувати шляхами'; + String get login_managePaths => 'Керувати шляхами'; @override - String get login_login => 'Вхід'; + String get login_login => 'Вхід'; @override String login_attempt(int current, int max) { - return 'Спроба $current/$max'; + return 'Спроба $current/$max'; } @override String login_failed(String error) { - return 'Вхід не вдався: $error'; + return 'Вхід не вдався: $error'; } @override String get login_failedMessage => - 'Вхід не вдався. Або пароль неправильний, або ретранслятор недосяжний.'; + 'Вхід не вдався. Або пароль неправильний, або ретранслятор недосяжний.'; @override - String get common_reload => 'Перезавантажити'; + String get common_reload => 'Перезавантажити'; @override - String get common_clear => 'Очистити'; + String get common_clear => 'Очистити'; @override String path_currentPath(String path) { - return 'Поточний шлях: $path'; + return 'Поточний шлях: $path'; } @override @@ -1701,174 +1782,182 @@ class AppLocalizationsUk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'стрибками', - many: 'стрибками', - few: 'стрибками', - one: 'стрибком', + other: 'стрибками', + many: 'стрибками', + few: 'стрибками', + one: 'стрибком', ); - return 'Використання шляху з $count $_temp0'; + return 'Використання шляху з $count $_temp0'; } @override - String get path_enterCustomPath => 'Ввести власний шлях'; + String get path_enterCustomPath => 'Ввести власний шлях'; @override - String get path_currentPathLabel => 'Поточний шлях'; + String get path_currentPathLabel => 'Поточний шлях'; @override String get path_hexPrefixInstructions => - 'Введіть 2-символьні hex-префікси для кожного стрибка, розділені комами.'; + 'Введіть 2-символьні hex-префікси для кожного стрибка, розділені комами.'; @override String get path_hexPrefixExample => - 'Приклад: A1,F2,3C (кожен вузол використовує перший байт свого відкритого ключа).'; + 'Приклад: A1,F2,3C (кожен вузол використовує перший байт свого відкритого ключа).'; @override - String get path_labelHexPrefixes => 'Hex-префікси'; + String get path_labelHexPrefixes => 'Hex-префікси'; @override String get path_helperMaxHops => - 'Макс. 64 стрибки. Кожен префікс - 2 шістнадцяткові символи (1 байт)'; + 'Макс. 64 стрибки. Кожен префікс - 2 шістнадцяткові символи (1 байт)'; @override - String get path_selectFromContacts => 'Вибрати з контактів:'; + String get path_selectFromContacts => 'Вибрати з контактів:'; @override String get path_noRepeatersFound => - 'Ретрансляторів або серверів кімнат не знайдено.'; + 'Ретрансляторів або серверів кімнат не знайдено.'; @override String get path_customPathsRequire => - 'Власні шляхи вимагають проміжних вузлів, які можуть передавати повідомлення.'; + 'Власні шляхи вимагають проміжних вузлів, які можуть передавати повідомлення.'; @override String path_invalidHexPrefixes(String prefixes) { - return 'Некоректні hex-префікси: $prefixes'; + return 'Некоректні hex-префікси: $prefixes'; } @override - String get path_tooLong => 'Шлях занадто довгий. Максимум 64 стрибки.'; + String get path_tooLong => + 'Шлях занадто довгий. Максимум 64 стрибки.'; @override - String get path_setPath => 'Встановити шлях'; + String get path_setPath => 'Встановити шлях'; @override - String get repeater_management => 'Керування ретранслятором'; + String get repeater_management => + 'Керування ретранслятором'; @override - String get room_management => 'Адміністрування сервера кімнати'; + String get room_management => + 'Адміністрування сервера кімнати'; @override - String get repeater_managementTools => 'Інструменти керування'; + String get repeater_managementTools => + 'Інструменти керування'; @override - String get repeater_status => 'Статус'; + String get repeater_status => 'Статус'; @override String get repeater_statusSubtitle => - 'Показати статус, статистику та сусідів ретранслятора'; + 'Показати статус, статистику та сусідів ретранслятора'; @override - String get repeater_telemetry => 'Телеметрія'; + String get repeater_telemetry => 'Телеметрія'; @override String get repeater_telemetrySubtitle => - 'Показати телеметрію сенсорів та статистику системи'; + 'Показати телеметрію сенсорів та статистику системи'; @override String get repeater_cli => 'CLI'; @override - String get repeater_cliSubtitle => 'Надіслати команди ретранслятору'; + String get repeater_cliSubtitle => + 'Надіслати команди ретранслятору'; @override - String get repeater_neighbors => 'Сусіди'; + String get repeater_neighbors => 'Сусіди'; @override String get repeater_neighborsSubtitle => - 'Показати сусідів нульового стрибка.'; + 'Показати сусідів нульового стрибка.'; @override - String get repeater_settings => 'Налаштування'; + String get repeater_settings => 'Налаштування'; @override - String get repeater_settingsSubtitle => 'Налаштувати параметри ретранслятора'; + String get repeater_settingsSubtitle => + 'Налаштувати параметри ретранслятора'; @override - String get repeater_statusTitle => 'Статус ретранслятора'; + String get repeater_statusTitle => 'Статус ретранслятора'; @override - String get repeater_routingMode => 'Режим маршрутизації'; + String get repeater_routingMode => 'Режим маршрутизації'; @override String get repeater_autoUseSavedPath => - 'Авто (використовувати збережений шлях)'; + 'Авто (використовувати збережений шлях)'; @override - String get repeater_forceFloodMode => 'Примусово на всю мережу'; + String get repeater_forceFloodMode => + 'Примусово на всю мережу'; @override - String get repeater_pathManagement => 'Керування шляхами'; + String get repeater_pathManagement => 'Керування шляхами'; @override - String get repeater_refresh => 'Оновити'; + String get repeater_refresh => 'Оновити'; @override String get repeater_statusRequestTimeout => - 'Час очікування запиту статусу вичерпано.'; + 'Час очікування запиту статусу вичерпано.'; @override String repeater_errorLoadingStatus(String error) { - return 'Помилка завантаження статусу: $error'; + return 'Помилка завантаження статусу: $error'; } @override - String get repeater_systemInformation => 'Системна інформація'; + String get repeater_systemInformation => + 'Системна інформація'; @override - String get repeater_battery => 'Батарея'; + String get repeater_battery => 'Батарея'; @override - String get repeater_clockAtLogin => 'Годинник (при вході)'; + String get repeater_clockAtLogin => 'Годинник (при вході)'; @override - String get repeater_uptime => 'Час роботи'; + String get repeater_uptime => 'Час роботи'; @override - String get repeater_queueLength => 'Довжина черги'; + String get repeater_queueLength => 'Довжина черги'; @override - String get repeater_debugFlags => 'Прапорці налагодження'; + String get repeater_debugFlags => 'Прапорці налагодження'; @override - String get repeater_radioStatistics => 'Статистика радіо'; + String get repeater_radioStatistics => 'Статистика радіо'; @override - String get repeater_lastRssi => 'Останній RSSI'; + String get repeater_lastRssi => 'Останній RSSI'; @override - String get repeater_lastSnr => 'Останній SNR'; + String get repeater_lastSnr => 'Останній SNR'; @override - String get repeater_noiseFloor => 'Рівень шуму'; + String get repeater_noiseFloor => 'Рівень шуму'; @override - String get repeater_txAirtime => 'Ефірний час TX'; + String get repeater_txAirtime => 'Ефірний час TX'; @override - String get repeater_rxAirtime => 'Ефірний час RX'; + String get repeater_rxAirtime => 'Ефірний час RX'; @override - String get repeater_packetStatistics => 'Статистика пакетів'; + String get repeater_packetStatistics => 'Статистика пакетів'; @override - String get repeater_sent => 'Надіслано'; + String get repeater_sent => 'Надіслано'; @override - String get repeater_received => 'Отримано'; + String get repeater_received => 'Отримано'; @override - String get repeater_duplicates => 'Дублікати'; + String get repeater_duplicates => 'Дублікати'; @override String repeater_daysHoursMinsSecs( @@ -1877,674 +1966,712 @@ class AppLocalizationsUk extends AppLocalizations { int minutes, int seconds, ) { - return '$days дн. $hours год $minutes хв $seconds с'; + return '$days дн. $hours год $minutes хв $seconds с'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return 'Всього: $total, На всю мережу: $flood, Прямі: $direct'; + return 'Всього: $total, На всю мережу: $flood, Прямі: $direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return 'Всього: $total, На всю мережу: $flood, Прямі: $direct'; + return 'Всього: $total, На всю мережу: $flood, Прямі: $direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return 'На всю мережу: $flood, Прямі: $direct'; + return 'На всю мережу: $flood, Прямі: $direct'; } @override String repeater_duplicatesTotal(int total) { - return 'Всього: $total'; + return 'Всього: $total'; } @override - String get repeater_settingsTitle => 'Налаштування ретранслятора'; + String get repeater_settingsTitle => + 'Налаштування ретранслятора'; @override - String get repeater_basicSettings => 'Основні налаштування'; + String get repeater_basicSettings => + 'Основні налаштування'; @override - String get repeater_repeaterName => 'Ім\'я ретранслятора'; + String get repeater_repeaterName => 'Ім\'я ретранслятора'; @override String get repeater_repeaterNameHelper => - 'Показати ім\'я цього ретранслятора'; + 'Показати ім\'я цього ретранслятора'; @override - String get repeater_adminPassword => 'Пароль адміністратора'; + String get repeater_adminPassword => + 'Пароль адміністратора'; @override - String get repeater_adminPasswordHelper => 'Пароль повного доступу'; + String get repeater_adminPasswordHelper => + 'Пароль повного доступу'; @override - String get repeater_guestPassword => 'Гостьовий пароль'; + String get repeater_guestPassword => 'Гостьовий пароль'; @override String get repeater_guestPasswordHelper => - 'Доступ лише для читання з паролем'; + 'Доступ лише для читання з паролем'; @override - String get repeater_radioSettings => 'Налаштування радіо'; + String get repeater_radioSettings => 'Налаштування радіо'; @override - String get repeater_frequencyMhz => 'Частота (МГц)'; + String get repeater_frequencyMhz => 'Частота (МГц)'; @override - String get repeater_frequencyHelper => '300-2500 МГц'; + String get repeater_frequencyHelper => '300-2500 МГц'; @override - String get repeater_txPower => 'Потужність TX'; + String get repeater_txPower => 'Потужність TX'; @override - String get repeater_txPowerHelper => '1-30 дБм'; + String get repeater_txPowerHelper => '1-30 дБм'; @override - String get repeater_bandwidth => 'Смуга пропускання'; + String get repeater_bandwidth => 'Смуга пропускання'; @override - String get repeater_spreadingFactor => 'Коефіцієнт розширення'; + String get repeater_spreadingFactor => + 'Коефіцієнт розширення'; @override - String get repeater_codingRate => 'Швидкість кодування'; + String get repeater_codingRate => 'Швидкість кодування'; @override - String get repeater_locationSettings => 'Налаштування розташування'; + String get repeater_locationSettings => + 'Налаштування розташування'; @override - String get repeater_latitude => 'Широта'; + String get repeater_latitude => 'Широта'; @override String get repeater_latitudeHelper => - 'Десяткові градуси (наприклад, 37.7749)'; + 'Десяткові градуси (наприклад, 37.7749)'; @override - String get repeater_longitude => 'Довгота'; + String get repeater_longitude => 'Довгота'; @override String get repeater_longitudeHelper => - 'Десяткові градуси (наприклад, -122.4194)'; + 'Десяткові градуси (наприклад, -122.4194)'; @override - String get repeater_features => 'Функції'; + String get repeater_features => 'Функції'; @override - String get repeater_packetForwarding => 'Пересилання пакетів'; + String get repeater_packetForwarding => + 'Пересилання пакетів'; @override String get repeater_packetForwardingSubtitle => - 'Дозволити ретранслятору пересилати пакети'; + 'Дозволити ретранслятору пересилати пакети'; @override - String get repeater_guestAccess => 'Гостьовий доступ'; + String get repeater_guestAccess => 'Гостьовий доступ'; @override String get repeater_guestAccessSubtitle => - 'Дозволити гостьовий доступ лише для читання'; + 'Дозволити гостьовий доступ лише для читання'; @override - String get repeater_privacyMode => 'Режим приватності'; + String get repeater_privacyMode => 'Режим приватності'; @override String get repeater_privacyModeSubtitle => - 'Приховати ім\'я/розташування в оголошеннях'; + 'Приховати ім\'я/розташування в оголошеннях'; @override - String get repeater_advertisementSettings => 'Налаштування оголошень'; + String get repeater_advertisementSettings => + 'Налаштування оголошень'; @override String get repeater_localAdvertInterval => - 'Інтервал локальних оголошень (0 стрибків)'; + 'Інтервал локальних оголошень (0 стрибків)'; @override String repeater_localAdvertIntervalMinutes(int minutes) { - return '$minutes хвилин'; + return '$minutes хвилин'; } @override String get repeater_floodAdvertInterval => - 'Інтервал оголошень на всю мережу (flood)'; + 'Інтервал оголошень на всю мережу (flood)'; @override String repeater_floodAdvertIntervalHours(int hours) { - return '$hours годин'; + return '$hours годин'; } @override String get repeater_encryptedAdvertInterval => - 'Інтервал зашифрованих оголошень'; + 'Інтервал зашифрованих оголошень'; @override - String get repeater_dangerZone => 'Небезпечна зона'; + String get repeater_dangerZone => 'Небезпечна зона'; @override - String get repeater_rebootRepeater => 'Перезавантажити ретранслятор'; + String get repeater_rebootRepeater => + 'Перезавантажити ретранслятор'; @override String get repeater_rebootRepeaterSubtitle => - 'Скинути пристрій ретранслятора'; + 'Скинути пристрій ретранслятора'; @override String get repeater_rebootRepeaterConfirm => - 'Ви впевнені, що хочете перезавантажити цей ретранслятор?'; + 'Ви впевнені, що хочете перезавантажити цей ретранслятор?'; @override String get repeater_regenerateIdentityKey => - 'Перегенерувати ключ ідентичності'; + 'Перегенерувати ключ ідентичності'; @override String get repeater_regenerateIdentityKeySubtitle => - 'Згенерувати нову пару ключів (публічний/приватний)'; + 'Згенерувати нову пару ключів (публічний/приватний)'; @override String get repeater_regenerateIdentityKeyConfirm => - 'Це створить нову ідентичність для ретранслятора. Продовжити?'; + 'Це створить нову ідентичність для ретранслятора. Продовжити?'; @override - String get repeater_eraseFileSystem => 'Очистити файлову систему'; + String get repeater_eraseFileSystem => + 'Очистити файлову систему'; @override String get repeater_eraseFileSystemSubtitle => - 'Відформатувати файлову систему ретранслятора'; + 'Відформатувати файлову систему ретранслятора'; @override String get repeater_eraseFileSystemConfirm => - 'УВАГА: Це видалить всі дані з ретранслятора. Це не можна скасувати!'; + 'УВАГА: Це видалить всі дані з ретранслятора. Це не можна скасувати!'; @override String get repeater_eraseSerialOnly => - 'Очищення доступне лише через послідовну консоль.'; + 'Очищення доступне лише через послідовну консоль.'; @override String repeater_commandSent(String command) { - return 'Команда надіслана: $command'; + return 'Команда надіслана: $command'; } @override String repeater_errorSendingCommand(String error) { - return 'Помилка надсилання команди: $error'; + return 'Помилка надсилання команди: $error'; } @override - String get repeater_confirm => 'Підтвердити'; + String get repeater_confirm => 'Підтвердити'; @override - String get repeater_settingsSaved => 'Налаштування успішно збережено.'; + String get repeater_settingsSaved => + 'Налаштування успішно збережено.'; @override String repeater_errorSavingSettings(String error) { - return 'Помилка збереження налаштувань: $error'; + return 'Помилка збереження налаштувань: $error'; } @override - String get repeater_refreshBasicSettings => 'Оновити основні налаштування'; + String get repeater_refreshBasicSettings => + 'Оновити основні налаштування'; @override - String get repeater_refreshRadioSettings => 'Оновити налаштування радіо'; + String get repeater_refreshRadioSettings => + 'Оновити налаштування радіо'; @override - String get repeater_refreshTxPower => 'Оновити потужність TX'; + String get repeater_refreshTxPower => + 'Оновити потужність TX'; @override String get repeater_refreshLocationSettings => - 'Оновити налаштування розташування'; + 'Оновити налаштування розташування'; @override - String get repeater_refreshPacketForwarding => 'Оновити пересилання пакетів'; + String get repeater_refreshPacketForwarding => + 'Оновити пересилання пакетів'; @override - String get repeater_refreshGuestAccess => 'Оновити гостьовий доступ'; + String get repeater_refreshGuestAccess => + 'Оновити гостьовий доступ'; @override - String get repeater_refreshPrivacyMode => 'Оновити режим приватності'; + String get repeater_refreshPrivacyMode => + 'Оновити режим приватності'; @override String get repeater_refreshAdvertisementSettings => - 'Оновити налаштування оголошень'; + 'Оновити налаштування оголошень'; @override String repeater_refreshed(String label) { - return '$label оновлено'; + return '$label оновлено'; } @override String repeater_errorRefreshing(String label) { - return 'Помилка оновлення $label'; + return 'Помилка оновлення $label'; } @override - String get repeater_cliTitle => 'Ретранслятор CLI'; + String get repeater_cliTitle => 'Ретранслятор CLI'; @override - String get repeater_debugNextCommand => 'Налагодити наступну команду'; + String get repeater_debugNextCommand => + 'Налагодити наступну команду'; @override - String get repeater_commandHelp => 'Довідка'; + String get repeater_commandHelp => 'Довідка'; @override - String get repeater_clearHistory => 'Очистити історію'; + String get repeater_clearHistory => 'Очистити історію'; @override - String get repeater_noCommandsSent => 'Команди ще не надсилалися.'; + String get repeater_noCommandsSent => + 'Команди ще не надсилалися.'; @override String get repeater_typeCommandOrUseQuick => - 'Введіть команду нижче або використовуйте швидкі команди'; + 'Введіть команду нижче або використовуйте швидкі команди'; @override - String get repeater_enterCommandHint => 'Введіть команду...'; + String get repeater_enterCommandHint => 'Введіть команду...'; @override - String get repeater_previousCommand => 'Попередня команда'; + String get repeater_previousCommand => 'Попередня команда'; @override - String get repeater_nextCommand => 'Наступна команда'; + String get repeater_nextCommand => 'Наступна команда'; @override - String get repeater_enterCommandFirst => 'Спершу введіть команду'; + String get repeater_enterCommandFirst => + 'Спершу введіть команду'; @override - String get repeater_cliCommandFrameTitle => 'Фрейм команди CLI'; + String get repeater_cliCommandFrameTitle => 'Фрейм команди CLI'; @override String repeater_cliCommandError(String error) { - return 'Помилка: $error'; + return 'Помилка: $error'; } @override - String get repeater_cliQuickGetName => 'Отримати ім\'я'; + String get repeater_cliQuickGetName => 'Отримати ім\'я'; @override - String get repeater_cliQuickGetRadio => 'Отримати Радіо'; + String get repeater_cliQuickGetRadio => 'Отримати Радіо'; @override - String get repeater_cliQuickGetTx => 'Отримати TX'; + String get repeater_cliQuickGetTx => 'Отримати TX'; @override - String get repeater_cliQuickNeighbors => 'Сусіди'; + String get repeater_cliQuickNeighbors => 'Сусіди'; @override - String get repeater_cliQuickVersion => 'Версія'; + String get repeater_cliQuickVersion => 'Версія'; @override - String get repeater_cliQuickAdvertise => 'Оголосити'; + String get repeater_cliQuickAdvertise => 'Оголосити'; @override - String get repeater_cliQuickClock => 'Годинник'; + String get repeater_cliQuickClock => 'Годинник'; @override - String get repeater_cliHelpAdvert => 'Надсилає пакет оголошення'; + String get repeater_cliHelpAdvert => + 'Надсилає пакет оголошення'; @override String get repeater_cliHelpReboot => - 'Перезавантажує пристрій. (Зверніть увагу, ви можете отримати «Тайм-аут», що є нормальним)'; + 'Перезавантажує пристрій. (Зверніть увагу, ви можете отримати «Тайм-аут», що Ñ” нормальним)'; @override String get repeater_cliHelpClock => - 'Відображає поточний час за годинником кожного пристрою.'; + 'Відображає поточний час за годинником кожного пристрою.'; @override String get repeater_cliHelpPassword => - 'Встановлює новий пароль адміністратора для пристрою.'; + 'Встановлює новий пароль адміністратора для пристрою.'; @override String get repeater_cliHelpVersion => - 'Відображає версію пристрою та дату збірки прошивки.'; + 'Відображає версію пристрою та дату збірки прошивки.'; @override String get repeater_cliHelpClearStats => - 'Скидає різні лічильники статистики до нуля.'; + 'Скидає різні лічильники статистики до нуля.'; @override - String get repeater_cliHelpSetAf => 'Встановлює коефіцієнт ефірного часу.'; + String get repeater_cliHelpSetAf => + 'Встановлює коефіцієнт ефірного часу.'; @override String get repeater_cliHelpSetTx => - 'Встановлює потужність передачі LoRa в дБм (для застосування потрібне перезавантаження).'; + 'Встановлює потужність передачі LoRa в дБм (для застосування потрібне перезавантаження).'; @override String get repeater_cliHelpSetRepeat => - 'Вмикає або вимикає роль ретранслятора для цього вузла.'; + 'Вмикає або вимикає роль ретранслятора для цього вузла.'; @override String get repeater_cliHelpSetAllowReadOnly => - '(Сервер кімнати) Якщо «увімкнено», порожній пароль дозволить вхід, але не дозволить публікувати в кімнаті. (тільки читання)'; + '(Сервер кімнати) Якщо «увімкнено», порожній пароль дозволить вхід, але не дозволить публікувати в кімнаті. (тільки читання)'; @override String get repeater_cliHelpSetFloodMax => - 'Встановлює максимальну кількість стрибків для вхідних пакетів flood (якщо >= max, пакет не пересилається).'; + 'Встановлює максимальну кількість стрибків для вхідних пакетів flood (якщо >= max, пакет не пересилається).'; @override String get repeater_cliHelpSetIntThresh => - 'Встановлює поріг інтерференції (в дБ). Значення за замовчуванням — 14. Встановлення на 0 вимикає виявлення інтерференції каналу.'; + 'Встановлює поріг інтерференції (в дБ). Значення за замовчуванням — 14. Встановлення на 0 вимикає виявлення інтерференції каналу.'; @override String get repeater_cliHelpSetAgcResetInterval => - 'Встановлює інтервал скидання автоматичного контролера посилення (AGC). Встановіть 0 для вимкнення.'; + 'Встановлює інтервал скидання автоматичного контролера посилення (AGC). Встановіть 0 для вимкнення.'; @override String get repeater_cliHelpSetMultiAcks => - 'Вмикає або вимикає функціональність подвійних ACK.'; + 'Вмикає або вимикає функціональність подвійних ACK.'; @override String get repeater_cliHelpSetAdvertInterval => - 'Встановлює інтервал таймера для надсилання локального пакету оголошення (без ретрансляції). Встановіть 0 для вимкнення.'; + 'Встановлює інтервал таймера для надсилання локального пакету оголошення (без ретрансляції). Встановіть 0 для вимкнення.'; @override String get repeater_cliHelpSetFloodAdvertInterval => - 'Встановлює інтервал таймера в годинах для надсилання пакету оголошення на всю мережу. Встановіть 0 для вимкнення.'; + 'Встановлює інтервал таймера в годинах для надсилання пакету оголошення на всю мережу. Встановіть 0 для вимкнення.'; @override String get repeater_cliHelpSetGuestPassword => - 'Встановлює/оновлює гостьовий пароль. (для ретрансляторів гостьові підключення можуть надсилати запит «Get Stats»)'; + 'Встановлює/оновлює гостьовий пароль. (для ретрансляторів гостьові підключення можуть надсилати запит «Get Stats»)'; @override - String get repeater_cliHelpSetName => 'Встановлює ім\'я для оголошення.'; + String get repeater_cliHelpSetName => + 'Встановлює ім\'я для оголошення.'; @override String get repeater_cliHelpSetLat => - 'Встановлює широту для карти оголошень. (десяткові градуси)'; + 'Встановлює широту для карти оголошень. (десяткові градуси)'; @override String get repeater_cliHelpSetLon => - 'Встановлює довготу для карти оголошень. (десяткові градуси)'; + 'Встановлює довготу для карти оголошень. (десяткові градуси)'; @override String get repeater_cliHelpSetRadio => - 'Повністю встановлює нові параметри радіо та зберігає їх у налаштуваннях. Потребує команди «перезавантаження» для застосування.'; + 'Повністю встановлює нові параметри радіо та зберігає Ñ—Ñ… у налаштуваннях. Потребує команди «перезавантаження» для застосування.'; @override String get repeater_cliHelpSetRxDelay => - 'Базові (експериментальні) параметри для застосування невеликої затримки до отриманих пакетів залежно від сили сигналу/оцінки. Встановіть 0 для вимкнення.'; + 'Базові (експериментальні) параметри для застосування невеликої затримки до отриманих пакетів залежно від сили сигналу/оцінки. Встановіть 0 для вимкнення.'; @override String get repeater_cliHelpSetTxDelay => - 'Встановлює множник для часу роботи в режимі «на всю мережу» (flood) для пакету та системи випадкових слотів, щоб затримати його відправку (для зменшення ймовірності колізій).'; + 'Встановлює множник для часу роботи в режимі «на всю мережу» (flood) для пакету та системи випадкових слотів, щоб затримати його відправку (для зменшення ймовірності колізій).'; @override String get repeater_cliHelpSetDirectTxDelay => - 'Те саме, що й txdelay, але для застосування випадкової затримки при пересиланні пакетів у прямому режимі.'; + 'Те саме, що й txdelay, але для застосування випадкової затримки при пересиланні пакетів у прямому режимі.'; @override - String get repeater_cliHelpSetBridgeEnabled => 'Увімкнути/Вимкнути міст.'; + String get repeater_cliHelpSetBridgeEnabled => + 'Увімкнути/Вимкнути міст.'; @override String get repeater_cliHelpSetBridgeDelay => - 'Встановити затримку перед пересиланням пакетів.'; + 'Встановити затримку перед пересиланням пакетів.'; @override String get repeater_cliHelpSetBridgeSource => - 'Виберіть, чи буде міст ретранслювати отримані пакети або передані пакети.'; + 'Виберіть, чи буде міст ретранслювати отримані пакети або передані пакети.'; @override String get repeater_cliHelpSetBridgeBaud => - 'Встановити швидкість послідовного зв\'язку для мостів Rs232.'; + 'Встановити швидкість послідовного зв\'язку для мостів Rs232.'; @override String get repeater_cliHelpSetBridgeSecret => - 'Встановити секрет мосту для мостів espnow.'; + 'Встановити секрет мосту для мостів espnow.'; @override String get repeater_cliHelpSetAdcMultiplier => - 'Встановлює власний множник для коригування повідомлюваної напруги батареї (підтримується лише на деяких платах).'; + 'Встановлює власний множник для коригування повідомлюваної напруги батареї (підтримується лише на деяких платах).'; @override String get repeater_cliHelpTempRadio => - 'Встановлює тимчасові параметри радіо на задану кількість хвилин, потім повертається до початкових налаштувань. (не зберігає в налаштуваннях).'; + 'Встановлює тимчасові параметри радіо на задану кількість хвилин, потім повертається до початкових налаштувань. (не зберігає в налаштуваннях).'; @override String get repeater_cliHelpSetPerm => - 'Змінює ACL (список контролю доступу). Видаляє відповідний запис (за префіксом публічного ключа), якщо «permissions» дорівнює нулю. Додає новий запис, якщо hex публічного ключа повний і його немає в ACL. Оновлює запис на основі префікса публічного ключа. Біти дозволів залежать від ролі прошивки, але нижні 2 біти: 0 (Гість), 1 (Тільки читання), 2 (Читання/Запис), 3 (Адміністратор).'; + 'Змінює ACL (список контролю доступу). Видаляє відповідний запис (за префіксом публічного ключа), якщо «permissions» дорівнює нулю. Додає новий запис, якщо hex публічного ключа повний Ñ– його немає в ACL. Оновлює запис на основі префікса публічного ключа. Біти дозволів залежать від ролі прошивки, але нижні 2 біти: 0 (Гість), 1 (Тільки читання), 2 (Читання/Запис), 3 (Адміністратор).'; @override String get repeater_cliHelpGetBridgeType => - 'Отримати тип мосту: немає, rs232, espnow'; + 'Отримати тип мосту: немає, rs232, espnow'; @override String get repeater_cliHelpLogStart => - 'Починає запис пакетів у файлову систему.'; + 'Починає запис пакетів у файлову систему.'; @override String get repeater_cliHelpLogStop => - 'Зупиняє запис пакетів у файлову систему.'; + 'Зупиняє запис пакетів у файлову систему.'; @override String get repeater_cliHelpLogErase => - 'Видаляє журнали пакетів з файлової системи.'; + 'Видаляє журнали пакетів з файлової системи.'; @override String get repeater_cliHelpNeighbors => - 'Показує список інших вузлів-ретрансляторів, почутих через оголошення без ретрансляції. Кожен рядок — id-hex-префікс:timestamp:snr-помножено-на-4'; + 'Показує список інших вузлів-ретрансляторів, почутих через оголошення без ретрансляції. Кожен рядок — id-hex-префікс:timestamp:snr-помножено-на-4'; @override String get repeater_cliHelpNeighborRemove => - 'Видаляє перший відповідний запис (за префіксом публічного ключа (hex)) зі списку сусідів.'; + 'Видаляє перший відповідний запис (за префіксом публічного ключа (hex)) зі списку сусідів.'; @override String get repeater_cliHelpRegion => - '(тільки серійний) Перелічує всі визначені регіони та поточні дозволи на оголошення «на всю мережу» (flood).'; + '(тільки серійний) Перелічує всі визначені регіони та поточні дозволи на оголошення «на всю мережу» (flood).'; @override String get repeater_cliHelpRegionLoad => - 'ПРИМІТКА: це спеціальний виклик кількох команд. Кожна наступна команда — це назва регіону (з відступом пробілами для позначення ієрархії батьків, мінімум один пробіл). Завершується надсиланням порожнього рядка/команди.'; + 'ПРИМІТКА: це спеціальний виклик кількох команд. Кожна наступна команда — це назва регіону (з відступом пробілами для позначення ієрархії батьків, мінімум один пробіл). Завершується надсиланням порожнього рядка/команди.'; @override String get repeater_cliHelpRegionGet => - 'Шукає регіон із заданим префіксом назви (або «» для глобальної області). Відповідає: «-> ім\'я-регіону (ім\'я-батька) \'F\'»'; + 'Шукає регіон із заданим префіксом назви (або «» для глобальної області). Відповідає: «-> ім\'я-регіону (ім\'я-батька) \'F\'»'; @override String get repeater_cliHelpRegionPut => - 'Додає або оновлює визначення регіону з заданою назвою.'; + 'Додає або оновлює визначення регіону з заданою назвою.'; @override String get repeater_cliHelpRegionRemove => - 'Видаляє визначення регіону з заданою назвою.'; + 'Видаляє визначення регіону з заданою назвою.'; @override String get repeater_cliHelpRegionAllowf => - 'Встановлює дозвіл «Flood» для заданого регіону. (\'\' для глобальної/успадкованої області)'; + 'Встановлює дозвіл «Flood» для заданого регіону. (\'\' для глобальної/успадкованої області)'; @override String get repeater_cliHelpRegionDenyf => - 'Видаляє дозвіл «Flood» для заданого регіону. (ПРИМІТКА: на даному етапі не рекомендується використовувати для глобальної/успадкованої області!! )'; + 'Видаляє дозвіл «Flood» для заданого регіону. (ПРИМІТКА: на даному етапі не рекомендується використовувати для глобальної/успадкованої області!! )'; @override String get repeater_cliHelpRegionHome => - 'Відповідає поточним «домашнім» регіоном. (Примітка: поки ніде не застосовується, зарезервовано для майбутнього використання)'; + 'Відповідає поточним «домашнім» регіоном. (Примітка: поки ніде не застосовується, зарезервовано для майбутнього використання)'; @override - String get repeater_cliHelpRegionHomeSet => 'Встановлює «домашній» регіон.'; + String get repeater_cliHelpRegionHomeSet => + 'Встановлює «домашній» регіон.'; @override String get repeater_cliHelpRegionSave => - 'Зберігає список/карту регіонів у сховищі.'; + 'Зберігає список/карту регіонів у сховищі.'; @override String get repeater_cliHelpGps => - 'Показує статус GPS. Коли GPS вимкнено, відповідає лише «вимкнено», якщо увімкнено — відповідає «увімкнено», статус, корекція, кількість супутників.'; + 'Показує статус GPS. Коли GPS вимкнено, відповідає лише «вимкнено», якщо увімкнено — відповідає «увімкнено», статус, корекція, кількість супутників.'; @override - String get repeater_cliHelpGpsOnOff => 'Увімкнути/вимкнути GPS.'; + String get repeater_cliHelpGpsOnOff => + 'Увімкнути/вимкнути GPS.'; @override String get repeater_cliHelpGpsSync => - 'Синхронізує час вузла з годинником GPS.'; + 'Синхронізує час вузла з годинником GPS.'; @override String get repeater_cliHelpGpsSetLoc => - 'Встановлює позицію вузла за координатами GPS і зберігає в налаштуваннях.'; + 'Встановлює позицію вузла за координатами GPS Ñ– зберігає в налаштуваннях.'; @override String get repeater_cliHelpGpsAdvert => - 'Надає конфігурацію оголошення розташування вузла:\n- none : не включати розташування в оголошення\n- share : ділитися розташуванням GPS (з SensorManager)\n- prefs : оголошувати розташування, збережене в налаштуваннях'; + 'Надає конфігурацію оголошення розташування вузла:\n- none : не включати розташування в оголошення\n- share : ділитися розташуванням GPS (з SensorManager)\n- prefs : оголошувати розташування, збережене в налаштуваннях'; @override String get repeater_cliHelpGpsAdvertSet => - 'Встановлює конфігурацію оголошення розташування.'; + 'Встановлює конфігурацію оголошення розташування.'; @override - String get repeater_commandsListTitle => 'Список команд'; + String get repeater_commandsListTitle => 'Список команд'; @override String get repeater_commandsListNote => - 'ПРИМІТКА: для різних команд «set»... також існує команда «get»...'; + 'ПРИМІТКА: для різних команд «set»... також існує команда «get»...'; @override - String get repeater_general => 'Загальні'; + String get repeater_general => 'Загальні'; @override - String get repeater_settingsCategory => 'Налаштування'; + String get repeater_settingsCategory => 'Налаштування'; @override - String get repeater_bridge => 'Міст'; + String get repeater_bridge => 'Міст'; @override - String get repeater_logging => 'Логування'; + String get repeater_logging => 'Логування'; @override - String get repeater_neighborsRepeaterOnly => 'Сусіди (Тільки ретранслятор)'; + String get repeater_neighborsRepeaterOnly => + 'Сусіди (Тільки ретранслятор)'; @override String get repeater_regionManagementRepeaterOnly => - 'Керування регіонами (Тільки ретранслятор)'; + 'Керування регіонами (Тільки ретранслятор)'; @override String get repeater_regionNote => - 'Команди регіонів були введені для керування визначеннями та дозволами регіонів.'; + 'Команди регіонів були введені для керування визначеннями та дозволами регіонів.'; @override - String get repeater_gpsManagement => 'Керування GPS'; + String get repeater_gpsManagement => 'Керування GPS'; @override String get repeater_gpsNote => - 'Команда GPS була введена для керування питаннями, пов\'язаними з локацією.'; + 'Команда GPS була введена для керування питаннями, пов\'язаними з локацією.'; @override - String get telemetry_receivedData => 'Дані телеметрії отримано'; + String get telemetry_receivedData => + 'Дані телеметрії отримано'; @override - String get telemetry_requestTimeout => 'Час запиту телеметрії вичерпано.'; + String get telemetry_requestTimeout => + 'Час запиту телеметрії вичерпано.'; @override String telemetry_errorLoading(String error) { - return 'Помилка завантаження телеметрії: $error'; + return 'Помилка завантаження телеметрії: $error'; } @override - String get telemetry_noData => 'Дані телеметрії недоступні.'; + String get telemetry_noData => + 'Дані телеметрії недоступні.'; @override String telemetry_channelTitle(int channel) { - return 'Канал $channel'; + return 'Канал $channel'; } @override - String get telemetry_batteryLabel => 'Батарея'; + String get telemetry_batteryLabel => 'Батарея'; @override - String get telemetry_voltageLabel => 'Напруга'; + String get telemetry_voltageLabel => 'Напруга'; @override - String get telemetry_mcuTemperatureLabel => 'Температура MCU'; + String get telemetry_mcuTemperatureLabel => 'Температура MCU'; @override - String get telemetry_temperatureLabel => 'Температура'; + String get telemetry_temperatureLabel => 'Температура'; @override - String get telemetry_currentLabel => 'Поточний струм'; + String get telemetry_currentLabel => 'Поточний струм'; @override String telemetry_batteryValue(int percent, String volts) { - return '$percent% / $voltsВ'; + return '$percent% / $voltsÐ’'; } @override String telemetry_voltageValue(String volts) { - return '$voltsВ'; + return '$voltsÐ’'; } @override String telemetry_currentValue(String amps) { - return '$ampsА'; + return '$ampsА'; } @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => 'Дані сусідів отримано'; + String get neighbors_receivedData => + 'Дані сусідів отримано'; @override - String get neighbors_requestTimedOut => 'Час запиту сусідів вичерпано.'; + String get neighbors_requestTimedOut => + 'Час запиту сусідів вичерпано.'; @override String neighbors_errorLoading(String error) { - return 'Помилка завантаження сусідів: $error'; + return 'Помилка завантаження сусідів: $error'; } @override - String get neighbors_repeatersNeighbors => 'Ретранслятори-сусіди'; + String get neighbors_repeatersNeighbors => + 'Ретранслятори-сусіди'; @override - String get neighbors_noData => 'Дані про сусідів недоступні.'; + String get neighbors_noData => + 'Дані про сусідів недоступні.'; @override String neighbors_unknownContact(String pubkey) { - return 'Невідомий відкритий ключ $pubkey'; + return 'Невідомий відкритий ключ $pubkey'; } @override String neighbors_heardAgo(String time) { - return 'Почуто: $time тому'; + return 'Почуто: $time тому'; } @override - String get channelPath_title => 'Шлях пакету'; + String get channelPath_title => 'Шлях пакету'; @override - String get channelPath_viewMap => 'Показати карту'; + String get channelPath_viewMap => 'Показати карту'; @override - String get channelPath_otherObservedPaths => 'Інші спостережувані шляхи'; + String get channelPath_otherObservedPaths => + 'Інші спостережувані шляхи'; @override - String get channelPath_repeaterHops => 'Стрибки ретранслятора'; + String get channelPath_repeaterHops => + 'Стрибки ретранслятора'; @override String get channelPath_noHopDetails => - 'Деталі відправки не надані для цього пакету.'; + 'Деталі відправки не надані для цього пакету.'; @override - String get channelPath_messageDetails => 'Деталі повідомлення'; + String get channelPath_messageDetails => + 'Деталі повідомлення'; @override - String get channelPath_senderLabel => 'Відправник'; + String get channelPath_senderLabel => 'Відправник'; @override - String get channelPath_timeLabel => 'Час'; + String get channelPath_timeLabel => 'Час'; @override - String get channelPath_repeatsLabel => 'Повторення'; + String get channelPath_repeatsLabel => 'Повторення'; @override String channelPath_pathLabel(int index) { - return 'Шлях $index'; + return 'Шлях $index'; } @override - String get channelPath_observedLabel => 'Спостережено'; + String get channelPath_observedLabel => 'Спостережено'; @override String channelPath_observedPathTitle(int index, String hops) { - return 'Спостережуваний шлях $index • $hops'; + return 'Спостережуваний шлях $index • $hops'; } @override - String get channelPath_noLocationData => 'Немає даних про розташування'; + String get channelPath_noLocationData => + 'Немає даних про розташування'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2557,153 +2684,161 @@ class AppLocalizationsUk extends AppLocalizations { } @override - String get channelPath_unknownPath => 'Невідомий'; + String get channelPath_unknownPath => 'Невідомий'; @override - String get channelPath_floodPath => 'На всю мережу'; + String get channelPath_floodPath => 'На всю мережу'; @override - String get channelPath_directPath => 'Прямий'; + String get channelPath_directPath => 'Прямий'; @override String channelPath_observedZeroOf(int total) { - return '0 з $total стрибків'; + return '0 з $total стрибків'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed з $total стрибків'; + return '$observed з $total стрибків'; } @override - String get channelPath_mapTitle => 'Карта шляху'; + String get channelPath_mapTitle => 'Карта шляху'; @override String get channelPath_noRepeaterLocations => - 'Позиції ретрансляторів недоступні для цього шляху.'; + 'Позиції ретрансляторів недоступні для цього шляху.'; @override String channelPath_primaryPath(int index) { - return 'Шлях $index (Основний)'; + return 'Шлях $index (Основний)'; } @override - String get channelPath_pathLabelTitle => 'Шлях'; + String get channelPath_pathLabelTitle => 'Шлях'; @override - String get channelPath_observedPathHeader => 'Спостережуваний шлях'; + String get channelPath_observedPathHeader => + 'Спостережуваний шлях'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override String get channelPath_noHopDetailsAvailable => - 'Деталі стрибків недоступні для цього пакету.'; + 'Деталі стрибків недоступні для цього пакету.'; @override - String get channelPath_unknownRepeater => 'Невідомий ретранслятор'; + String get channelPath_unknownRepeater => + 'Невідомий ретранслятор'; @override - String get community_title => 'Спільнота'; + String get community_title => 'Спільнота'; @override - String get community_create => 'Створити спільноту'; + String get community_create => 'Створити спільноту'; @override String get community_createDesc => - 'Створити нову спільноту та поділитися через QR-код.'; + 'Створити нову спільноту та поділитися через QR-код.'; @override - String get community_join => 'Приєднатися'; + String get community_join => 'Приєднатися'; @override - String get community_joinTitle => 'Приєднатися до спільноти'; + String get community_joinTitle => + 'Приєднатися до спільноти'; @override String community_joinConfirmation(String name) { - return 'Ви бажаєте приєднатися до спільноти «$name»?'; + return 'Ви бажаєте приєднатися до спільноти «$name»?'; } @override - String get community_scanQr => 'Сканувати QR спільноти'; + String get community_scanQr => 'Сканувати QR спільноти'; @override String get community_scanInstructions => - 'Наведіть камеру на QR-код спільноти.'; + 'Наведіть камеру на QR-код спільноти.'; @override - String get community_showQr => 'Показати QR-код'; + String get community_showQr => 'Показати QR-код'; @override - String get community_publicChannel => 'Публічна спільнота'; + String get community_publicChannel => 'Публічна спільнота'; @override - String get community_hashtagChannel => 'Хештег спільноти'; + String get community_hashtagChannel => 'Хештег спільноти'; @override - String get community_name => 'Назва спільноти'; + String get community_name => 'Назва спільноти'; @override - String get community_enterName => 'Введіть назву спільноти'; + String get community_enterName => + 'Введіть назву спільноти'; @override String community_created(String name) { - return 'Спільноту «$name» створено'; + return 'Спільноту «$name» створено'; } @override String community_joined(String name) { - return 'Приєднався до спільноти «$name»'; + return 'Приєднався до спільноти «$name»'; } @override - String get community_qrTitle => 'Поділитися спільнотою'; + String get community_qrTitle => 'Поділитися спільнотою'; @override String community_qrInstructions(String name) { - return 'Відскануйте цей QR-код, щоб приєднатися до $name'; + return 'Відскануйте цей QR-код, щоб приєднатися до $name'; } @override String get community_hashtagPrivacyHint => - 'Канали хештегів спільноти доступні лише членам спільноти'; + 'Канали хештегів спільноти доступні лише членам спільноти'; @override - String get community_invalidQrCode => 'Недійсний QR-код спільноти'; + String get community_invalidQrCode => + 'Недійсний QR-код спільноти'; @override - String get community_alreadyMember => 'Вже учасник'; + String get community_alreadyMember => 'Вже учасник'; @override String community_alreadyMemberMessage(String name) { - return 'Ви вже є учасником «$name».'; + return 'Ви вже Ñ” учасником «$name».'; } @override - String get community_addPublicChannel => 'Додати публічний канал спільноти'; + String get community_addPublicChannel => + 'Додати публічний канал спільноти'; @override String get community_addPublicChannelHint => - 'Автоматично додати публічний канал для цієї спільноти'; + 'Автоматично додати публічний канал для цієї спільноти'; @override - String get community_noCommunities => 'Поки не приєднано до жодної групи.'; + String get community_noCommunities => + 'Поки не приєднано до жодної групи.'; @override String get community_scanOrCreate => - 'Відскануйте QR-код або створіть спільноту, щоб почати'; + 'Відскануйте QR-код або створіть спільноту, щоб почати'; @override - String get community_manageCommunities => 'Керувати спільнотами'; + String get community_manageCommunities => + 'Керувати спільнотами'; @override - String get community_delete => 'Покинути спільноту'; + String get community_delete => 'Покинути спільноту'; @override String community_deleteConfirm(String name) { - return 'Покинути «$name»?'; + return 'Покинути «$name»?'; } @override @@ -2711,196 +2846,205 @@ class AppLocalizationsUk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'каналів', - many: 'каналів', - few: 'канали', - one: 'канал', + other: 'каналів', + many: 'каналів', + few: 'канали', + one: 'канал', ); - return 'Це також видалить $count $_temp0 та їх повідомлення.'; + return 'Це також видалить $count $_temp0 та Ñ—Ñ… повідомлення.'; } @override String community_deleted(String name) { - return 'Спільноту «$name» покинуто'; + return 'Спільноту «$name» покинуто'; } @override - String get community_regenerateSecret => 'Перегенерувати секрет'; + String get community_regenerateSecret => + 'Перегенерувати секрет'; @override String community_regenerateSecretConfirm(String name) { - return 'Перегенерувати секретний ключ для «$name»? Всі учасники повинні будуть відсканувати новий QR-код, щоб продовжити спілкування.'; + return 'Перегенерувати секретний ключ для «$name»? Всі учасники повинні будуть відсканувати новий QR-код, щоб продовжити спілкування.'; } @override - String get community_regenerate => 'Перегенерувати'; + String get community_regenerate => 'Перегенерувати'; @override String community_secretRegenerated(String name) { - return 'Секретний пароль для «$name» перегенеровано'; + return 'Секретний пароль для «$name» перегенеровано'; } @override - String get community_updateSecret => 'Оновити секрет'; + String get community_updateSecret => 'Оновити секрет'; @override String community_secretUpdated(String name) { - return 'Зміну секрету для «$name» оновлено'; + return 'Зміну секрету для «$name» оновлено'; } @override String community_scanToUpdateSecret(String name) { - return 'Відскануйте новий QR-код, щоб оновити пароль для «$name»'; + return 'Відскануйте новий QR-код, щоб оновити пароль для «$name»'; } @override - String get community_addHashtagChannel => 'Додати хештег спільноти'; + String get community_addHashtagChannel => + 'Додати хештег спільноти'; @override String get community_addHashtagChannelDesc => - 'Додати канал хештегу для цієї спільноти'; + 'Додати канал хештегу для цієї спільноти'; @override - String get community_selectCommunity => 'Вибрати спільноту'; + String get community_selectCommunity => 'Вибрати спільноту'; @override - String get community_regularHashtag => 'Звичайний хештег'; + String get community_regularHashtag => 'Звичайний хештег'; @override String get community_regularHashtagDesc => - 'Публічний хештег (будь-хто може приєднатися)'; + 'Публічний хештег (будь-хто може приєднатися)'; @override - String get community_communityHashtag => 'Хештег спільноти'; + String get community_communityHashtag => 'Хештег спільноти'; @override String get community_communityHashtagDesc => - 'Ексклюзивно для членів спільноти'; + 'Ексклюзивно для членів спільноти'; @override String community_forCommunity(String name) { - return 'Для $name'; + return 'Для $name'; } @override - String get listFilter_tooltip => 'Фільтр та сортування'; + String get listFilter_tooltip => 'Фільтр та сортування'; @override - String get listFilter_sortBy => 'Сортувати за'; + String get listFilter_sortBy => 'Сортувати за'; @override - String get listFilter_latestMessages => 'Останні повідомлення'; + String get listFilter_latestMessages => + 'Останні повідомлення'; @override - String get listFilter_heardRecently => 'Нещодавно чули'; + String get listFilter_heardRecently => 'Нещодавно чули'; @override - String get listFilter_az => 'А-Я'; + String get listFilter_az => 'А-Я'; @override - String get listFilter_filters => 'Фільтри'; + String get listFilter_filters => 'Фільтри'; @override - String get listFilter_all => 'Все'; + String get listFilter_all => 'Все'; @override - String get listFilter_favorites => 'Улюблені'; + String get listFilter_favorites => 'Улюблені'; @override - String get listFilter_addToFavorites => 'Додати до улюблених'; + String get listFilter_addToFavorites => + 'Додати до улюблених'; @override - String get listFilter_removeFromFavorites => 'Видалити зі списку улюблених'; + String get listFilter_removeFromFavorites => + 'Видалити зі списку улюблених'; @override - String get listFilter_users => 'Користувачі'; + String get listFilter_users => 'Користувачі'; @override - String get listFilter_repeaters => 'Ретранслятори'; + String get listFilter_repeaters => 'Ретранслятори'; @override - String get listFilter_roomServers => 'Сервери кімнат'; + String get listFilter_roomServers => 'Сервери кімнат'; @override - String get listFilter_unreadOnly => 'Тільки непрочитані повідомлення'; + String get listFilter_unreadOnly => + 'Тільки непрочитані повідомлення'; @override - String get listFilter_newGroup => 'Нова група'; + String get listFilter_newGroup => 'Нова група'; @override - String get pathTrace_you => 'Ви'; + String get pathTrace_you => 'Ви'; @override - String get pathTrace_failed => 'Відстеження шляху не вдалося.'; + String get pathTrace_failed => + 'Відстеження шляху не вдалося.'; @override - String get pathTrace_notAvailable => 'Трасування шляху недоступне.'; + String get pathTrace_notAvailable => + 'Трасування шляху недоступне.'; @override - String get pathTrace_refreshTooltip => 'Оновити Path Trace'; + String get pathTrace_refreshTooltip => 'Оновити Path Trace'; @override String get pathTrace_someHopsNoLocation => - 'Одне або більше хмелів відсутнє місце розташування!'; + 'Одне або більше хмелів відсутнє місце розташування!'; @override - String get pathTrace_clearTooltip => 'Очистити шлях'; + String get pathTrace_clearTooltip => 'Очистити шлях'; @override String get losSelectStartEnd => - 'Виберіть початковий і кінцевий вузли для LOS.'; + 'Виберіть початковий Ñ– кінцевий вузли для LOS.'; @override String losRunFailed(String error) { - return 'Помилка перевірки прямої видимості: $error'; + return 'Помилка перевірки прямої видимості: $error'; } @override - String get losClearAllPoints => 'Очистити всі пункти'; + String get losClearAllPoints => 'Очистити всі пункти'; @override String get losRunToViewElevationProfile => - 'Запустіть LOS, щоб переглянути профіль висоти'; + 'Запустіть LOS, щоб переглянути профіль висоти'; @override - String get losMenuTitle => 'Меню LOS'; + String get losMenuTitle => 'Меню LOS'; @override String get losMenuSubtitle => - 'Торкніться вузлів або утримуйте карту, щоб отримати власні точки'; + 'Торкніться вузлів або утримуйте карту, щоб отримати власні точки'; @override - String get losShowDisplayNodes => 'Показати вузли відображення'; + String get losShowDisplayNodes => + 'Показати вузли відображення'; @override - String get losCustomPoints => 'Користувальницькі точки'; + String get losCustomPoints => 'Користувальницькі точки'; @override String losCustomPointLabel(int index) { - return 'Спеціальний $index'; + return 'Спеціальний $index'; } @override - String get losPointA => 'Точка А'; + String get losPointA => 'Точка А'; @override - String get losPointB => 'Точка Б'; + String get losPointB => 'Точка Б'; @override String losAntennaA(String value, String unit) { - return 'Антена A: $value $unit'; + return 'Антена A: $value $unit'; } @override String losAntennaB(String value, String unit) { - return 'Антена B: $value $unit'; + return 'Антена B: $value $unit'; } @override - String get losRun => 'Запустіть LOS'; + String get losRun => 'Запустіть LOS'; @override - String get losNoElevationData => 'Немає даних про висоту'; + String get losNoElevationData => 'Немає даних про висоту'; @override String losProfileClear( @@ -2909,7 +3053,7 @@ class AppLocalizationsUk extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit, чистий LOS, мінімальний зазор $clearance $heightUnit'; + return '$distance $distanceUnit, чистий LOS, мінімальний зазор $clearance $heightUnit'; } @override @@ -2919,61 +3063,64 @@ class AppLocalizationsUk extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit, заблоковано $obstruction $heightUnit'; + return '$distance $distanceUnit, заблоковано $obstruction $heightUnit'; } @override - String get losStatusChecking => 'LOS: перевірка...'; + String get losStatusChecking => 'LOS: перевірка...'; @override - String get losStatusNoData => 'LOS: немає даних'; + String get losStatusNoData => 'LOS: немає даних'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS: $clear/$total очищено, $blocked заблоковано, $unknown невідомо'; + return 'LOS: $clear/$total очищено, $blocked заблоковано, $unknown невідомо'; } @override String get losErrorElevationUnavailable => - 'Дані про висоту недоступні для одного чи кількох зразків.'; + 'Дані про висоту недоступні для одного чи кількох зразків.'; @override String get losErrorInvalidInput => - 'Недійсні дані про точки/висоту для розрахунку LOS.'; + 'Недійсні дані про точки/висоту для розрахунку LOS.'; @override - String get losRenameCustomPoint => 'Перейменуйте спеціальну точку'; + String get losRenameCustomPoint => + 'Перейменуйте спеціальну точку'; @override - String get losPointName => 'Назва точки'; + String get losPointName => 'Назва точки'; @override - String get losShowPanelTooltip => 'Показати панель LOS'; + String get losShowPanelTooltip => 'Показати панель LOS'; @override - String get losHidePanelTooltip => 'Приховати панель LOS'; + String get losHidePanelTooltip => 'Приховати панель LOS'; @override String get losElevationAttribution => - 'Дані про висоту: Open-Meteo (CC BY 4.0)'; + 'Дані про висоту: Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => 'Радіогоризонт'; + String get losLegendRadioHorizon => 'Радіогоризонт'; @override - String get losLegendLosBeam => 'Лінія прямої видимості'; + String get losLegendLosBeam => 'Лінія прямої видимості'; @override - String get losLegendTerrain => 'Рельєф'; + String get losLegendTerrain => 'Рельєф'; @override - String get losFrequencyLabel => 'Частота'; + String get losFrequencyLabel => 'Частота'; @override - String get losFrequencyInfoTooltip => 'Переглянути деталі розрахунку'; + String get losFrequencyInfoTooltip => + 'Переглянути деталі розрахунку'; @override - String get losFrequencyDialogTitle => 'Розрахунок радіогоризонту'; + String get losFrequencyDialogTitle => + 'Розрахунок радіогоризонту'; @override String losFrequencyDialogDescription( @@ -2982,96 +3129,104 @@ class AppLocalizationsUk extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return 'Починаючи з k=$baselineK на $baselineFreq МГц, обчислення коригує k-фактор для поточного діапазону $frequencyMHz МГц, який визначає викривлену межу радіогоризонту.'; + return 'Починаючи з k=$baselineK на $baselineFreq МГц, обчислення коригує k-фактор для поточного діапазону $frequencyMHz МГц, який визначає викривлену межу радіогоризонту.'; } @override - String get contacts_pathTrace => 'Трасування шляхів'; + String get contacts_pathTrace => 'Трасування шляхів'; @override - String get contacts_ping => 'Пінгувати'; + String get contacts_ping => 'Пінгувати'; @override - String get contacts_repeaterPathTrace => 'Трасування шляху до повторювача'; + String get contacts_repeaterPathTrace => + 'Трасування шляху до повторювача'; @override - String get contacts_repeaterPing => 'Пінгувати повторювач'; + String get contacts_repeaterPing => 'Пінгувати повторювач'; @override - String get contacts_roomPathTrace => 'Трасування шляху до серверу кімнати'; + String get contacts_roomPathTrace => + 'Трасування шляху до серверу кімнати'; @override - String get contacts_roomPing => 'Пінг сервера кімнати'; + String get contacts_roomPing => 'Пінг сервера кімнати'; @override - String get contacts_chatTraceRoute => 'Трасування шляху'; + String get contacts_chatTraceRoute => 'Трасування шляху'; @override String contacts_pathTraceTo(String name) { - return 'Відстежити маршрут до $name'; + return 'Відстежити маршрут до $name'; } @override - String get contacts_clipboardEmpty => 'Буфер обміну порожній'; + String get contacts_clipboardEmpty => + 'Буфер обміну порожній'; @override - String get contacts_invalidAdvertFormat => 'Недійсні контактні дані'; + String get contacts_invalidAdvertFormat => + 'Недійсні контактні дані'; @override - String get contacts_contactImported => 'Контакт було імпортовано.'; + String get contacts_contactImported => + 'Контакт було імпортовано.'; @override - String get contacts_contactImportFailed => 'Контакт не вдалося імпортувати'; + String get contacts_contactImportFailed => + 'Контакт не вдалося імпортувати'; @override - String get contacts_zeroHopAdvert => 'Реклама без перехоплення'; + String get contacts_zeroHopAdvert => + 'Реклама без перехоплення'; @override - String get contacts_floodAdvert => 'Залив реклами'; + String get contacts_floodAdvert => 'Залив реклами'; @override String get contacts_copyAdvertToClipboard => - 'Копіювати оголошення в буфер обміну'; + 'Копіювати оголошення в буфер обміну'; @override String get contacts_addContactFromClipboard => - 'Додати контакт з буфера обміну'; + 'Додати контакт з буфера обміну'; @override - String get contacts_ShareContact => 'Копіювати контакт у буфер обміну'; + String get contacts_ShareContact => + 'Копіювати контакт у буфер обміну'; @override String get contacts_ShareContactZeroHop => - 'Поділитися контактом за оголошенням'; + 'Поділитися контактом за оголошенням'; @override String get contacts_zeroHopContactAdvertSent => - 'Відправлено контакт за оголошенням'; + 'Відправлено контакт за оголошенням'; @override String get contacts_zeroHopContactAdvertFailed => - 'Не вдалося надіслати контакт.'; + 'Не вдалося надіслати контакт.'; @override String get contacts_contactAdvertCopied => - 'Рекламу скопійовано до буфера обміну.'; + 'Рекламу скопійовано до буфера обміну.'; @override String get contacts_contactAdvertCopyFailed => - 'Копіювання оголошення в буфер обміну завершилося невдало'; + 'Копіювання оголошення в буфер обміну завершилося невдало'; @override - String get notification_activityTitle => 'Активність MeshCore'; + String get notification_activityTitle => 'Активність MeshCore'; @override String notification_messagesCount(int count) { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'повідомлень', - many: 'повідомлень', - few: 'повідомлення', - one: 'повідомлення', + other: 'повідомлень', + many: 'повідомлень', + few: 'повідомлення', + one: 'повідомлення', ); return '$count $_temp0'; } @@ -3081,10 +3236,10 @@ class AppLocalizationsUk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'повідомлень каналу', - many: 'повідомлень каналу', - few: 'повідомлення каналу', - one: 'повідомлення каналу', + other: 'повідомлень каналу', + many: 'повідомлень каналу', + few: 'повідомлення каналу', + one: 'повідомлення каналу', ); return '$count $_temp0'; } @@ -3094,78 +3249,86 @@ class AppLocalizationsUk extends AppLocalizations { String _temp0 = intl.Intl.pluralLogic( count, locale: localeName, - other: 'нових вузлів', - many: 'нових вузлів', - few: 'нових вузли', - one: 'новий вузол', + other: 'нових вузлів', + many: 'нових вузлів', + few: 'нових вузли', + one: 'новий вузол', ); return '$count $_temp0'; } @override String notification_newTypeDiscovered(String contactType) { - return 'Виявлено новий $contactType'; + return 'Виявлено новий $contactType'; } @override - String get notification_receivedNewMessage => 'Отримано нове повідомлення'; + String get notification_receivedNewMessage => + 'Отримано нове повідомлення'; @override String get settings_gpxExportRepeaters => - 'Експортувати ретранслятори / сервер кімнати до GPX'; + 'Експортувати ретранслятори / сервер кімнати до GPX'; @override String get settings_gpxExportRepeatersSubtitle => - 'Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.'; + 'Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.'; @override - String get settings_gpxExportContacts => 'Експортувати супутників до GPX'; + String get settings_gpxExportContacts => + 'Експортувати супутників до GPX'; @override String get settings_gpxExportContactsSubtitle => - 'Експортує супутників з місцезнаходженням у файл GPX.'; + 'Експортує супутників з місцезнаходженням у файл GPX.'; @override - String get settings_gpxExportAll => 'Експортувати всі контакти до GPX'; + String get settings_gpxExportAll => + 'Експортувати всі контакти до GPX'; @override String get settings_gpxExportAllSubtitle => - 'Експортує всі контакти з місцем розташування у файл GPX.'; + 'Експортує всі контакти з місцем розташування у файл GPX.'; @override - String get settings_gpxExportSuccess => 'Успішно експортовано файл GPX.'; + String get settings_gpxExportSuccess => + 'Успішно експортовано файл GPX.'; @override - String get settings_gpxExportNoContacts => 'Немає контактів для експорту.'; + String get settings_gpxExportNoContacts => + 'Немає контактів для експорту.'; @override String get settings_gpxExportNotAvailable => - 'Не підтримується на вашому пристрої/операційній системі'; + 'Не підтримується на вашому пристрої/операційній системі'; @override - String get settings_gpxExportError => 'Сталася помилка під час експорту.'; + String get settings_gpxExportError => + 'Сталася помилка під час експорту.'; @override String get settings_gpxExportRepeatersRoom => - 'Місцезнаходження повторювача та сервера кімнати'; + 'Місцезнаходження повторювача та сервера кімнати'; @override - String get settings_gpxExportChat => 'Місця супутників'; + String get settings_gpxExportChat => 'Місця супутників'; @override - String get settings_gpxExportAllContacts => 'Усі місця контактів'; + String get settings_gpxExportAllContacts => + 'Усі місця контактів'; @override String get settings_gpxExportShareText => - 'Дані карти експортовані з meshcore-open'; + 'Дані карти експортовані з meshcore-open'; @override String get settings_gpxExportShareSubject => - 'експорт даних карти meshcore-open у форматі GPX'; + 'експорт даних карти meshcore-open у форматі GPX'; @override - String get snrIndicator_nearByRepeaters => 'Ближні ретранслятори'; + String get snrIndicator_nearByRepeaters => + 'Ближні ретранслятори'; @override - String get snrIndicator_lastSeen => 'Останній раз бачили'; + String get snrIndicator_lastSeen => 'Останній раз бачили'; } diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 678c63b..ef3bafa 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -12,88 +12,88 @@ class AppLocalizationsZh extends AppLocalizations { String get appTitle => 'MeshCore Open'; @override - String get nav_contacts => '联系人'; + String get nav_contacts => '联系人'; @override - String get nav_channels => '频道'; + String get nav_channels => '频道'; @override - String get nav_map => '地图'; + String get nav_map => '地图'; @override - String get common_cancel => '取消'; + String get common_cancel => '取消'; @override - String get common_ok => '确定'; + String get common_ok => '确定'; @override - String get common_connect => '连接'; + String get common_connect => '连接'; @override - String get common_unknownDevice => '未知设备'; + String get common_unknownDevice => '未知设备'; @override - String get common_save => '保存'; + String get common_save => '保存'; @override - String get common_delete => '删除'; + String get common_delete => '删除'; @override - String get common_close => '关闭'; + String get common_close => '关闭'; @override - String get common_edit => '编辑'; + String get common_edit => '编辑'; @override - String get common_add => '添加'; + String get common_add => '添加'; @override - String get common_settings => '设置'; + String get common_settings => '设置'; @override - String get common_disconnect => '断开'; + String get common_disconnect => 'æ–­å¼€'; @override - String get common_connected => '已连接'; + String get common_connected => '已连接'; @override - String get common_disconnected => '已断开'; + String get common_disconnected => '已断开'; @override - String get common_create => '创建'; + String get common_create => '创建'; @override - String get common_continue => '继续'; + String get common_continue => 'ç»§ç»­'; @override - String get common_share => '分享'; + String get common_share => '分享'; @override - String get common_copy => '复制'; + String get common_copy => '复制'; @override - String get common_retry => '重试'; + String get common_retry => '重试'; @override - String get common_hide => '隐藏'; + String get common_hide => '隐藏'; @override - String get common_remove => '移除'; + String get common_remove => '移除'; @override - String get common_enable => '启用'; + String get common_enable => '启用'; @override - String get common_disable => '禁用'; + String get common_disable => '禁用'; @override - String get common_reboot => '重启'; + String get common_reboot => '重启'; @override - String get common_loading => '正在加载...'; + String get common_loading => '正在加载...'; @override - String get common_notAvailable => '—'; + String get common_notAvailable => '—'; @override String common_voltageValue(String volts) { @@ -106,228 +106,233 @@ class AppLocalizationsZh extends AppLocalizations { } @override - String get scanner_title => '连接设备'; - - @override - String get connectionChoiceTitle => '选择您的连接方式'; - - @override - String get connectionChoiceSubtitle => '请选择您希望如何访问 MeshCore 设备的选项。'; + String get scanner_title => '连接设备'; @override String get connectionChoiceUsbLabel => 'USB'; @override - String get connectionChoiceBluetoothLabel => '蓝牙'; + String get connectionChoiceBluetoothLabel => '蓝牙'; @override - String get usbScreenTitle => '通过USB连接'; + String get usbScreenTitle => '通过USB连接'; @override - String get usbScreenSubtitle => '选择已检测到的串行设备,并直接连接到您的 MeshCore 节点。'; + String get usbScreenSubtitle => + '选择已检测到的串行设备,并直接连接到您的 MeshCore 节点。'; @override - String get usbScreenStatus => '选择一个 USB 设备'; + String get usbScreenStatus => '选择一个 USB 设备'; @override - String get usbScreenNote => '在支持的 Android 设备和桌面平台上,USB 串行通信功能已启用。'; + String get usbScreenNote => + '在支持的 Android 设备和桌面平台上,USB 串行通信功能已启用。'; @override - String get usbScreenEmptyState => '未找到任何 USB 设备。请插入一个,然后刷新。'; + String get usbScreenEmptyState => + '未找到任何 USB 设备。请插入一个,然后刷新。'; @override - String get scanner_scanning => '正在搜索设备...'; + String get scanner_scanning => '正在搜索设备...'; @override - String get scanner_connecting => '正在连接...'; + String get scanner_connecting => '正在连接...'; @override - String get scanner_disconnecting => '断开连接...'; + String get scanner_disconnecting => '断开连接...'; @override - String get scanner_notConnected => '未连接'; + String get scanner_notConnected => '未连接'; @override String scanner_connectedTo(String deviceName) { - return '已连接到 $deviceName'; + return '已连接到 $deviceName'; } @override - String get scanner_searchingDevices => '正在搜索 MeshCore 设备...'; + String get scanner_searchingDevices => '正在搜索 MeshCore 设备...'; @override - String get scanner_tapToScan => '点击“扫描”按钮以查找 MeshCore 设备。'; + String get scanner_tapToScan => + '点击“扫描”按钮以查找 MeshCore 设备。'; @override String scanner_connectionFailed(String error) { - return '连接失败:$error'; + return '连接失败:$error'; } @override - String get scanner_stop => '停止'; + String get scanner_stop => '停止'; @override - String get scanner_scan => '扫描'; + String get scanner_scan => '扫描'; @override - String get scanner_bluetoothOff => '蓝牙已关闭'; + String get scanner_bluetoothOff => '蓝牙已关闭'; @override - String get scanner_bluetoothOffMessage => '请开启蓝牙以搜索设备'; + String get scanner_bluetoothOffMessage => '请开启蓝牙以搜索设备'; @override - String get scanner_chromeRequired => '需要 Chrome 浏览器'; + String get scanner_chromeRequired => '需要 Chrome 浏览器'; @override String get scanner_chromeRequiredMessage => - '此 Web 应用程序需要 Google Chrome 或基于 Chromium 的浏览器以支持蓝牙。'; + 'æ­¤ Web 应用程序需要 Google Chrome 或基于 Chromium 的浏览器以支持蓝牙。'; @override - String get scanner_enableBluetooth => '启用蓝牙'; + String get scanner_enableBluetooth => '启用蓝牙'; @override - String get device_quickSwitch => '快速切换'; + String get device_quickSwitch => '快速切换'; @override String get device_meshcore => 'MeshCore'; @override - String get settings_title => '设置'; + String get settings_title => '设置'; @override - String get settings_deviceInfo => '设备信息'; + String get settings_deviceInfo => '设备信息'; @override - String get settings_appSettings => '应用设置'; + String get settings_appSettings => '应用设置'; @override - String get settings_appSettingsSubtitle => '通知、消息和地图偏好'; + String get settings_appSettingsSubtitle => '通知、消息和地图偏好'; @override - String get settings_nodeSettings => '节点设置'; + String get settings_nodeSettings => '节点设置'; @override - String get settings_nodeName => '节点名称'; + String get settings_nodeName => '节点名称'; @override - String get settings_nodeNameNotSet => '未设置'; + String get settings_nodeNameNotSet => '未设置'; @override - String get settings_nodeNameHint => '请输入节点名称'; + String get settings_nodeNameHint => '请输入节点名称'; @override - String get settings_nodeNameUpdated => '节点名称已更新'; + String get settings_nodeNameUpdated => '节点名称已更新'; @override - String get settings_radioSettings => '无线电设置'; + String get settings_radioSettings => '无线电设置'; @override - String get settings_radioSettingsSubtitle => '频率、功率、扩频因子'; + String get settings_radioSettingsSubtitle => '频率、功率、扩频因子'; @override - String get settings_radioSettingsUpdated => '无线电设置已更新'; + String get settings_radioSettingsUpdated => '无线电设置已更新'; @override - String get settings_location => '位置'; + String get settings_location => '位置'; @override - String get settings_locationSubtitle => 'GPS 坐标'; + String get settings_locationSubtitle => 'GPS 坐标'; @override - String get settings_locationUpdated => '位置和 GPS 设置已更新'; + String get settings_locationUpdated => '位置和 GPS 设置已更新'; @override - String get settings_locationBothRequired => '请输入经度和纬度'; + String get settings_locationBothRequired => '请输入经度和纬度'; @override - String get settings_locationInvalid => '无效的经度和纬度'; + String get settings_locationInvalid => '无效的经度和纬度'; @override - String get settings_locationGPSEnable => '启用 GPS'; + String get settings_locationGPSEnable => '启用 GPS'; @override - String get settings_locationGPSEnableSubtitle => '启用 GPS 以自动更新位置。'; + String get settings_locationGPSEnableSubtitle => + '启用 GPS 以自动更新位置。'; @override - String get settings_locationIntervalSec => 'GPS 间隔(秒)'; + String get settings_locationIntervalSec => 'GPS 间隔(秒)'; @override - String get settings_locationIntervalInvalid => '间隔时间必须至少为 60 秒,但不超过 86400 秒。'; + String get settings_locationIntervalInvalid => + '间隔时间必须至少为 60 秒,但不超过 86400 秒。'; @override - String get settings_latitude => '纬度'; + String get settings_latitude => '纬度'; @override - String get settings_longitude => '经度'; + String get settings_longitude => '经度'; @override - String get settings_privacyMode => '隐私模式'; + String get settings_privacyMode => '隐私模式'; @override - String get settings_privacyModeSubtitle => '在广告中隐藏姓名/位置'; + String get settings_privacyModeSubtitle => '在广告中隐藏姓名/位置'; @override - String get settings_privacyModeToggle => '切换隐私模式以在广告中隐藏姓名和位置,保护个人信息。'; + String get settings_privacyModeToggle => + '切换隐私模式以在广告中隐藏姓名和位置,保护个人信息。'; @override - String get settings_privacyModeEnabled => '隐私模式已启用'; + String get settings_privacyModeEnabled => '隐私模式已启用'; @override - String get settings_privacyModeDisabled => '隐私模式已关闭'; + String get settings_privacyModeDisabled => '隐私模式已关闭'; @override - String get settings_actions => '操作'; + String get settings_actions => '操作'; @override - String get settings_sendAdvertisement => '发送广播'; + String get settings_sendAdvertisement => '发送广播'; @override - String get settings_sendAdvertisementSubtitle => '立即发送广播'; + String get settings_sendAdvertisementSubtitle => '立即发送广播'; @override - String get settings_advertisementSent => '已发送广播'; + String get settings_advertisementSent => '已发送广播'; @override - String get settings_syncTime => '同步时间'; + String get settings_syncTime => '同步时间'; @override - String get settings_syncTimeSubtitle => '将设备时钟设置为与手机时间一致'; + String get settings_syncTimeSubtitle => + '将设备时钟设置为与手机时间一致'; @override - String get settings_timeSynchronized => '时间已同步'; + String get settings_timeSynchronized => '时间已同步'; @override - String get settings_refreshContacts => '刷新联系人'; + String get settings_refreshContacts => '刷新联系人'; @override - String get settings_refreshContactsSubtitle => '从设备重新加载联系人列表'; + String get settings_refreshContactsSubtitle => + '从设备重新加载联系人列表'; @override - String get settings_rebootDevice => '重启设备'; + String get settings_rebootDevice => '重启设备'; @override - String get settings_rebootDeviceSubtitle => '重启 MeshCore 设备'; + String get settings_rebootDeviceSubtitle => '重启 MeshCore 设备'; @override - String get settings_rebootDeviceConfirm => '确定要重启设备吗?这将断开与设备的连接。'; + String get settings_rebootDeviceConfirm => + '确定要重启设备吗?这将断开与设备的连接。'; @override - String get settings_debug => '调试'; + String get settings_debug => '调试'; @override - String get settings_bleDebugLog => 'BLE 调试日志'; + String get settings_bleDebugLog => 'BLE 调试日志'; @override - String get settings_bleDebugLogSubtitle => 'BLE 命令、响应和原始数据'; + String get settings_bleDebugLogSubtitle => + 'BLE 命令、响应和原始数据'; @override - String get settings_appDebugLog => '应用调试日志'; + String get settings_appDebugLog => '应用调试日志'; @override - String get settings_appDebugLogSubtitle => '应用调试消息'; + String get settings_appDebugLogSubtitle => '应用调试消息'; @override - String get settings_about => '关于'; + String get settings_about => '关于'; @override String settings_aboutVersion(String version) { @@ -335,1146 +340,1180 @@ class AppLocalizationsZh extends AppLocalizations { } @override - String get settings_aboutLegalese => '2026 MeshCore 开源项目'; + String get settings_aboutLegalese => '2026 MeshCore 开源项目'; @override String get settings_aboutDescription => - '一个开源的 Flutter 客户端,用于 MeshCore LoRa 无线网络设备。'; + '一个开源的 Flutter 客户端,用于 MeshCore LoRa 无线网络设备。'; @override String get settings_aboutOpenMeteoAttribution => - 'LOS 高程数据:Open-Meteo (CC BY 4.0)'; + 'LOS 高程数据:Open-Meteo (CC BY 4.0)'; @override - String get settings_infoName => '名称'; + String get settings_infoName => '名称'; @override String get settings_infoId => 'MAC ID'; @override - String get settings_infoStatus => '状态'; + String get settings_infoStatus => '状态'; @override - String get settings_infoBattery => '电池'; + String get settings_infoBattery => '电池'; @override - String get settings_infoPublicKey => '公钥'; + String get settings_infoPublicKey => '公钥'; @override - String get settings_infoContactsCount => '联系人数量'; + String get settings_infoContactsCount => '联系人数量'; @override - String get settings_infoChannelCount => '频道数量'; + String get settings_infoChannelCount => '频道数量'; @override - String get settings_presets => '预设'; + String get settings_presets => '预设'; @override - String get settings_frequency => '频率 (MHz)'; + String get settings_frequency => '频率 (MHz)'; @override String get settings_frequencyHelper => '300.0 - 2500.0'; @override - String get settings_frequencyInvalid => '无效频率范围(300-2500 MHz)'; + String get settings_frequencyInvalid => + '无效频率范围(300-2500 MHz)'; @override - String get settings_bandwidth => '带宽'; + String get settings_bandwidth => '带宽'; @override - String get settings_spreadingFactor => '扩频因子'; + String get settings_spreadingFactor => '扩频因子'; @override - String get settings_codingRate => '编码速率'; + String get settings_codingRate => '编码速率'; @override - String get settings_txPower => 'TX 功率 (dBm)'; + String get settings_txPower => 'TX 功率 (dBm)'; @override String get settings_txPowerHelper => '0 - 22'; @override - String get settings_txPowerInvalid => '无效的发射功率(0-22 dBm)'; + String get settings_txPowerInvalid => '无效的发射功率(0-22 dBm)'; @override - String get settings_clientRepeat => '离网重复'; + String get settings_clientRepeat => '离网重复'; @override - String get settings_clientRepeatSubtitle => '允许此设备重复发送网状数据包给其他设备'; + String get settings_clientRepeatSubtitle => + '允许此设备重复发送网状数据包给其他设备'; @override String get settings_clientRepeatFreqWarning => - '离网重复通信需要使用 433、869 或 918 兆赫兹的频率。'; + '离网重复通信需要使用 433、869 或 918 兆赫兹的频率。'; @override String settings_error(String message) { - return '错误:$message'; + return '错误:$message'; } @override - String get appSettings_title => '应用设置'; + String get appSettings_title => '应用设置'; @override - String get appSettings_appearance => '外观'; + String get appSettings_appearance => '外观'; @override - String get appSettings_theme => '主题'; + String get appSettings_theme => '主题'; @override - String get appSettings_themeSystem => '跟随系统'; + String get appSettings_themeSystem => '跟随系统'; @override - String get appSettings_themeLight => '浅色'; + String get appSettings_themeLight => '浅色'; @override - String get appSettings_themeDark => '深色'; + String get appSettings_themeDark => '深色'; @override - String get appSettings_language => '语言'; + String get appSettings_language => '语言'; @override - String get appSettings_languageSystem => '跟随系统'; + String get appSettings_languageSystem => '跟随系统'; @override - String get appSettings_languageEn => '英语'; + String get appSettings_languageEn => '英语'; @override - String get appSettings_languageFr => '法语'; + String get appSettings_languageFr => '法语'; @override - String get appSettings_languageEs => '西班牙语'; + String get appSettings_languageEs => '西班牙语'; @override - String get appSettings_languageDe => '德语'; + String get appSettings_languageDe => '德语'; @override - String get appSettings_languagePl => '波兰语'; + String get appSettings_languagePl => '波兰语'; @override - String get appSettings_languageSl => '斯洛文尼亚语'; + String get appSettings_languageSl => '斯洛文尼亚语'; @override - String get appSettings_languagePt => '葡萄牙语'; + String get appSettings_languagePt => '葡萄牙语'; @override - String get appSettings_languageIt => '意大利语'; + String get appSettings_languageIt => '意大利语'; @override - String get appSettings_languageZh => '中文'; + String get appSettings_languageZh => '中文'; @override - String get appSettings_languageSv => '瑞典语'; + String get appSettings_languageSv => '瑞典语'; @override - String get appSettings_languageNl => '荷兰语'; + String get appSettings_languageNl => '荷兰语'; @override - String get appSettings_languageSk => '斯洛伐克语'; + String get appSettings_languageSk => '斯洛伐克语'; @override - String get appSettings_languageBg => '保加利亚语'; + String get appSettings_languageBg => '保加利亚语'; @override - String get appSettings_languageRu => '俄语'; + String get appSettings_languageRu => '俄语'; @override - String get appSettings_languageUk => '乌克兰语'; + String get appSettings_languageUk => '乌克兰语'; @override - String get appSettings_enableMessageTracing => '启用消息追踪'; + String get appSettings_enableMessageTracing => '启用消息追踪'; @override - String get appSettings_enableMessageTracingSubtitle => '显示消息的详细路由和时间元数据'; + String get appSettings_enableMessageTracingSubtitle => + '显示消息的详细路由和时间元数据'; @override - String get appSettings_notifications => '通知'; + String get appSettings_notifications => '通知'; @override - String get appSettings_enableNotifications => '启用通知'; + String get appSettings_enableNotifications => '启用通知'; @override - String get appSettings_enableNotificationsSubtitle => '接收消息和广播的通知'; + String get appSettings_enableNotificationsSubtitle => + '接收消息和广播的通知'; @override - String get appSettings_notificationPermissionDenied => '权限被拒绝'; + String get appSettings_notificationPermissionDenied => '权限被拒绝'; @override - String get appSettings_notificationsEnabled => '通知已启用'; + String get appSettings_notificationsEnabled => '通知已启用'; @override - String get appSettings_notificationsDisabled => '通知已关闭'; + String get appSettings_notificationsDisabled => '通知已关闭'; @override - String get appSettings_messageNotifications => '消息通知'; + String get appSettings_messageNotifications => '消息通知'; @override - String get appSettings_messageNotificationsSubtitle => '收到新消息时显示通知'; + String get appSettings_messageNotificationsSubtitle => + '收到新消息时显示通知'; @override - String get appSettings_channelMessageNotifications => '频道消息通知'; + String get appSettings_channelMessageNotifications => '频道消息通知'; @override - String get appSettings_channelMessageNotificationsSubtitle => '收到频道消息时显示通知'; + String get appSettings_channelMessageNotificationsSubtitle => + '收到频道消息时显示通知'; @override - String get appSettings_advertisementNotifications => '广播通知'; + String get appSettings_advertisementNotifications => '广播通知'; @override - String get appSettings_advertisementNotificationsSubtitle => '发现新节点时显示通知'; + String get appSettings_advertisementNotificationsSubtitle => + '发现新节点时显示通知'; @override - String get appSettings_messaging => '消息'; + String get appSettings_messaging => '消息'; @override - String get appSettings_clearPathOnMaxRetry => '达到最大重试次数时清除路径'; + String get appSettings_clearPathOnMaxRetry => + '达到最大重试次数时清除路径'; @override - String get appSettings_clearPathOnMaxRetrySubtitle => '在5次发送失败后重置联系路径。'; + String get appSettings_clearPathOnMaxRetrySubtitle => + '在5次发送失败后重置联系路径。'; @override - String get appSettings_pathsWillBeCleared => '5次失败后将重新路由'; + String get appSettings_pathsWillBeCleared => '5次失败后将重新路由'; @override - String get appSettings_pathsWillNotBeCleared => '路径不会自动清除'; + String get appSettings_pathsWillNotBeCleared => '路径不会自动清除'; @override - String get appSettings_autoRouteRotation => '自动路径轮换'; + String get appSettings_autoRouteRotation => '自动路径轮换'; @override - String get appSettings_autoRouteRotationSubtitle => '在最佳路径和泛洪模式之间切换'; + String get appSettings_autoRouteRotationSubtitle => + '在最佳路径和泛洪模式之间切换'; @override - String get appSettings_autoRouteRotationEnabled => '自动路径轮换已启用'; + String get appSettings_autoRouteRotationEnabled => + '自动路径轮换已启用'; @override - String get appSettings_autoRouteRotationDisabled => '自动路径轮换已禁用'; + String get appSettings_autoRouteRotationDisabled => + '自动路径轮换已禁用'; @override - String get appSettings_battery => '电池'; + String get appSettings_battery => '电池'; @override - String get appSettings_batteryChemistry => '电池类型'; + String get appSettings_batteryChemistry => '电池类型'; @override String appSettings_batteryChemistryPerDevice(String deviceName) { - return '为每个设备设置 ($deviceName)'; + return '为每个设备设置 ($deviceName)'; } @override - String get appSettings_batteryChemistryConnectFirst => '请先连接设备'; + String get appSettings_batteryChemistryConnectFirst => '请先连接设备'; @override - String get appSettings_batteryNmc => '18650 NMC 电池 (3.0-4.2V)'; + String get appSettings_batteryNmc => '18650 NMC 电池 (3.0-4.2V)'; @override - String get appSettings_batteryLifepo4 => '磷酸铁锂 (2.6-3.65V)'; + String get appSettings_batteryLifepo4 => '磷酸铁锂 (2.6-3.65V)'; @override - String get appSettings_batteryLipo => '锂聚合物电池 (3.0-4.2V)'; + String get appSettings_batteryLipo => '锂聚合物电池 (3.0-4.2V)'; @override - String get appSettings_mapDisplay => '地图显示'; + String get appSettings_mapDisplay => '地图显示'; @override - String get appSettings_showRepeaters => '显示转发节点'; + String get appSettings_showRepeaters => '显示转发节点'; @override - String get appSettings_showRepeatersSubtitle => '在地图上显示转发节点'; + String get appSettings_showRepeatersSubtitle => + '在地图上显示转发节点'; @override - String get appSettings_showChatNodes => '显示聊天节点'; + String get appSettings_showChatNodes => '显示聊天节点'; @override - String get appSettings_showChatNodesSubtitle => '在地图上显示聊天节点'; + String get appSettings_showChatNodesSubtitle => + '在地图上显示聊天节点'; @override - String get appSettings_showOtherNodes => '显示其他节点'; + String get appSettings_showOtherNodes => '显示其他节点'; @override - String get appSettings_showOtherNodesSubtitle => '在地图上显示其他节点类型'; + String get appSettings_showOtherNodesSubtitle => + '在地图上显示其他节点类型'; @override - String get appSettings_timeFilter => '时间过滤器'; + String get appSettings_timeFilter => '时间过滤器'; @override - String get appSettings_timeFilterShowAll => '显示所有节点'; + String get appSettings_timeFilterShowAll => '显示所有节点'; @override String appSettings_timeFilterShowLast(int hours) { - return '显示过去 $hours 小时内的节点'; + return '显示过去 $hours 小时内的节点'; } @override - String get appSettings_mapTimeFilter => '地图时间筛选'; + String get appSettings_mapTimeFilter => '地图时间筛选'; @override - String get appSettings_showNodesDiscoveredWithin => '显示在此时间段内发现的节点:'; + String get appSettings_showNodesDiscoveredWithin => + '显示在此时间段内发现的节点:'; @override - String get appSettings_allTime => '所有时间'; + String get appSettings_allTime => '所有时间'; @override - String get appSettings_lastHour => '过去一小时'; + String get appSettings_lastHour => '过去一小时'; @override - String get appSettings_last6Hours => '过去6小时'; + String get appSettings_last6Hours => '过去6小时'; @override - String get appSettings_last24Hours => '过去24小时'; + String get appSettings_last24Hours => '过去24小时'; @override - String get appSettings_lastWeek => '上周'; + String get appSettings_lastWeek => '上周'; @override - String get appSettings_offlineMapCache => '离线地图缓存'; + String get appSettings_offlineMapCache => '离线地图缓存'; @override - String get appSettings_unitsTitle => '单位'; + String get appSettings_unitsTitle => '单位'; @override - String get appSettings_unitsMetric => '公制(米/公里)'; + String get appSettings_unitsMetric => '公制(米/公里)'; @override - String get appSettings_unitsImperial => '英制 (ft / mi)'; + String get appSettings_unitsImperial => '英制 (ft / mi)'; @override - String get appSettings_noAreaSelected => '未选择任何区域'; + String get appSettings_noAreaSelected => '未选择任何区域'; @override String appSettings_areaSelectedZoom(int minZoom, int maxZoom) { - return '已选择区域(缩放 $minZoom - $maxZoom)'; + return '已选择区域(缩放 $minZoom - $maxZoom)'; } @override - String get appSettings_debugCard => '调试'; + String get appSettings_debugCard => '调试'; @override - String get appSettings_appDebugLogging => '应用调试日志'; + String get appSettings_appDebugLogging => '应用调试日志'; @override - String get appSettings_appDebugLoggingSubtitle => '记录应用调试消息以进行故障排除。'; + String get appSettings_appDebugLoggingSubtitle => + '记录应用调试消息以进行故障排除。'; @override - String get appSettings_appDebugLoggingEnabled => '调试日志已启用'; + String get appSettings_appDebugLoggingEnabled => '调试日志已启用'; @override - String get appSettings_appDebugLoggingDisabled => '应用调试日志已禁用'; + String get appSettings_appDebugLoggingDisabled => + '应用调试日志已禁用'; @override - String get contacts_title => '联系人'; + String get contacts_title => '联系人'; @override - String get contacts_noContacts => '暂无联系人'; + String get contacts_noContacts => '暂无联系人'; @override - String get contacts_contactsWillAppear => '当设备发送广播时,联系人将显示。'; + String get contacts_contactsWillAppear => + '当设备发送广播时,联系人将显示。'; @override - String get contacts_unread => '未读'; + String get contacts_unread => '未读'; @override - String get contacts_searchContactsNoNumber => '搜索联系人...'; + String get contacts_searchContactsNoNumber => '搜索联系人...'; @override String contacts_searchContacts(int number, String str) { - return '搜索联系人...'; + return '搜索联系人...'; } @override String contacts_searchFavorites(int number, String str) { - return '搜索 $number$str 收藏...'; + return '搜索 $number$str 收藏...'; } @override String contacts_searchUsers(int number, String str) { - return '搜索 $number$str 位用户...'; + return '搜索 $number$str 位用户...'; } @override String contacts_searchRepeaters(int number, String str) { - return '搜索 $number$str 重复器...'; + return '搜索 $number$str 重复器...'; } @override String contacts_searchRoomServers(int number, String str) { - return '搜索 $number$str 房间服务器...'; + return '搜索 $number$str 房间服务器...'; } @override - String get contacts_noUnreadContacts => '没有未读内容'; + String get contacts_noUnreadContacts => '没有未读内容'; @override - String get contacts_noContactsFound => '未找到任何联系人或群聊'; + String get contacts_noContactsFound => '未找到任何联系人或群聊'; @override - String get contacts_deleteContact => '删除联系人'; + String get contacts_deleteContact => '删除联系人'; @override String contacts_removeConfirm(String contactName) { - return '从联系人中移除 $contactName?'; + return '从联系人中移除 $contactName?'; } @override - String get contacts_manageRepeater => '管理转发节点'; + String get contacts_manageRepeater => '管理转发节点'; @override - String get contacts_manageRoom => '管理房间服务器'; + String get contacts_manageRoom => '管理房间服务器'; @override - String get contacts_roomLogin => '服务器登录'; + String get contacts_roomLogin => '服务器登录'; @override - String get contacts_openChat => '打开聊天'; + String get contacts_openChat => '打开聊天'; @override - String get contacts_editGroup => '编辑群聊'; + String get contacts_editGroup => '编辑群聊'; @override - String get contacts_deleteGroup => '删除群聊'; + String get contacts_deleteGroup => '删除群聊'; @override String contacts_deleteGroupConfirm(String groupName) { - return '删除群聊 \"$groupName\"?'; + return '删除群聊 \"$groupName\"?'; } @override - String get contacts_newGroup => '新建群聊'; + String get contacts_newGroup => '新建群聊'; @override - String get contacts_groupName => '群聊名称'; + String get contacts_groupName => '群聊名称'; @override - String get contacts_groupNameRequired => '请输入群聊名称'; + String get contacts_groupNameRequired => '请输入群聊名称'; @override String contacts_groupAlreadyExists(String name) { - return '名为 \"$name\" 的群聊已存在'; + return '名为 \"$name\" 的群聊已存在'; } @override - String get contacts_filterContacts => '筛选联系人...'; + String get contacts_filterContacts => '筛选联系人...'; @override - String get contacts_noContactsMatchFilter => '没有符合条件的联系人'; + String get contacts_noContactsMatchFilter => '没有符合条件的联系人'; @override - String get contacts_noMembers => '暂无成员'; + String get contacts_noMembers => '暂无成员'; @override - String get contacts_lastSeenNow => '刚刚'; + String get contacts_lastSeenNow => '刚刚'; @override String contacts_lastSeenMinsAgo(int minutes) { - return '最后在线 $minutes 分钟前'; + return '最后在线 $minutes 分钟前'; } @override - String get contacts_lastSeenHourAgo => '最后在线 1小时前'; + String get contacts_lastSeenHourAgo => '最后在线 1小时前'; @override String contacts_lastSeenHoursAgo(int hours) { - return '最后在线 $hours 小时前'; + return '最后在线 $hours 小时前'; } @override - String get contacts_lastSeenDayAgo => '最后在线 1天前'; + String get contacts_lastSeenDayAgo => '最后在线 1天前'; @override String contacts_lastSeenDaysAgo(int days) { - return '最后在线 $days 天前'; + return '最后在线 $days 天前'; } @override - String get channels_title => '频道'; + String get channels_title => '频道'; @override - String get channels_noChannelsConfigured => '未配置任何频道'; + String get channels_noChannelsConfigured => '未配置任何频道'; @override - String get channels_addPublicChannel => '添加公共频道'; + String get channels_addPublicChannel => '添加公共频道'; @override - String get channels_searchChannels => '搜索频道...'; + String get channels_searchChannels => '搜索频道...'; @override - String get channels_noChannelsFound => '未找到任何频道'; + String get channels_noChannelsFound => '未找到任何频道'; @override String channels_channelIndex(int index) { - return '频道 $index'; + return '频道 $index'; } @override - String get channels_hashtagChannel => '标签频道'; + String get channels_hashtagChannel => '标签频道'; @override - String get channels_public => '公共'; + String get channels_public => '公共'; @override - String get channels_private => '私有'; + String get channels_private => '私有'; @override - String get channels_publicChannel => '公共频道'; + String get channels_publicChannel => '公共频道'; @override - String get channels_privateChannel => '私有频道'; + String get channels_privateChannel => '私有频道'; @override - String get channels_editChannel => '编辑频道'; + String get channels_editChannel => '编辑频道'; @override - String get channels_muteChannel => '静音频道'; + String get channels_muteChannel => '静音频道'; @override - String get channels_unmuteChannel => '取消静音频道'; + String get channels_unmuteChannel => '取消静音频道'; @override - String get channels_deleteChannel => '删除频道'; + String get channels_deleteChannel => '删除频道'; @override String channels_deleteChannelConfirm(String name) { - return '删除频道 \"$name\"?此操作不可撤销。'; + return '删除频道 \"$name\"?此操作不可撤销。'; } @override String channels_channelDeleteFailed(String name) { - return '无法删除频道 \"$name\"'; + return '无法删除频道 \"$name\"'; } @override String channels_channelDeleted(String name) { - return '已删除频道 \"$name\"'; + return '已删除频道 \"$name\"'; } @override - String get channels_addChannel => '添加频道'; + String get channels_addChannel => '添加频道'; @override - String get channels_channelIndexLabel => '频道索引'; + String get channels_channelIndexLabel => '频道索引'; @override - String get channels_channelName => '频道名称'; + String get channels_channelName => '频道名称'; @override - String get channels_usePublicChannel => '使用公共频道'; + String get channels_usePublicChannel => '使用公共频道'; @override - String get channels_standardPublicPsk => '标准公共 PSK'; + String get channels_standardPublicPsk => '标准公共 PSK'; @override - String get channels_pskHex => 'PSK (十六进制)'; + String get channels_pskHex => 'PSK (十六进制)'; @override - String get channels_generateRandomPsk => '生成随机 PSK'; + String get channels_generateRandomPsk => '生成随机 PSK'; @override - String get channels_enterChannelName => '请输入频道名称'; + String get channels_enterChannelName => '请输入频道名称'; @override - String get channels_pskMustBe32Hex => 'PSK 必须为 32 个十六进制字符'; + String get channels_pskMustBe32Hex => + 'PSK 必须为 32 个十六进制字符'; @override String channels_channelAdded(String name) { - return '已添加频道 \"$name\"'; + return '已添加频道 \"$name\"'; } @override String channels_editChannelTitle(int index) { - return '编辑频道 $index'; + return '编辑频道 $index'; } @override - String get channels_smazCompression => 'SMAZ 压缩'; + String get channels_smazCompression => 'SMAZ 压缩'; @override String channels_channelUpdated(String name) { - return '频道 \"$name\" 已更新'; + return '频道 \"$name\" 已更新'; } @override - String get channels_publicChannelAdded => '已添加公共频道'; + String get channels_publicChannelAdded => '已添加公共频道'; @override - String get channels_sortBy => '排序方式'; + String get channels_sortBy => '排序方式'; @override - String get channels_sortManual => '手动'; + String get channels_sortManual => '手动'; @override String get channels_sortAZ => 'A-Z'; @override - String get channels_sortLatestMessages => '最新消息'; + String get channels_sortLatestMessages => '最新消息'; @override - String get channels_sortUnread => '未读'; + String get channels_sortUnread => '未读'; @override - String get channels_createPrivateChannel => '创建私有频道'; + String get channels_createPrivateChannel => '创建私有频道'; @override - String get channels_createPrivateChannelDesc => '使用密钥保护。'; + String get channels_createPrivateChannelDesc => '使用密钥保护。'; @override - String get channels_joinPrivateChannel => '加入私有频道'; + String get channels_joinPrivateChannel => '加入私有频道'; @override - String get channels_joinPrivateChannelDesc => '手动输入密钥。'; + String get channels_joinPrivateChannelDesc => '手动输入密钥。'; @override - String get channels_joinPublicChannel => '加入公共频道'; + String get channels_joinPublicChannel => '加入公共频道'; @override - String get channels_joinPublicChannelDesc => '任何人都可以加入。'; + String get channels_joinPublicChannelDesc => '任何人都可以加入。'; @override - String get channels_joinHashtagChannel => '加入标签频道'; + String get channels_joinHashtagChannel => '加入标签频道'; @override - String get channels_joinHashtagChannelDesc => '任何人都可以加入标签频道。'; + String get channels_joinHashtagChannelDesc => + '任何人都可以加入标签频道。'; @override - String get channels_scanQrCode => '扫描二维码'; + String get channels_scanQrCode => '扫描二维码'; @override - String get channels_scanQrCodeComingSoon => '即将推出'; + String get channels_scanQrCodeComingSoon => '即将推出'; @override - String get channels_enterHashtag => '输入标签'; + String get channels_enterHashtag => '输入标签'; @override - String get channels_hashtagHint => '例如:#团队'; + String get channels_hashtagHint => '例如:#团队'; @override - String get chat_noMessages => '暂无消息'; + String get chat_noMessages => '暂无消息'; @override - String get chat_sendMessageToStart => '发送消息开始对话'; + String get chat_sendMessageToStart => '发送消息开始对话'; @override - String get chat_originalMessageNotFound => '找不到原始消息'; + String get chat_originalMessageNotFound => '找不到原始消息'; @override String chat_replyingTo(String name) { - return '正在回复 $name'; + return '正在回复 $name'; } @override String chat_replyTo(String name) { - return '回复 $name'; + return '回复 $name'; } @override - String get chat_location => '位置'; + String get chat_location => '位置'; @override String chat_sendMessageTo(String contactName) { - return '发送消息给 $contactName'; + return '发送消息给 $contactName'; } @override - String get chat_typeMessage => '输入消息...'; + String get chat_typeMessage => '输入消息...'; @override String chat_messageTooLong(int maxBytes) { - return '消息过长(最多 $maxBytes 字节)'; + return '消息过长(最多 $maxBytes 字节)'; } @override - String get chat_messageCopied => '消息已复制'; + String get chat_messageCopied => '消息已复制'; @override - String get chat_messageDeleted => '消息已删除'; + String get chat_messageDeleted => '消息已删除'; @override - String get chat_retryingMessage => '正在重试消息'; + String get chat_retryingMessage => '正在重试消息'; @override String chat_retryCount(int current, int max) { - return '重试 $current/$max'; + return '重试 $current/$max'; } @override - String get chat_sendGif => '发送 GIF'; + String get chat_sendGif => '发送 GIF'; @override - String get chat_reply => '回复'; + String get chat_reply => '回复'; @override - String get chat_addReaction => '添加表情'; + String get chat_addReaction => '添加表情'; @override - String get chat_me => '我'; + String get chat_me => '我'; @override - String get emojiCategorySmileys => '表情'; + String get emojiCategorySmileys => '表情'; @override - String get emojiCategoryGestures => '手势'; + String get emojiCategoryGestures => '手势'; @override - String get emojiCategoryHearts => '爱心'; + String get emojiCategoryHearts => '爱心'; @override - String get emojiCategoryObjects => '物品'; + String get emojiCategoryObjects => '物品'; @override - String get gifPicker_title => '选择 GIF'; + String get gifPicker_title => '选择 GIF'; @override - String get gifPicker_searchHint => '搜索 GIF...'; + String get gifPicker_searchHint => '搜索 GIF...'; @override - String get gifPicker_poweredBy => '由 GIPHY 提供'; + String get gifPicker_poweredBy => 'ç”± GIPHY 提供'; @override - String get gifPicker_noGifsFound => '未找到 GIF'; + String get gifPicker_noGifsFound => '未找到 GIF'; @override - String get gifPicker_failedLoad => '加载 GIF 失败'; + String get gifPicker_failedLoad => '加载 GIF 失败'; @override - String get gifPicker_failedSearch => '搜索 GIF 失败'; + String get gifPicker_failedSearch => '搜索 GIF 失败'; @override - String get gifPicker_noInternet => '无网络连接'; + String get gifPicker_noInternet => '无网络连接'; @override - String get debugLog_appTitle => '应用调试日志'; + String get debugLog_appTitle => '应用调试日志'; @override - String get debugLog_bleTitle => 'BLE 调试日志'; + String get debugLog_bleTitle => 'BLE 调试日志'; @override - String get debugLog_copyLog => '复制日志'; + String get debugLog_copyLog => '复制日志'; @override - String get debugLog_clearLog => '清除日志'; + String get debugLog_clearLog => '清除日志'; @override - String get debugLog_copied => '调试日志已复制'; + String get debugLog_copied => '调试日志已复制'; @override - String get debugLog_bleCopied => 'BLE 日志已复制'; + String get debugLog_bleCopied => 'BLE 日志已复制'; @override - String get debugLog_noEntries => '暂无调试日志'; + String get debugLog_noEntries => '暂无调试日志'; @override - String get debugLog_enableInSettings => '请在设置中启用应用调试日志。'; + String get debugLog_enableInSettings => + '请在设置中启用应用调试日志。'; @override - String get debugLog_frames => '帧'; + String get debugLog_frames => '帧'; @override - String get debugLog_rawLogRx => '原始日志 RX'; + String get debugLog_rawLogRx => '原始日志 RX'; @override - String get debugLog_noBleActivity => '暂无 BLE 活动'; + String get debugLog_noBleActivity => '暂无 BLE 活动'; @override String debugFrame_length(int count) { - return '帧长度:$count 字节'; + return '帧长度:$count 字节'; } @override String debugFrame_command(String value) { - return '命令:0x$value'; + return '命令:0x$value'; } @override - String get debugFrame_textMessageHeader => '文本消息:'; + String get debugFrame_textMessageHeader => '文本消息:'; @override String debugFrame_destinationPubKey(String pubKey) { - return '- 目标公钥:$pubKey'; + return '- 目标公钥:$pubKey'; } @override String debugFrame_timestamp(int timestamp) { - return '- 时间戳:$timestamp'; + return '- 时间戳:$timestamp'; } @override String debugFrame_flags(String value) { - return '- 标志:0x$value'; + return '- 标志:0x$value'; } @override String debugFrame_textType(int type, String label) { - return '- 文本类型:$type ($label)'; + return '- 文本类型:$type ($label)'; } @override - String get debugFrame_textTypeCli => '命令行'; + String get debugFrame_textTypeCli => '命令行'; @override - String get debugFrame_textTypePlain => '纯文本'; + String get debugFrame_textTypePlain => '纯文本'; @override String debugFrame_text(String text) { - return '- 文本:“$text”'; + return '- 文本:“$text”'; } @override - String get debugFrame_hexDump => '十六进制数据:'; + String get debugFrame_hexDump => '十六进制数据:'; @override - String get chat_pathManagement => '路径管理'; + String get chat_pathManagement => '路径管理'; @override - String get chat_ShowAllPaths => '显示所有路径'; + String get chat_ShowAllPaths => '显示所有路径'; @override - String get chat_routingMode => '路由模式'; + String get chat_routingMode => '路由模式'; @override - String get chat_autoUseSavedPath => '自动(使用保存的路径)'; + String get chat_autoUseSavedPath => '自动(使用保存的路径)'; @override - String get chat_forceFloodMode => '强制泛洪模式'; + String get chat_forceFloodMode => '强制泛洪模式'; @override - String get chat_recentAckPaths => '最近使用的 ACK 路径(点击使用):'; + String get chat_recentAckPaths => + '最近使用的 ACK 路径(点击使用):'; @override - String get chat_pathHistoryFull => '路径历史已满,请删除后再添加。'; + String get chat_pathHistoryFull => + '路径历史已满,请删除后再添加。'; @override - String get chat_hopSingular => '跳'; + String get chat_hopSingular => 'è·³'; @override - String get chat_hopPlural => '跳'; + String get chat_hopPlural => 'è·³'; @override String chat_hopsCount(int count) { - return '$count 跳'; + return '$count è·³'; } @override - String get chat_successes => '成功'; + String get chat_successes => '成功'; @override - String get chat_removePath => '移除路径'; + String get chat_removePath => '移除路径'; @override - String get chat_noPathHistoryYet => '暂无路径历史。\n发送消息以探索路径。'; + String get chat_noPathHistoryYet => + '暂无路径历史。\n发送消息以探索路径。'; @override - String get chat_pathActions => '路径操作:'; + String get chat_pathActions => '路径操作:'; @override - String get chat_setCustomPath => '设置自定义路径'; + String get chat_setCustomPath => '设置自定义路径'; @override - String get chat_setCustomPathSubtitle => '手动指定路由路径'; + String get chat_setCustomPathSubtitle => '手动指定路由路径'; @override - String get chat_clearPath => '清除路径'; + String get chat_clearPath => '清除路径'; @override - String get chat_clearPathSubtitle => '清除当前路径,下次发送将重新尝试。'; + String get chat_clearPathSubtitle => + '清除当前路径,下次发送将重新尝试。'; @override - String get chat_pathCleared => '路径已清除。下一条消息将重新路由。'; + String get chat_pathCleared => + '路径已清除。下一条消息将重新路由。'; @override - String get chat_floodModeSubtitle => '在应用栏中切换路由模式。'; + String get chat_floodModeSubtitle => '在应用栏中切换路由模式。'; @override - String get chat_floodModeEnabled => '泛洪模式已启用。可通过应用栏的路由图标切换。'; + String get chat_floodModeEnabled => + '泛洪模式已启用。可通过应用栏的路由图标切换。'; @override - String get chat_fullPath => '完整路径'; + String get chat_fullPath => '完整路径'; @override - String get chat_pathDetailsNotAvailable => '路径信息暂不可用,请尝试发送消息刷新。'; + String get chat_pathDetailsNotAvailable => + '路径信息暂不可用,请尝试发送消息刷新。'; @override String chat_pathSetHops(int hopCount, String status) { - return '路径设置:$hopCount 跳 - $status'; + return '路径设置:$hopCount è·³ - $status'; } @override - String get chat_pathSavedLocally => '已本地保存,连接设备后可同步。'; + String get chat_pathSavedLocally => + '已本地保存,连接设备后可同步。'; @override - String get chat_pathDeviceConfirmed => '设备已确认。'; + String get chat_pathDeviceConfirmed => '设备已确认。'; @override - String get chat_pathDeviceNotConfirmed => '设备尚未确认。'; + String get chat_pathDeviceNotConfirmed => '设备尚未确认。'; @override - String get chat_type => '类型'; + String get chat_type => '类型'; @override - String get chat_path => '路径'; + String get chat_path => '路径'; @override - String get chat_publicKey => '公钥'; + String get chat_publicKey => '公钥'; @override - String get chat_compressOutgoingMessages => '压缩发送的消息'; + String get chat_compressOutgoingMessages => '压缩发送的消息'; @override - String get chat_floodForced => '泛洪(强制)'; + String get chat_floodForced => '泛洪(强制)'; @override - String get chat_directForced => '直连(强制)'; + String get chat_directForced => '直连(强制)'; @override String chat_hopsForced(int count) { - return '$count 跳(强制)'; + return '$count 跳(强制)'; } @override - String get chat_floodAuto => '自动泛洪'; + String get chat_floodAuto => '自动泛洪'; @override - String get chat_direct => '直连'; + String get chat_direct => '直连'; @override - String get chat_poiShared => '共享位置'; + String get chat_poiShared => '共享位置'; @override String chat_unread(int count) { - return '未读:$count'; + return '未读:$count'; } @override - String get chat_openLink => '打开链接?'; + String get chat_openLink => '打开链接?'; @override - String get chat_openLinkConfirmation => '是否使用浏览器打开此链接?'; + String get chat_openLinkConfirmation => + '是否使用浏览器打开此链接?'; @override - String get chat_open => '打开'; + String get chat_open => '打开'; @override String chat_couldNotOpenLink(String url) { - return '无法打开链接:$url'; + return '无法打开链接:$url'; } @override - String get chat_invalidLink => '无效的链接格式'; + String get chat_invalidLink => '无效的链接格式'; @override - String get map_title => '节点地图'; + String get map_title => '节点地图'; @override - String get map_lineOfSight => '视线'; + String get map_lineOfSight => '视线'; @override - String get map_losScreenTitle => '视线'; + String get map_losScreenTitle => '视线'; @override - String get map_noNodesWithLocation => '没有包含位置信息的节点'; + String get map_noNodesWithLocation => '没有包含位置信息的节点'; @override - String get map_nodesNeedGps => '节点需要共享 GPS 坐标才能在地图上显示'; + String get map_nodesNeedGps => + '节点需要共享 GPS 坐标才能在地图上显示'; @override String map_nodesCount(int count) { - return '节点:$count'; + return '节点:$count'; } @override String map_pinsCount(int count) { - return '标记:$count'; + return '标记:$count'; } @override - String get map_chat => '聊天'; + String get map_chat => '聊天'; @override - String get map_repeater => '转发节点'; + String get map_repeater => '转发节点'; @override - String get map_room => '房间'; + String get map_room => '房间'; @override - String get map_sensor => '传感器'; + String get map_sensor => '传感器'; @override - String get map_pinDm => '标记(私信)'; + String get map_pinDm => '标记(私信)'; @override - String get map_pinPrivate => '私有'; + String get map_pinPrivate => '私有'; @override - String get map_pinPublic => '公共'; + String get map_pinPublic => '公共'; @override - String get map_lastSeen => '最后在线'; + String get map_lastSeen => '最后在线'; @override - String get map_disconnectConfirm => '确定要断开与此设备的连接吗?'; + String get map_disconnectConfirm => + '确定要断开与此设备的连接吗?'; @override - String get map_from => '来自'; + String get map_from => '来自'; @override - String get map_source => '来源'; + String get map_source => '来源'; @override - String get map_flags => '标志'; + String get map_flags => '标志'; @override - String get map_shareMarkerHere => '在此分享标记'; + String get map_shareMarkerHere => '在此分享标记'; @override - String get map_pinLabel => '标签'; + String get map_pinLabel => '标签'; @override - String get map_label => '标签'; + String get map_label => '标签'; @override - String get map_pointOfInterest => '兴趣点'; + String get map_pointOfInterest => '兴趣点'; @override - String get map_sendToContact => '发送给联系人'; + String get map_sendToContact => '发送给联系人'; @override - String get map_sendToChannel => '发送到频道'; + String get map_sendToChannel => '发送到频道'; @override - String get map_noChannelsAvailable => '没有可用的频道'; + String get map_noChannelsAvailable => '没有可用的频道'; @override - String get map_publicLocationShare => '公共位置共享'; + String get map_publicLocationShare => '公共位置共享'; @override String map_publicLocationShareConfirm(String channelLabel) { - return '您即将在 $channelLabel 上分享一个位置。此频道是公开的,任何拥有 PSK 的人都可以看到。'; + return '您即将在 $channelLabel 上分享一个位置。此频道是公开的,任何拥有 PSK 的人都可以看到。'; } @override - String get map_connectToShareMarkers => '连接设备以共享标记'; + String get map_connectToShareMarkers => '连接设备以共享标记'; @override - String get map_filterNodes => '过滤节点'; + String get map_filterNodes => '过滤节点'; @override - String get map_nodeTypes => '节点类型'; + String get map_nodeTypes => '节点类型'; @override - String get map_chatNodes => '聊天节点'; + String get map_chatNodes => '聊天节点'; @override - String get map_repeaters => '转发节点'; + String get map_repeaters => '转发节点'; @override - String get map_otherNodes => '其他节点'; + String get map_otherNodes => '其他节点'; @override - String get map_keyPrefix => '关键字前缀'; + String get map_keyPrefix => '关键字前缀'; @override - String get map_filterByKeyPrefix => '按关键字前缀筛选'; + String get map_filterByKeyPrefix => '按关键字前缀筛选'; @override - String get map_publicKeyPrefix => '关键字前缀'; + String get map_publicKeyPrefix => '关键字前缀'; @override - String get map_markers => '标记'; + String get map_markers => '标记'; @override - String get map_showSharedMarkers => '显示共享标记'; + String get map_showSharedMarkers => '显示共享标记'; @override - String get map_lastSeenTime => '最后在线时间'; + String get map_lastSeenTime => '最后在线时间'; @override - String get map_sharedPin => '共享标记'; + String get map_sharedPin => '共享标记'; @override - String get map_joinRoom => '加入房间'; + String get map_joinRoom => '加入房间'; @override - String get map_manageRepeater => '管理转发节点'; + String get map_manageRepeater => '管理转发节点'; @override - String get map_tapToAdd => '点击节点以添加到路径'; + String get map_tapToAdd => '点击节点以添加到路径'; @override - String get map_runTrace => '运行路径追踪'; + String get map_runTrace => '运行路径追踪'; @override - String get map_removeLast => '移除最后一个'; + String get map_removeLast => '移除最后一个'; @override - String get map_pathTraceCancelled => '路径追踪已取消'; + String get map_pathTraceCancelled => '路径追踪已取消'; @override - String get mapCache_title => '离线地图缓存'; + String get mapCache_title => '离线地图缓存'; @override - String get mapCache_selectAreaFirst => '请先选择要缓存的区域'; + String get mapCache_selectAreaFirst => '请先选择要缓存的区域'; @override - String get mapCache_noTilesToDownload => '此区域没有可下载的瓦片'; + String get mapCache_noTilesToDownload => '此区域没有可下载的瓦片'; @override - String get mapCache_downloadTilesTitle => '下载瓦片'; + String get mapCache_downloadTilesTitle => '下载瓦片'; @override String mapCache_downloadTilesPrompt(int count) { - return '这需要下载 $count 个瓦片'; + return '这需要下载 $count 个瓦片'; } @override - String get mapCache_downloadAction => '下载'; + String get mapCache_downloadAction => '下载'; @override String mapCache_cachedTiles(int count) { - return '已缓存 $count 个瓦片'; + return '已缓存 $count 个瓦片'; } @override String mapCache_cachedTilesWithFailed(int downloaded, int failed) { - return '已缓存 $downloaded 个瓦片($failed 个失败)'; + return '已缓存 $downloaded 个瓦片($failed 个失败)'; } @override - String get mapCache_clearOfflineCacheTitle => '清除离线缓存'; + String get mapCache_clearOfflineCacheTitle => '清除离线缓存'; @override - String get mapCache_clearOfflineCachePrompt => '清除所有缓存的地图瓦片'; + String get mapCache_clearOfflineCachePrompt => + '清除所有缓存的地图瓦片'; @override - String get mapCache_offlineCacheCleared => '离线缓存已清除'; + String get mapCache_offlineCacheCleared => '离线缓存已清除'; @override - String get mapCache_noAreaSelected => '未选择区域'; + String get mapCache_noAreaSelected => '未选择区域'; @override - String get mapCache_cacheArea => '缓存区域'; + String get mapCache_cacheArea => '缓存区域'; @override - String get mapCache_useCurrentView => '使用当前视图'; + String get mapCache_useCurrentView => '使用当前视图'; @override - String get mapCache_zoomRange => '缩放范围'; + String get mapCache_zoomRange => '缩放范围'; @override String mapCache_estimatedTiles(int count) { - return '估计瓦片数:$count'; + return '估计瓦片数:$count'; } @override String mapCache_downloadedTiles(int completed, int total) { - return '已下载 $completed/$total'; + return '已下载 $completed/$total'; } @override - String get mapCache_downloadTilesButton => '下载瓦片'; + String get mapCache_downloadTilesButton => '下载瓦片'; @override - String get mapCache_clearCacheButton => '清除缓存'; + String get mapCache_clearCacheButton => '清除缓存'; @override String mapCache_failedDownloads(int count) { - return '下载失败:$count'; + return '下载失败:$count'; } @override @@ -1484,284 +1523,296 @@ class AppLocalizationsZh extends AppLocalizations { String east, String west, ) { - return '北 $north, 南 $south, 东 $east, 西 $west'; + return '北 $north, 南 $south, 东 $east, 西 $west'; } @override - String get time_justNow => '刚才'; + String get time_justNow => '刚才'; @override String time_minutesAgo(int minutes) { - return '$minutes分钟前'; + return '$minutes分钟前'; } @override String time_hoursAgo(int hours) { - return '$hours小时前'; + return '$hours小时前'; } @override String time_daysAgo(int days) { - return '$days天前'; + return '$days天前'; } @override - String get time_hour => '小时'; + String get time_hour => '小时'; @override - String get time_hours => '小时'; + String get time_hours => '小时'; @override - String get time_day => '天'; + String get time_day => '天'; @override - String get time_days => '天'; + String get time_days => '天'; @override - String get time_week => '周'; + String get time_week => '周'; @override - String get time_weeks => '周'; + String get time_weeks => '周'; @override - String get time_month => '月'; + String get time_month => '月'; @override - String get time_months => '月'; + String get time_months => '月'; @override - String get time_minutes => '分钟'; + String get time_minutes => '分钟'; @override - String get time_allTime => '所有时间'; + String get time_allTime => '所有时间'; @override - String get dialog_disconnect => '断开'; + String get dialog_disconnect => 'æ–­å¼€'; @override - String get dialog_disconnectConfirm => '确定要断开与此设备的连接吗?'; + String get dialog_disconnectConfirm => + '确定要断开与此设备的连接吗?'; @override - String get login_repeaterLogin => '转发节点登录'; + String get login_repeaterLogin => '转发节点登录'; @override - String get login_roomLogin => '房间服务器登录'; + String get login_roomLogin => '房间服务器登录'; @override - String get login_password => '密码'; + String get login_password => '密码'; @override - String get login_enterPassword => '请输入密码'; + String get login_enterPassword => '请输入密码'; @override - String get login_savePassword => '保存密码'; + String get login_savePassword => '保存密码'; @override - String get login_savePasswordSubtitle => '密码将安全地存储在此设备上'; + String get login_savePasswordSubtitle => + '密码将安全地存储在此设备上'; @override - String get login_repeaterDescription => '输入转发节点密码以访问设置和状态。'; + String get login_repeaterDescription => + '输入转发节点密码以访问设置和状态。'; @override - String get login_roomDescription => '输入房间服务器密码以访问设置和状态。'; + String get login_roomDescription => + '输入房间服务器密码以访问设置和状态。'; @override - String get login_routing => '路由'; + String get login_routing => '路由'; @override - String get login_routingMode => '路由模式'; + String get login_routingMode => '路由模式'; @override - String get login_autoUseSavedPath => '自动(使用保存的路径)'; + String get login_autoUseSavedPath => '自动(使用保存的路径)'; @override - String get login_forceFloodMode => '强制泛洪模式'; + String get login_forceFloodMode => '强制泛洪模式'; @override - String get login_managePaths => '管理路径'; + String get login_managePaths => '管理路径'; @override - String get login_login => '登录'; + String get login_login => '登录'; @override String login_attempt(int current, int max) { - return '尝试 $current/$max'; + return '尝试 $current/$max'; } @override String login_failed(String error) { - return '登录失败:$error'; + return '登录失败:$error'; } @override - String get login_failedMessage => '登录失败。可能是密码错误或无法连接到服务器。'; + String get login_failedMessage => + '登录失败。可能是密码错误或无法连接到服务器。'; @override - String get common_reload => '重新加载'; + String get common_reload => '重新加载'; @override - String get common_clear => '清除'; + String get common_clear => '清除'; @override String path_currentPath(String path) { - return '当前路径:$path'; + return '当前路径:$path'; } @override String path_usingHopsPath(int count) { - return '使用 $count 跳路径'; + return '使用 $count 跳路径'; } @override - String get path_enterCustomPath => '输入自定义路径'; + String get path_enterCustomPath => '输入自定义路径'; @override - String get path_currentPathLabel => '当前路径'; + String get path_currentPathLabel => '当前路径'; @override - String get path_hexPrefixInstructions => '请输入每个中继节点的2字符十六进制前缀,用逗号分隔。'; + String get path_hexPrefixInstructions => + '请输入每个中继节点的2字符十六进制前缀,用逗号分隔。'; @override - String get path_hexPrefixExample => '例如:A1, F2, 3C(每个节点使用其公钥的第一字节)'; + String get path_hexPrefixExample => + '例如:A1, F2, 3C(每个节点使用其公钥的第一字节)'; @override - String get path_labelHexPrefixes => '路径(十六进制前缀)'; + String get path_labelHexPrefixes => '路径(十六进制前缀)'; @override - String get path_helperMaxHops => '最多 64 跳。每个前缀由 2 个十六进制字符(1 字节)组成。'; + String get path_helperMaxHops => + '最多 64 跳。每个前缀由 2 个十六进制字符(1 字节)组成。'; @override - String get path_selectFromContacts => '或从联系人列表中选择:'; + String get path_selectFromContacts => '或从联系人列表中选择:'; @override - String get path_noRepeatersFound => '未找到任何转发节点或房间服务器。'; + String get path_noRepeatersFound => + '未找到任何转发节点或房间服务器。'; @override - String get path_customPathsRequire => '自定义路径需要中间节点转发消息。'; + String get path_customPathsRequire => + '自定义路径需要中间节点转发消息。'; @override String path_invalidHexPrefixes(String prefixes) { - return '无效的十六进制前缀:$prefixes'; + return '无效的十六进制前缀:$prefixes'; } @override - String get path_tooLong => '路径过长,最多允许 64 跳。'; + String get path_tooLong => '路径过长,最多允许 64 跳。'; @override - String get path_setPath => '设置路径'; + String get path_setPath => '设置路径'; @override - String get repeater_management => '转发节点管理'; + String get repeater_management => '转发节点管理'; @override - String get room_management => '房间服务器管理'; + String get room_management => '房间服务器管理'; @override - String get repeater_managementTools => '管理工具'; + String get repeater_managementTools => '管理工具'; @override - String get repeater_status => '状态'; + String get repeater_status => '状态'; @override - String get repeater_statusSubtitle => '查看转发节点状态、统计和邻居'; + String get repeater_statusSubtitle => + '查看转发节点状态、统计和邻居'; @override - String get repeater_telemetry => '遥测'; + String get repeater_telemetry => '遥测'; @override - String get repeater_telemetrySubtitle => '查看传感器和系统状态数据'; + String get repeater_telemetrySubtitle => + '查看传感器和系统状态数据'; @override - String get repeater_cli => '命令行'; + String get repeater_cli => '命令行'; @override - String get repeater_cliSubtitle => '向转发节点发送命令'; + String get repeater_cliSubtitle => '向转发节点发送命令'; @override - String get repeater_neighbors => '邻居'; + String get repeater_neighbors => '邻居'; @override - String get repeater_neighborsSubtitle => '查看邻居节点(零跳)'; + String get repeater_neighborsSubtitle => '查看邻居节点(零跳)'; @override - String get repeater_settings => '设置'; + String get repeater_settings => '设置'; @override - String get repeater_settingsSubtitle => '配置转发节点参数'; + String get repeater_settingsSubtitle => '配置转发节点参数'; @override - String get repeater_statusTitle => '转发节点状态'; + String get repeater_statusTitle => '转发节点状态'; @override - String get repeater_routingMode => '路由模式'; + String get repeater_routingMode => '路由模式'; @override - String get repeater_autoUseSavedPath => '自动(使用保存的路径)'; + String get repeater_autoUseSavedPath => '自动(使用保存的路径)'; @override - String get repeater_forceFloodMode => '强制泛洪模式'; + String get repeater_forceFloodMode => '强制泛洪模式'; @override - String get repeater_pathManagement => '路径管理'; + String get repeater_pathManagement => '路径管理'; @override - String get repeater_refresh => '刷新'; + String get repeater_refresh => '刷新'; @override - String get repeater_statusRequestTimeout => '状态请求超时'; + String get repeater_statusRequestTimeout => '状态请求超时'; @override String repeater_errorLoadingStatus(String error) { - return '加载状态时出错:$error'; + return '加载状态时出错:$error'; } @override - String get repeater_systemInformation => '系统信息'; + String get repeater_systemInformation => '系统信息'; @override - String get repeater_battery => '电池'; + String get repeater_battery => '电池'; @override - String get repeater_clockAtLogin => '登录时的时钟'; + String get repeater_clockAtLogin => '登录时的时钟'; @override - String get repeater_uptime => '运行时间'; + String get repeater_uptime => '运行时间'; @override - String get repeater_queueLength => '队列长度'; + String get repeater_queueLength => '队列长度'; @override - String get repeater_debugFlags => '调试标志'; + String get repeater_debugFlags => '调试标志'; @override - String get repeater_radioStatistics => '无线电统计'; + String get repeater_radioStatistics => '无线电统计'; @override - String get repeater_lastRssi => '上次 RSSI'; + String get repeater_lastRssi => '上次 RSSI'; @override - String get repeater_lastSnr => '上次 SNR'; + String get repeater_lastSnr => '上次 SNR'; @override - String get repeater_noiseFloor => '底噪'; + String get repeater_noiseFloor => '底噪'; @override - String get repeater_txAirtime => '发送空中时间'; + String get repeater_txAirtime => '发送空中时间'; @override - String get repeater_rxAirtime => '接收空中时间'; + String get repeater_rxAirtime => '接收空中时间'; @override - String get repeater_packetStatistics => '数据包统计'; + String get repeater_packetStatistics => '数据包统计'; @override - String get repeater_sent => '发送'; + String get repeater_sent => '发送'; @override - String get repeater_received => '接收'; + String get repeater_received => '接收'; @override - String get repeater_duplicates => '重复'; + String get repeater_duplicates => '重复'; @override String repeater_daysHoursMinsSecs( @@ -1770,511 +1821,550 @@ class AppLocalizationsZh extends AppLocalizations { int minutes, int seconds, ) { - return '$days天 $hours小时 $minutes分 $seconds秒'; + return '$days天 $hours小时 $minutes分 $secondsç§’'; } @override String repeater_packetTxTotal(int total, String flood, String direct) { - return '总计:$total,泛洪:$flood,直连:$direct'; + return '总计:$total,泛洪:$flood,直连:$direct'; } @override String repeater_packetRxTotal(int total, String flood, String direct) { - return '总计:$total,泛洪:$flood,直连:$direct'; + return '总计:$total,泛洪:$flood,直连:$direct'; } @override String repeater_duplicatesFloodDirect(String flood, String direct) { - return '泛洪:$flood,直连:$direct'; + return '泛洪:$flood,直连:$direct'; } @override String repeater_duplicatesTotal(int total) { - return '总计:$total'; + return '总计:$total'; } @override - String get repeater_settingsTitle => '转发节点设置'; + String get repeater_settingsTitle => '转发节点设置'; @override - String get repeater_basicSettings => '基本设置'; + String get repeater_basicSettings => '基本设置'; @override - String get repeater_repeaterName => '转发节点名称'; + String get repeater_repeaterName => '转发节点名称'; @override - String get repeater_repeaterNameHelper => '此转发节点的显示名称'; + String get repeater_repeaterNameHelper => '此转发节点的显示名称'; @override - String get repeater_adminPassword => '管理员密码'; + String get repeater_adminPassword => '管理员密码'; @override - String get repeater_adminPasswordHelper => '完整访问密码'; + String get repeater_adminPasswordHelper => '完整访问密码'; @override - String get repeater_guestPassword => '访客密码'; + String get repeater_guestPassword => '访客密码'; @override - String get repeater_guestPasswordHelper => '只读访问密码'; + String get repeater_guestPasswordHelper => '只读访问密码'; @override - String get repeater_radioSettings => '无线电设置'; + String get repeater_radioSettings => '无线电设置'; @override - String get repeater_frequencyMhz => '频率 (MHz)'; + String get repeater_frequencyMhz => '频率 (MHz)'; @override String get repeater_frequencyHelper => '300-2500 MHz'; @override - String get repeater_txPower => 'TX 功率'; + String get repeater_txPower => 'TX 功率'; @override String get repeater_txPowerHelper => '1-30 dBm'; @override - String get repeater_bandwidth => '带宽'; + String get repeater_bandwidth => '带宽'; @override - String get repeater_spreadingFactor => '扩频因子'; + String get repeater_spreadingFactor => '扩频因子'; @override - String get repeater_codingRate => '编码速率'; + String get repeater_codingRate => '编码速率'; @override - String get repeater_locationSettings => '位置设置'; + String get repeater_locationSettings => '位置设置'; @override - String get repeater_latitude => '纬度'; + String get repeater_latitude => '纬度'; @override - String get repeater_latitudeHelper => '十进制,例如 37.7749'; + String get repeater_latitudeHelper => '十进制,例如 37.7749'; @override - String get repeater_longitude => '经度'; + String get repeater_longitude => '经度'; @override - String get repeater_longitudeHelper => '十进制,例如 -122.4194'; + String get repeater_longitudeHelper => '十进制,例如 -122.4194'; @override - String get repeater_features => '功能'; + String get repeater_features => '功能'; @override - String get repeater_packetForwarding => '数据包转发'; + String get repeater_packetForwarding => '数据包转发'; @override - String get repeater_packetForwardingSubtitle => '启用转发节点转发数据包'; + String get repeater_packetForwardingSubtitle => + '启用转发节点转发数据包'; @override - String get repeater_guestAccess => '访客访问'; + String get repeater_guestAccess => '访客访问'; @override - String get repeater_guestAccessSubtitle => '允许访客只读权限'; + String get repeater_guestAccessSubtitle => '允许访客只读权限'; @override - String get repeater_privacyMode => '隐私模式'; + String get repeater_privacyMode => '隐私模式'; @override - String get repeater_privacyModeSubtitle => '在广播中隐藏姓名/位置'; + String get repeater_privacyModeSubtitle => '在广播中隐藏姓名/位置'; @override - String get repeater_advertisementSettings => '广播设置'; + String get repeater_advertisementSettings => '广播设置'; @override - String get repeater_localAdvertInterval => '本地广播间隔'; + String get repeater_localAdvertInterval => '本地广播间隔'; @override String repeater_localAdvertIntervalMinutes(int minutes) { - return '$minutes 分钟'; + return '$minutes 分钟'; } @override - String get repeater_floodAdvertInterval => '泛洪广播间隔'; + String get repeater_floodAdvertInterval => '泛洪广播间隔'; @override String repeater_floodAdvertIntervalHours(int hours) { - return '$hours 小时'; + return '$hours 小时'; } @override - String get repeater_encryptedAdvertInterval => '加密广播间隔'; + String get repeater_encryptedAdvertInterval => '加密广播间隔'; @override - String get repeater_dangerZone => '危险设置'; + String get repeater_dangerZone => '危险设置'; @override - String get repeater_rebootRepeater => '重启转发节点'; + String get repeater_rebootRepeater => '重启转发节点'; @override - String get repeater_rebootRepeaterSubtitle => '重启转发节点设备'; + String get repeater_rebootRepeaterSubtitle => '重启转发节点设备'; @override - String get repeater_rebootRepeaterConfirm => '确定要重启此转发节点吗?'; + String get repeater_rebootRepeaterConfirm => + '确定要重启此转发节点吗?'; @override - String get repeater_regenerateIdentityKey => '重新生成身份密钥'; + String get repeater_regenerateIdentityKey => '重新生成身份密钥'; @override - String get repeater_regenerateIdentityKeySubtitle => '生成新的公钥/私钥对'; + String get repeater_regenerateIdentityKeySubtitle => + '生成新的公钥/私钥对'; @override - String get repeater_regenerateIdentityKeyConfirm => '这将为转发节点生成新身份,继续吗?'; + String get repeater_regenerateIdentityKeyConfirm => + '这将为转发节点生成新身份,继续吗?'; @override - String get repeater_eraseFileSystem => '擦除文件系统'; + String get repeater_eraseFileSystem => '擦除文件系统'; @override - String get repeater_eraseFileSystemSubtitle => '格式化转发节点文件系统'; + String get repeater_eraseFileSystemSubtitle => + '格式化转发节点文件系统'; @override - String get repeater_eraseFileSystemConfirm => '警告:此操作将清除转发节点上的所有数据,且无法恢复!'; + String get repeater_eraseFileSystemConfirm => + '警告:此操作将清除转发节点上的所有数据,且无法恢复!'; @override - String get repeater_eraseSerialOnly => '擦除功能仅可通过串行控制台使用。'; + String get repeater_eraseSerialOnly => + '擦除功能仅可通过串行控制台使用。'; @override String repeater_commandSent(String command) { - return '命令已发送:$command'; + return '命令已发送:$command'; } @override String repeater_errorSendingCommand(String error) { - return '发送命令时出错:$error'; + return '发送命令时出错:$error'; } @override - String get repeater_confirm => '确认'; + String get repeater_confirm => '确认'; @override - String get repeater_settingsSaved => '设置保存成功'; + String get repeater_settingsSaved => '设置保存成功'; @override String repeater_errorSavingSettings(String error) { - return '保存设置时出错:$error'; + return '保存设置时出错:$error'; } @override - String get repeater_refreshBasicSettings => '刷新基本设置'; + String get repeater_refreshBasicSettings => '刷新基本设置'; @override - String get repeater_refreshRadioSettings => '刷新无线电设置'; + String get repeater_refreshRadioSettings => '刷新无线电设置'; @override - String get repeater_refreshTxPower => '刷新 TX 功率'; + String get repeater_refreshTxPower => '刷新 TX 功率'; @override - String get repeater_refreshLocationSettings => '刷新位置设置'; + String get repeater_refreshLocationSettings => '刷新位置设置'; @override - String get repeater_refreshPacketForwarding => '刷新包转发'; + String get repeater_refreshPacketForwarding => '刷新包转发'; @override - String get repeater_refreshGuestAccess => '刷新访客权限'; + String get repeater_refreshGuestAccess => '刷新访客权限'; @override - String get repeater_refreshPrivacyMode => '刷新隐私模式'; + String get repeater_refreshPrivacyMode => '刷新隐私模式'; @override - String get repeater_refreshAdvertisementSettings => '刷新广播设置'; + String get repeater_refreshAdvertisementSettings => '刷新广播设置'; @override String repeater_refreshed(String label) { - return '$label 已刷新'; + return '$label 已刷新'; } @override String repeater_errorRefreshing(String label) { - return '刷新 $label 时出错'; + return '刷新 $label 时出错'; } @override - String get repeater_cliTitle => '转发节点命令行'; + String get repeater_cliTitle => '转发节点命令行'; @override - String get repeater_debugNextCommand => '调试下一条命令'; + String get repeater_debugNextCommand => '调试下一条命令'; @override - String get repeater_commandHelp => '帮助'; + String get repeater_commandHelp => '帮助'; @override - String get repeater_clearHistory => '清除历史'; + String get repeater_clearHistory => '清除历史'; @override - String get repeater_noCommandsSent => '尚未发送命令'; + String get repeater_noCommandsSent => '尚未发送命令'; @override - String get repeater_typeCommandOrUseQuick => '输入命令或使用快捷命令'; + String get repeater_typeCommandOrUseQuick => + '输入命令或使用快捷命令'; @override - String get repeater_enterCommandHint => '输入命令...'; + String get repeater_enterCommandHint => '输入命令...'; @override - String get repeater_previousCommand => '上一条命令'; + String get repeater_previousCommand => '上一条命令'; @override - String get repeater_nextCommand => '下一条命令'; + String get repeater_nextCommand => '下一条命令'; @override - String get repeater_enterCommandFirst => '请先输入命令'; + String get repeater_enterCommandFirst => '请先输入命令'; @override - String get repeater_cliCommandFrameTitle => 'CLI 命令帧'; + String get repeater_cliCommandFrameTitle => 'CLI 命令帧'; @override String repeater_cliCommandError(String error) { - return '错误:$error'; + return '错误:$error'; } @override - String get repeater_cliQuickGetName => '获取名称'; + String get repeater_cliQuickGetName => '获取名称'; @override - String get repeater_cliQuickGetRadio => '获取无线电设置'; + String get repeater_cliQuickGetRadio => '获取无线电设置'; @override - String get repeater_cliQuickGetTx => '获取 TX'; + String get repeater_cliQuickGetTx => '获取 TX'; @override - String get repeater_cliQuickNeighbors => '邻居'; + String get repeater_cliQuickNeighbors => '邻居'; @override - String get repeater_cliQuickVersion => '版本'; + String get repeater_cliQuickVersion => '版本'; @override - String get repeater_cliQuickAdvertise => '发送广播'; + String get repeater_cliQuickAdvertise => '发送广播'; @override - String get repeater_cliQuickClock => '时钟'; + String get repeater_cliQuickClock => 'æ—¶é’Ÿ'; @override - String get repeater_cliHelpAdvert => '发送广播包'; + String get repeater_cliHelpAdvert => '发送广播包'; @override - String get repeater_cliHelpReboot => '重启设备。(注意:可能会收到超时错误,属于正常现象)'; + String get repeater_cliHelpReboot => + '重启设备。(注意:可能会收到超时错误,属于正常现象)'; @override - String get repeater_cliHelpClock => '显示设备当前时间'; + String get repeater_cliHelpClock => '显示设备当前时间'; @override - String get repeater_cliHelpPassword => '设置新的管理员密码'; + String get repeater_cliHelpPassword => '设置新的管理员密码'; @override - String get repeater_cliHelpVersion => '显示设备版本和固件构建日期'; + String get repeater_cliHelpVersion => + '显示设备版本和固件构建日期'; @override - String get repeater_cliHelpClearStats => '重置各种统计数据'; + String get repeater_cliHelpClearStats => '重置各种统计数据'; @override - String get repeater_cliHelpSetAf => '设置时间因子'; + String get repeater_cliHelpSetAf => '设置时间因子'; @override - String get repeater_cliHelpSetTx => '设置 LoRa 发射功率 (dBm)(重启生效)'; + String get repeater_cliHelpSetTx => + '设置 LoRa 发射功率 (dBm)(重启生效)'; @override - String get repeater_cliHelpSetRepeat => '启用或禁用此节点的转发功能'; + String get repeater_cliHelpSetRepeat => + '启用或禁用此节点的转发功能'; @override String get repeater_cliHelpSetAllowReadOnly => - '(房间服务器)设为“开”则允许空密码登录,但只能读(不能发送)'; + '(房间服务器)设为“开”则允许空密码登录,但只能读(不能发送)'; @override - String get repeater_cliHelpSetFloodMax => '设置最大传入数据包跳数(≥该值则不转发)'; + String get repeater_cliHelpSetFloodMax => + '设置最大传入数据包跳数(≥该值则不转发)'; @override - String get repeater_cliHelpSetIntThresh => '设置干扰阈值 (dB),默认14,设为0禁用'; + String get repeater_cliHelpSetIntThresh => + '设置干扰阈值 (dB),默认14,设为0禁用'; @override - String get repeater_cliHelpSetAgcResetInterval => '设置 AGC 重置间隔(秒),设为0禁用'; + String get repeater_cliHelpSetAgcResetInterval => + '设置 AGC 重置间隔(秒),设为0禁用'; @override - String get repeater_cliHelpSetMultiAcks => '启用或禁用“多重确认”功能'; + String get repeater_cliHelpSetMultiAcks => + '启用或禁用“多重确认”功能'; @override - String get repeater_cliHelpSetAdvertInterval => '设置本地广播间隔(分钟),设为0禁用'; + String get repeater_cliHelpSetAdvertInterval => + '设置本地广播间隔(分钟),设为0禁用'; @override - String get repeater_cliHelpSetFloodAdvertInterval => '设置泛洪广播间隔(小时),设为0禁用'; + String get repeater_cliHelpSetFloodAdvertInterval => + '设置泛洪广播间隔(小时),设为0禁用'; @override - String get repeater_cliHelpSetGuestPassword => '设置/更新访客密码'; + String get repeater_cliHelpSetGuestPassword => '设置/更新访客密码'; @override - String get repeater_cliHelpSetName => '设置广播名称'; + String get repeater_cliHelpSetName => '设置广播名称'; @override - String get repeater_cliHelpSetLat => '设置广播纬度(十进制)'; + String get repeater_cliHelpSetLat => '设置广播纬度(十进制)'; @override - String get repeater_cliHelpSetLon => '设置广播经度(十进制)'; + String get repeater_cliHelpSetLon => '设置广播经度(十进制)'; @override - String get repeater_cliHelpSetRadio => '完全重设无线电参数并保存,需重启生效'; + String get repeater_cliHelpSetRadio => + '完全重设无线电参数并保存,需重启生效'; @override - String get repeater_cliHelpSetRxDelay => '(实验性)设置接收延迟基数,设为0禁用'; + String get repeater_cliHelpSetRxDelay => + '(实验性)设置接收延迟基数,设为0禁用'; @override - String get repeater_cliHelpSetTxDelay => '通过因子和随机时隙延迟泛洪数据包转发,降低冲突'; + String get repeater_cliHelpSetTxDelay => + '通过因子和随机时隙延迟泛洪数据包转发,降低冲突'; @override - String get repeater_cliHelpSetDirectTxDelay => '同 txdelay,用于直连模式数据包'; + String get repeater_cliHelpSetDirectTxDelay => + '同 txdelay,用于直连模式数据包'; @override - String get repeater_cliHelpSetBridgeEnabled => '启用/禁用桥接'; + String get repeater_cliHelpSetBridgeEnabled => '启用/禁用桥接'; @override - String get repeater_cliHelpSetBridgeDelay => '设置桥接转发延迟'; + String get repeater_cliHelpSetBridgeDelay => '设置桥接转发延迟'; @override - String get repeater_cliHelpSetBridgeSource => '选择桥接器转发接收或发送的数据包'; + String get repeater_cliHelpSetBridgeSource => + '选择桥接器转发接收或发送的数据包'; @override - String get repeater_cliHelpSetBridgeBaud => '设置 RS232 桥接串口波特率'; + String get repeater_cliHelpSetBridgeBaud => + '设置 RS232 桥接串口波特率'; @override - String get repeater_cliHelpSetBridgeSecret => '设置 ESPNOW 桥接密钥'; + String get repeater_cliHelpSetBridgeSecret => '设置 ESPNOW 桥接密钥'; @override - String get repeater_cliHelpSetAdcMultiplier => '设置电池电压校正系数(特定板支持)'; + String get repeater_cliHelpSetAdcMultiplier => + '设置电池电压校正系数(特定板支持)'; @override - String get repeater_cliHelpTempRadio => '临时设置无线电参数指定分钟,之后恢复(不保存)'; + String get repeater_cliHelpTempRadio => + '临时设置无线电参数指定分钟,之后恢复(不保存)'; @override - String get repeater_cliHelpSetPerm => '修改 ACL,权限位:0访客、1只读、2读写、3管理员'; + String get repeater_cliHelpSetPerm => + '修改 ACL,权限位:0访客、1只读、2读写、3管理员'; @override - String get repeater_cliHelpGetBridgeType => '支持桥接模式:RS232、ESPNOW'; + String get repeater_cliHelpGetBridgeType => + '支持桥接模式:RS232、ESPNOW'; @override - String get repeater_cliHelpLogStart => '开始记录数据包到文件系统'; + String get repeater_cliHelpLogStart => '开始记录数据包到文件系统'; @override - String get repeater_cliHelpLogStop => '停止记录数据包'; + String get repeater_cliHelpLogStop => '停止记录数据包'; @override - String get repeater_cliHelpLogErase => '删除所有记录的数据包'; + String get repeater_cliHelpLogErase => '删除所有记录的数据包'; @override - String get repeater_cliHelpNeighbors => '显示零跳广播收到的其他转发节点列表'; + String get repeater_cliHelpNeighbors => + '显示零跳广播收到的其他转发节点列表'; @override - String get repeater_cliHelpNeighborRemove => '从邻居列表删除第一个匹配项(通过公钥前缀)'; + String get repeater_cliHelpNeighborRemove => + '从邻居列表删除第一个匹配项(通过公钥前缀)'; @override - String get repeater_cliHelpRegion => '(仅串口)列出所有定义区域及当前泛洪权限'; + String get repeater_cliHelpRegion => + '(仅串口)列出所有定义区域及当前泛洪权限'; @override - String get repeater_cliHelpRegionLoad => '特殊多命令调用,以空行结束'; + String get repeater_cliHelpRegionLoad => + '特殊多命令调用,以空行结束'; @override - String get repeater_cliHelpRegionGet => '搜索指定前缀的区域'; + String get repeater_cliHelpRegionGet => '搜索指定前缀的区域'; @override - String get repeater_cliHelpRegionPut => '添加或更新区域定义'; + String get repeater_cliHelpRegionPut => '添加或更新区域定义'; @override - String get repeater_cliHelpRegionRemove => '删除指定区域定义'; + String get repeater_cliHelpRegionRemove => '删除指定区域定义'; @override - String get repeater_cliHelpRegionAllowf => '为区域设置“泛洪”权限'; + String get repeater_cliHelpRegionAllowf => + '为区域设置“泛洪”权限'; @override - String get repeater_cliHelpRegionDenyf => '移除区域的“泛洪”权限'; + String get repeater_cliHelpRegionDenyf => '移除区域的“泛洪”权限'; @override - String get repeater_cliHelpRegionHome => '返回当前“主区域”(预留)'; + String get repeater_cliHelpRegionHome => + '返回当前“主区域”(预留)'; @override - String get repeater_cliHelpRegionHomeSet => '设置“主”区域'; + String get repeater_cliHelpRegionHomeSet => '设置“主”区域'; @override - String get repeater_cliHelpRegionSave => '保存区域列表到存储'; + String get repeater_cliHelpRegionSave => '保存区域列表到存储'; @override - String get repeater_cliHelpGps => '显示 GPS 状态'; + String get repeater_cliHelpGps => '显示 GPS 状态'; @override - String get repeater_cliHelpGpsOnOff => '切换 GPS 电源'; + String get repeater_cliHelpGpsOnOff => '切换 GPS 电源'; @override - String get repeater_cliHelpGpsSync => '将节点时间与 GPS 同步'; + String get repeater_cliHelpGpsSync => '将节点时间与 GPS 同步'; @override - String get repeater_cliHelpGpsSetLoc => '将节点坐标设为 GPS 坐标并保存'; + String get repeater_cliHelpGpsSetLoc => + '将节点坐标设为 GPS 坐标并保存'; @override - String get repeater_cliHelpGpsAdvert => '设置位置广播配置:none/share/prefs'; + String get repeater_cliHelpGpsAdvert => + '设置位置广播配置:none/share/prefs'; @override - String get repeater_cliHelpGpsAdvertSet => '设置广播位置配置'; + String get repeater_cliHelpGpsAdvertSet => '设置广播位置配置'; @override - String get repeater_commandsListTitle => '命令列表'; + String get repeater_commandsListTitle => '命令列表'; @override - String get repeater_commandsListNote => '注意:多数 set 命令也有对应的 get 命令'; + String get repeater_commandsListNote => + '注意:多数 set 命令也有对应的 get 命令'; @override - String get repeater_general => '通用'; + String get repeater_general => '通用'; @override - String get repeater_settingsCategory => '设置'; + String get repeater_settingsCategory => '设置'; @override - String get repeater_bridge => '桥接'; + String get repeater_bridge => '桥接'; @override - String get repeater_logging => '日志'; + String get repeater_logging => '日志'; @override - String get repeater_neighborsRepeaterOnly => '邻居(仅转发节点)'; + String get repeater_neighborsRepeaterOnly => '邻居(仅转发节点)'; @override - String get repeater_regionManagementRepeaterOnly => '区域管理(仅转发节点)'; + String get repeater_regionManagementRepeaterOnly => + '区域管理(仅转发节点)'; @override - String get repeater_regionNote => '区域命令用于管理区域定义和权限'; + String get repeater_regionNote => + '区域命令用于管理区域定义和权限'; @override - String get repeater_gpsManagement => 'GPS 管理'; + String get repeater_gpsManagement => 'GPS 管理'; @override - String get repeater_gpsNote => 'GPS 命令用于位置相关任务'; + String get repeater_gpsNote => 'GPS 命令用于位置相关任务'; @override - String get telemetry_receivedData => '接收到的遥测数据'; + String get telemetry_receivedData => '接收到的遥测数据'; @override - String get telemetry_requestTimeout => '遥测请求超时'; + String get telemetry_requestTimeout => '遥测请求超时'; @override String telemetry_errorLoading(String error) { - return '加载遥测数据时出错:$error'; + return '加载遥测数据时出错:$error'; } @override - String get telemetry_noData => '暂无遥测数据'; + String get telemetry_noData => '暂无遥测数据'; @override String telemetry_channelTitle(int channel) { - return '频道 $channel'; + return '频道 $channel'; } @override - String get telemetry_batteryLabel => '电池'; + String get telemetry_batteryLabel => '电池'; @override - String get telemetry_voltageLabel => '电压'; + String get telemetry_voltageLabel => '电压'; @override - String get telemetry_mcuTemperatureLabel => 'MCU 温度'; + String get telemetry_mcuTemperatureLabel => 'MCU 温度'; @override - String get telemetry_temperatureLabel => '温度'; + String get telemetry_temperatureLabel => '温度'; @override - String get telemetry_currentLabel => '电流'; + String get telemetry_currentLabel => '电流'; @override String telemetry_batteryValue(int percent, String volts) { @@ -2293,78 +2383,78 @@ class AppLocalizationsZh extends AppLocalizations { @override String telemetry_temperatureValue(String celsius, String fahrenheit) { - return '$celsius°C / $fahrenheit°F'; + return '$celsius°C / $fahrenheit°F'; } @override - String get neighbors_receivedData => '已接收邻居信息'; + String get neighbors_receivedData => '已接收邻居信息'; @override - String get neighbors_requestTimedOut => '邻居请求超时'; + String get neighbors_requestTimedOut => '邻居请求超时'; @override String neighbors_errorLoading(String error) { - return '加载邻居时出错:$error'; + return '加载邻居时出错:$error'; } @override - String get neighbors_repeatersNeighbors => '转发节点的邻居'; + String get neighbors_repeatersNeighbors => '转发节点的邻居'; @override - String get neighbors_noData => '暂无邻居信息'; + String get neighbors_noData => '暂无邻居信息'; @override String neighbors_unknownContact(String pubkey) { - return '未知 $pubkey'; + return '未知 $pubkey'; } @override String neighbors_heardAgo(String time) { - return '听到:$time前'; + return '听到:$time前'; } @override - String get channelPath_title => '数据包路径'; + String get channelPath_title => '数据包路径'; @override - String get channelPath_viewMap => '查看地图'; + String get channelPath_viewMap => '查看地图'; @override - String get channelPath_otherObservedPaths => '其他观察到的路径'; + String get channelPath_otherObservedPaths => '其他观察到的路径'; @override - String get channelPath_repeaterHops => '转发节点跳数'; + String get channelPath_repeaterHops => '转发节点跳数'; @override - String get channelPath_noHopDetails => '此数据包未提供详细信息'; + String get channelPath_noHopDetails => '此数据包未提供详细信息'; @override - String get channelPath_messageDetails => '消息详情'; + String get channelPath_messageDetails => '消息详情'; @override - String get channelPath_senderLabel => '发送者'; + String get channelPath_senderLabel => '发送者'; @override - String get channelPath_timeLabel => '时间'; + String get channelPath_timeLabel => 'æ—¶é—´'; @override - String get channelPath_repeatsLabel => '重复'; + String get channelPath_repeatsLabel => '重复'; @override String channelPath_pathLabel(int index) { - return '路径 $index'; + return '路径 $index'; } @override - String get channelPath_observedLabel => '观察到的'; + String get channelPath_observedLabel => '观察到的'; @override String channelPath_observedPathTitle(int index, String hops) { - return '观察到的路径 $index • $hops'; + return '观察到的路径 $index • $hops'; } @override - String get channelPath_noLocationData => '无位置信息'; + String get channelPath_noLocationData => '无位置信息'; @override String channelPath_timeWithDate(int day, int month, String time) { @@ -2377,328 +2467,339 @@ class AppLocalizationsZh extends AppLocalizations { } @override - String get channelPath_unknownPath => '未知'; + String get channelPath_unknownPath => '未知'; @override - String get channelPath_floodPath => '泛洪'; + String get channelPath_floodPath => '泛洪'; @override - String get channelPath_directPath => '直连'; + String get channelPath_directPath => '直连'; @override String channelPath_observedZeroOf(int total) { - return '0 / $total 跳'; + return '0 / $total è·³'; } @override String channelPath_observedSomeOf(int observed, int total) { - return '$observed / $total 跳'; + return '$observed / $total è·³'; } @override - String get channelPath_mapTitle => '路径地图'; + String get channelPath_mapTitle => '路径地图'; @override - String get channelPath_noRepeaterLocations => '此路径上没有可用的转发节点位置信息'; + String get channelPath_noRepeaterLocations => + '此路径上没有可用的转发节点位置信息'; @override String channelPath_primaryPath(int index) { - return '路径 $index(主要)'; + return '路径 $index(主要)'; } @override - String get channelPath_pathLabelTitle => '路径'; + String get channelPath_pathLabelTitle => '路径'; @override - String get channelPath_observedPathHeader => '观察到的路径'; + String get channelPath_observedPathHeader => '观察到的路径'; @override String channelPath_selectedPathLabel(String label, String prefixes) { - return '$label • $prefixes'; + return '$label • $prefixes'; } @override - String get channelPath_noHopDetailsAvailable => '此数据包暂无详细信息'; + String get channelPath_noHopDetailsAvailable => + '此数据包暂无详细信息'; @override - String get channelPath_unknownRepeater => '未知转发节点'; + String get channelPath_unknownRepeater => '未知转发节点'; @override - String get community_title => '社区'; + String get community_title => '社区'; @override - String get community_create => '创建社区'; + String get community_create => '创建社区'; @override - String get community_createDesc => '创建新社区并通过二维码分享。'; + String get community_createDesc => + '创建新社区并通过二维码分享。'; @override - String get community_join => '加入'; + String get community_join => '加入'; @override - String get community_joinTitle => '加入社区'; + String get community_joinTitle => '加入社区'; @override String community_joinConfirmation(String name) { - return '是否加入社区 \"$name\"?'; + return '是否加入社区 \"$name\"?'; } @override - String get community_scanQr => '扫描社区二维码'; + String get community_scanQr => '扫描社区二维码'; @override - String get community_scanInstructions => '将摄像头对准社区的二维码'; + String get community_scanInstructions => + '将摄像头对准社区的二维码'; @override - String get community_showQr => '显示二维码'; + String get community_showQr => '显示二维码'; @override - String get community_publicChannel => '社区公共频道'; + String get community_publicChannel => '社区公共频道'; @override - String get community_hashtagChannel => '社区标签频道'; + String get community_hashtagChannel => '社区标签频道'; @override - String get community_name => '社区名称'; + String get community_name => '社区名称'; @override - String get community_enterName => '请输入社区名称'; + String get community_enterName => '请输入社区名称'; @override String community_created(String name) { - return '社区 \"$name\" 已创建'; + return '社区 \"$name\" 已创建'; } @override String community_joined(String name) { - return '已加入社区 \"$name\"'; + return '已加入社区 \"$name\"'; } @override - String get community_qrTitle => '分享社区'; + String get community_qrTitle => '分享社区'; @override String community_qrInstructions(String name) { - return '扫描此二维码加入 \"$name\"'; + return '扫描此二维码加入 \"$name\"'; } @override - String get community_hashtagPrivacyHint => '仅社区成员可加入社区标签频道。'; + String get community_hashtagPrivacyHint => + '仅社区成员可加入社区标签频道。'; @override - String get community_invalidQrCode => '无效的社区二维码'; + String get community_invalidQrCode => '无效的社区二维码'; @override - String get community_alreadyMember => '已是成员'; + String get community_alreadyMember => '已是成员'; @override String community_alreadyMemberMessage(String name) { - return '您已是 \"$name\" 的成员。'; + return '您已是 \"$name\" 的成员。'; } @override - String get community_addPublicChannel => '添加公共频道'; + String get community_addPublicChannel => '添加公共频道'; @override - String get community_addPublicChannelHint => '自动添加此社区的公共频道'; + String get community_addPublicChannelHint => + '自动添加此社区的公共频道'; @override - String get community_noCommunities => '尚未加入任何社区。'; + String get community_noCommunities => '尚未加入任何社区。'; @override - String get community_scanOrCreate => '扫描二维码或创建社区以开始。'; + String get community_scanOrCreate => + '扫描二维码或创建社区以开始。'; @override - String get community_manageCommunities => '管理社区'; + String get community_manageCommunities => '管理社区'; @override - String get community_delete => '退出社区'; + String get community_delete => '退出社区'; @override String community_deleteConfirm(String name) { - return '是否退出 \"$name\"?'; + return '是否退出 \"$name\"?'; } @override String community_deleteChannelsWarning(int count) { - return '这将同时删除 $count 个频道及其所有消息。'; + return '这将同时删除 $count 个频道及其所有消息。'; } @override String community_deleted(String name) { - return '已退出社区 \"$name\"'; + return '已退出社区 \"$name\"'; } @override - String get community_regenerateSecret => '重新生成密钥'; + String get community_regenerateSecret => '重新生成密钥'; @override String community_regenerateSecretConfirm(String name) { - return '是否为 \"$name\" 重新生成密钥?所有成员需扫描新的二维码才能继续通信。'; + return '是否为 \"$name\" 重新生成密钥?所有成员需扫描新的二维码才能继续通信。'; } @override - String get community_regenerate => '重新生成'; + String get community_regenerate => '重新生成'; @override String community_secretRegenerated(String name) { - return '已为 \"$name\" 重新生成密钥'; + return '已为 \"$name\" 重新生成密钥'; } @override - String get community_updateSecret => '更新密钥'; + String get community_updateSecret => '更新密钥'; @override String community_secretUpdated(String name) { - return '“$name”的密钥已更新'; + return '“$name”的密钥已更新'; } @override String community_scanToUpdateSecret(String name) { - return '扫描新二维码以更新 \"$name\" 的密钥'; + return '扫描新二维码以更新 \"$name\" 的密钥'; } @override - String get community_addHashtagChannel => '添加标签频道'; + String get community_addHashtagChannel => '添加标签频道'; @override - String get community_addHashtagChannelDesc => '为此社区创建标签频道'; + String get community_addHashtagChannelDesc => + '为此社区创建标签频道'; @override - String get community_selectCommunity => '选择社区'; + String get community_selectCommunity => '选择社区'; @override - String get community_regularHashtag => '普通标签'; + String get community_regularHashtag => '普通标签'; @override - String get community_regularHashtagDesc => '公共标签频道(任何人都可参与)'; + String get community_regularHashtagDesc => + '公共标签频道(任何人都可参与)'; @override - String get community_communityHashtag => '社区标签'; + String get community_communityHashtag => '社区标签'; @override - String get community_communityHashtagDesc => '仅限社区成员'; + String get community_communityHashtagDesc => '仅限社区成员'; @override String community_forCommunity(String name) { - return '为 $name'; + return '为 $name'; } @override - String get listFilter_tooltip => '筛选与排序'; + String get listFilter_tooltip => '筛选与排序'; @override - String get listFilter_sortBy => '排序方式'; + String get listFilter_sortBy => '排序方式'; @override - String get listFilter_latestMessages => '最新消息'; + String get listFilter_latestMessages => '最新消息'; @override - String get listFilter_heardRecently => '最近听到'; + String get listFilter_heardRecently => '最近听到'; @override String get listFilter_az => 'A-Z'; @override - String get listFilter_filters => '筛选'; + String get listFilter_filters => '筛选'; @override - String get listFilter_all => '全部'; + String get listFilter_all => '全部'; @override - String get listFilter_favorites => '收藏'; + String get listFilter_favorites => '收藏'; @override - String get listFilter_addToFavorites => '添加到收藏'; + String get listFilter_addToFavorites => '添加到收藏'; @override - String get listFilter_removeFromFavorites => '从收藏中移除'; + String get listFilter_removeFromFavorites => '从收藏中移除'; @override - String get listFilter_users => '用户'; + String get listFilter_users => '用户'; @override - String get listFilter_repeaters => '转发节点'; + String get listFilter_repeaters => '转发节点'; @override - String get listFilter_roomServers => '房间服务器'; + String get listFilter_roomServers => '房间服务器'; @override - String get listFilter_unreadOnly => '仅显示未读'; + String get listFilter_unreadOnly => '仅显示未读'; @override - String get listFilter_newGroup => '新建群聊'; + String get listFilter_newGroup => '新建群聊'; @override - String get pathTrace_you => '我自己'; + String get pathTrace_you => '我自己'; @override - String get pathTrace_failed => '路径追踪失败。'; + String get pathTrace_failed => '路径追踪失败。'; @override - String get pathTrace_notAvailable => '无法获取路径信息。'; + String get pathTrace_notAvailable => '无法获取路径信息。'; @override - String get pathTrace_refreshTooltip => '刷新路径追踪'; + String get pathTrace_refreshTooltip => '刷新路径追踪'; @override - String get pathTrace_someHopsNoLocation => '某些跳缺少位置信息!'; + String get pathTrace_someHopsNoLocation => '某些跳缺少位置信息!'; @override - String get pathTrace_clearTooltip => '清除路径'; + String get pathTrace_clearTooltip => '清除路径'; @override - String get losSelectStartEnd => '选择 LOS 的起始节点和结束节点。'; + String get losSelectStartEnd => + '选择 LOS 的起始节点和结束节点。'; @override String losRunFailed(String error) { - return '视线检查失败:$error'; + return '视线检查失败:$error'; } @override - String get losClearAllPoints => '清除所有点'; + String get losClearAllPoints => '清除所有点'; @override - String get losRunToViewElevationProfile => '运行 LOS 查看高程剖面'; + String get losRunToViewElevationProfile => '运行 LOS 查看高程剖面'; @override - String get losMenuTitle => '服务水平菜单'; + String get losMenuTitle => '服务水平菜单'; @override - String get losMenuSubtitle => '点击节点或长按地图以获取自定义点'; + String get losMenuSubtitle => + '点击节点或长按地图以获取自定义点'; @override - String get losShowDisplayNodes => '显示显示节点'; + String get losShowDisplayNodes => '显示显示节点'; @override - String get losCustomPoints => '自定义积分'; + String get losCustomPoints => '自定义积分'; @override String losCustomPointLabel(int index) { - return '自定义 $index'; + return '自定义 $index'; } @override - String get losPointA => 'A点'; + String get losPointA => 'A点'; @override - String get losPointB => 'B点'; + String get losPointB => 'B点'; @override String losAntennaA(String value, String unit) { - return '天线 A: $value $unit'; + return '天线 A: $value $unit'; } @override String losAntennaB(String value, String unit) { - return '天线 B:$value $unit'; + return '天线 B:$value $unit'; } @override - String get losRun => '运行视距'; + String get losRun => '运行视距'; @override - String get losNoElevationData => '无海拔数据'; + String get losNoElevationData => '无海拔数据'; @override String losProfileClear( @@ -2707,7 +2808,7 @@ class AppLocalizationsZh extends AppLocalizations { String clearance, String heightUnit, ) { - return '$distance $distanceUnit,清除 LOS,最小间隙 $clearance $heightUnit'; + return '$distance $distanceUnit,清除 LOS,最小间隙 $clearance $heightUnit'; } @override @@ -2717,58 +2818,60 @@ class AppLocalizationsZh extends AppLocalizations { String obstruction, String heightUnit, ) { - return '$distance $distanceUnit,被 $obstruction $heightUnit 阻止'; + return '$distance $distanceUnit,被 $obstruction $heightUnit 阻止'; } @override - String get losStatusChecking => '洛斯:正在检查...'; + String get losStatusChecking => '洛斯:正在检查...'; @override - String get losStatusNoData => 'LOS:无数据'; + String get losStatusNoData => 'LOS:无数据'; @override String losStatusSummary(int clear, int total, int blocked, int unknown) { - return 'LOS:$clear/$total 清除,$blocked 阻塞,$unknown 未知'; + return 'LOS:$clear/$total 清除,$blocked 阻塞,$unknown 未知'; } @override - String get losErrorElevationUnavailable => '一个或多个样本的海拔数据不可用。'; + String get losErrorElevationUnavailable => + '一个或多个样本的海拔数据不可用。'; @override - String get losErrorInvalidInput => '用于 LOS 计算的点/高程数据无效。'; + String get losErrorInvalidInput => + '用于 LOS 计算的点/高程数据无效。'; @override - String get losRenameCustomPoint => '重命名自定义点'; + String get losRenameCustomPoint => '重命名自定义点'; @override - String get losPointName => '点名称'; + String get losPointName => '点名称'; @override - String get losShowPanelTooltip => '显示 LOS 面板'; + String get losShowPanelTooltip => '显示 LOS 面板'; @override - String get losHidePanelTooltip => '隐藏 LOS 面板'; + String get losHidePanelTooltip => '隐藏 LOS 面板'; @override - String get losElevationAttribution => '高程数据:Open-Meteo (CC BY 4.0)'; + String get losElevationAttribution => '高程数据:Open-Meteo (CC BY 4.0)'; @override - String get losLegendRadioHorizon => '无线电地平线'; + String get losLegendRadioHorizon => '无线电地平线'; @override - String get losLegendLosBeam => '视距波束'; + String get losLegendLosBeam => '视距波束'; @override - String get losLegendTerrain => '地形'; + String get losLegendTerrain => '地形'; @override - String get losFrequencyLabel => '频率'; + String get losFrequencyLabel => '频率'; @override - String get losFrequencyInfoTooltip => '查看计算详情'; + String get losFrequencyInfoTooltip => '查看计算详情'; @override - String get losFrequencyDialogTitle => '无线电地平线计算'; + String get losFrequencyDialogTitle => '无线电地平线计算'; @override String losFrequencyDialogDescription( @@ -2777,151 +2880,161 @@ class AppLocalizationsZh extends AppLocalizations { double frequencyMHz, double kFactor, ) { - return '从 $baselineFreq MHz 处的 k=$baselineK 开始,计算调整当前 $frequencyMHz MHz 频段的 k 因子,该因子定义了弯曲的无线电范围上限。'; + return '从 $baselineFreq MHz 处的 k=$baselineK 开始,计算调整当前 $frequencyMHz MHz 频段的 k 因子,该因子定义了弯曲的无线电范围上限。'; } @override - String get contacts_pathTrace => '路径追踪'; + String get contacts_pathTrace => '路径追踪'; @override String get contacts_ping => 'Ping'; @override - String get contacts_repeaterPathTrace => 'Trace 转发节点'; + String get contacts_repeaterPathTrace => 'Trace 转发节点'; @override - String get contacts_repeaterPing => 'Ping 转发节点'; + String get contacts_repeaterPing => 'Ping 转发节点'; @override - String get contacts_roomPathTrace => 'Trace 房间服务器'; + String get contacts_roomPathTrace => 'Trace 房间服务器'; @override - String get contacts_roomPing => 'Ping 房间服务器'; + String get contacts_roomPing => 'Ping 房间服务器'; @override - String get contacts_chatTraceRoute => '路由追踪'; + String get contacts_chatTraceRoute => '路由追踪'; @override String contacts_pathTraceTo(String name) { - return '追踪至 $name 的路径'; + return '追踪至 $name 的路径'; } @override - String get contacts_clipboardEmpty => '剪贴板为空'; + String get contacts_clipboardEmpty => '剪贴板为空'; @override - String get contacts_invalidAdvertFormat => '无效的联系人信息格式'; + String get contacts_invalidAdvertFormat => '无效的联系人信息格式'; @override - String get contacts_contactImported => '联系人已导入'; + String get contacts_contactImported => '联系人已导入'; @override - String get contacts_contactImportFailed => '导入联系人失败。'; + String get contacts_contactImportFailed => '导入联系人失败。'; @override - String get contacts_zeroHopAdvert => '发送零跳广播'; + String get contacts_zeroHopAdvert => '发送零跳广播'; @override - String get contacts_floodAdvert => '发送泛洪广播'; + String get contacts_floodAdvert => '发送泛洪广播'; @override - String get contacts_copyAdvertToClipboard => '复制广播到剪贴板'; + String get contacts_copyAdvertToClipboard => '复制广播到剪贴板'; @override - String get contacts_addContactFromClipboard => '从剪贴板添加联系人'; + String get contacts_addContactFromClipboard => '从剪贴板添加联系人'; @override - String get contacts_ShareContact => '复制联系人信息到剪贴板'; + String get contacts_ShareContact => '复制联系人信息到剪贴板'; @override - String get contacts_ShareContactZeroHop => '通过广播分享联系人'; + String get contacts_ShareContactZeroHop => '通过广播分享联系人'; @override - String get contacts_zeroHopContactAdvertSent => '零跳广播已发送'; + String get contacts_zeroHopContactAdvertSent => '零跳广播已发送'; @override - String get contacts_zeroHopContactAdvertFailed => '发送联系人广播失败。'; + String get contacts_zeroHopContactAdvertFailed => + '发送联系人广播失败。'; @override - String get contacts_contactAdvertCopied => '广播已复制到剪贴板。'; + String get contacts_contactAdvertCopied => '广播已复制到剪贴板。'; @override - String get contacts_contactAdvertCopyFailed => '复制广播到剪贴板失败。'; + String get contacts_contactAdvertCopyFailed => + '复制广播到剪贴板失败。'; @override - String get notification_activityTitle => 'MeshCore 活动'; + String get notification_activityTitle => 'MeshCore 活动'; @override String notification_messagesCount(int count) { - return '$count 条消息'; + return '$count 条消息'; } @override String notification_channelMessagesCount(int count) { - return '$count 条频道消息'; + return '$count 条频道消息'; } @override String notification_newNodesCount(int count) { - return '$count 个新节点'; + return '$count 个新节点'; } @override String notification_newTypeDiscovered(String contactType) { - return '发现新 $contactType'; + return '发现新 $contactType'; } @override - String get notification_receivedNewMessage => '收到新消息'; + String get notification_receivedNewMessage => '收到新消息'; @override - String get settings_gpxExportRepeaters => '导出转发节点/房间服务器到 GPX'; + String get settings_gpxExportRepeaters => + '导出转发节点/房间服务器到 GPX'; @override - String get settings_gpxExportRepeatersSubtitle => '导出带位置的转发节点/房间服务器到 GPX 文件'; + String get settings_gpxExportRepeatersSubtitle => + '导出带位置的转发节点/房间服务器到 GPX 文件'; @override - String get settings_gpxExportContacts => '导出伙伴到 GPX'; + String get settings_gpxExportContacts => '导出伙伴到 GPX'; @override - String get settings_gpxExportContactsSubtitle => '导出带位置的伙伴到 GPX 文件'; + String get settings_gpxExportContactsSubtitle => + '导出带位置的伙伴到 GPX 文件'; @override - String get settings_gpxExportAll => '导出所有联系人到 GPX'; + String get settings_gpxExportAll => '导出所有联系人到 GPX'; @override - String get settings_gpxExportAllSubtitle => '导出所有带位置的联系人到 GPX 文件'; + String get settings_gpxExportAllSubtitle => + '导出所有带位置的联系人到 GPX 文件'; @override - String get settings_gpxExportSuccess => 'GPX 文件导出成功'; + String get settings_gpxExportSuccess => 'GPX 文件导出成功'; @override - String get settings_gpxExportNoContacts => '没有可导出的联系人'; + String get settings_gpxExportNoContacts => '没有可导出的联系人'; @override - String get settings_gpxExportNotAvailable => '您的设备/操作系统不支持'; + String get settings_gpxExportNotAvailable => + '您的设备/操作系统不支持'; @override - String get settings_gpxExportError => '导出时出错'; + String get settings_gpxExportError => '导出时出错'; @override - String get settings_gpxExportRepeatersRoom => '转发节点与房间服务器位置'; + String get settings_gpxExportRepeatersRoom => + '转发节点与房间服务器位置'; @override - String get settings_gpxExportChat => '伙伴位置'; + String get settings_gpxExportChat => '伙伴位置'; @override - String get settings_gpxExportAllContacts => '所有联系人位置'; + String get settings_gpxExportAllContacts => '所有联系人位置'; @override - String get settings_gpxExportShareText => '来自 MeshCore Open 的地图数据导出'; + String get settings_gpxExportShareText => + '来自 MeshCore Open 的地图数据导出'; @override - String get settings_gpxExportShareSubject => 'MeshCore Open GPX 地图数据导出'; + String get settings_gpxExportShareSubject => + 'MeshCore Open GPX 地图数据导出'; @override - String get snrIndicator_nearByRepeaters => '附近的重复器'; + String get snrIndicator_nearByRepeaters => '附近的重复器'; @override - String get snrIndicator_lastSeen => '最近访问'; + String get snrIndicator_lastSeen => '最近访问'; } diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index 338a3a2..d325209 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1,4 +1,4 @@ -{ +{ "channels_channelDeleteFailed": "Kan kanaal {name} niet verwijderen", "@channels_channelDeleteFailed": { "placeholders": { @@ -27,7 +27,7 @@ "common_create": "Maak", "common_continue": "Doorgaan", "common_share": "Delen", - "common_copy": "Kopiëren", + "common_copy": "Kopiëren", "common_retry": "Nogmaals proberen", "common_hide": "Verbergen", "common_remove": "Verwijderen", @@ -35,7 +35,7 @@ "common_disable": "Uitschakelen", "common_reboot": "Herstarten", "common_loading": "Laden...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -92,7 +92,7 @@ "settings_radioSettingsSubtitle": "Frequentie, vermogen, spredfactor", "settings_radioSettingsUpdated": "Radio instellingen bijgewerkt", "settings_location": "Locatie", - "settings_locationSubtitle": "GPS coördinaten", + "settings_locationSubtitle": "GPS coördinaten", "settings_locationUpdated": "Locatie bijgewerkt", "settings_locationBothRequired": "Voer zowel breedte- als lengtegraad in.", "settings_locationInvalid": "Ongeldige breedtegraad of lengtegraad.", @@ -165,18 +165,18 @@ "appSettings_language": "Taal", "appSettings_languageSystem": "Standaardinstelling", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Notificaties", "appSettings_enableNotifications": "Notificaties inschakelen", "appSettings_enableNotificationsSubtitle": "Ontvang meldingen voor berichten en advertenties", @@ -338,7 +338,7 @@ }, "channels_hashtagChannel": "Hashtag kanaal", "channels_public": "Openbaar", - "channels_private": "Privé", + "channels_private": "Privé", "channels_publicChannel": "Open kanaal", "channels_privateChannel": "Private kanaal", "channels_editChannel": "Kanaal bewerken", @@ -623,7 +623,7 @@ "chat_invalidLink": "Ongeldig linkformaat", "map_title": "Node Map", "map_noNodesWithLocation": "Geen nodes met locatiegegevens", - "map_nodesNeedGps": "Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen", + "map_nodesNeedGps": "Nodes moeten hun GPS-coördinaten delen\nom op de kaart te verschijnen", "map_nodesCount": "Nodes: {count}", "@map_nodesCount": { "placeholders": { @@ -645,7 +645,7 @@ "map_room": "Ruimte", "map_sensor": "Sensor", "map_pinDm": "Verzenden als bericht (DM)", - "map_pinPrivate": "Beveiligd (Privé)", + "map_pinPrivate": "Beveiligd (Privé)", "map_pinPublic": "Openbaar spikken", "map_lastSeen": "Laaste keer gezien", "map_disconnectConfirm": "Ben je er zeker van dat je verbinding met dit apparaat wilt verbreken?", @@ -1039,7 +1039,7 @@ "repeater_eraseFileSystem": "Verwijder Besturingssysteem", "repeater_eraseFileSystemSubtitle": "Formateer het bestandsysteem van de repeater", "repeater_eraseFileSystemConfirm": "WAARSCHUWING: Dit zal alle gegevens op de repeater wissen. Dit kan niet worden teruggedraaid!", - "repeater_eraseSerialOnly": "Verwijderen is alleen beschikbaar via de seriële console.", + "repeater_eraseSerialOnly": "Verwijderen is alleen beschikbaar via de seriële console.", "repeater_commandSent": "Commando verzonden: {command}", "@repeater_commandSent": { "placeholders": { @@ -1143,11 +1143,11 @@ "repeater_cliHelpSetBridgeEnabled": "Poort inschakelen/uitschakelen.", "repeater_cliHelpSetBridgeDelay": "Verzend vertraging instellen voor pakketten.", "repeater_cliHelpSetBridgeSource": "Kies of de brug ontvangen pakketten of verzonden pakketten opnieuw moet versturen.", - "repeater_cliHelpSetBridgeBaud": "Stel de seriële link baudrate in voor rs232 bruggen.", + "repeater_cliHelpSetBridgeBaud": "Stel de seriële link baudrate in voor rs232 bruggen.", "repeater_cliHelpSetBridgeSecret": "Stel bridge-geheim in voor espnow bridges.", "repeater_cliHelpSetAdcMultiplier": "Stelt een aangepaste factor in om de gerapporteerde batterijspanning aan te passen (alleen ondersteund op selecte borden).", "repeater_cliHelpTempRadio": "Stelt tijdelijke radio parameters in voor het opgegeven aantal minuten, en keert daarna terug naar de originele radio parameters. (wordt niet opgeslagen in de voorkeuren).", - "repeater_cliHelpSetPerm": "Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)", + "repeater_cliHelpSetPerm": "Wijzigt de ACL. Verwijder de overeenkomstige entry (door pubkey prefix) als \"permissions\" 0 is. Voeg een nieuwe entry toe als pubkey-hex volledig is en niet momenteel in de ACL staat. Update de entry door matching pubkey prefix. Toestemming bits variëren per firmware rol, maar de onderste 2 bits zijn: 0 (Gast), 1 (Alleen lezen), 2 (Lezen/schrijven), 3 (Admin)", "repeater_cliHelpGetBridgeType": "Ontvang brugtype: geen, rs232, espnow", "repeater_cliHelpLogStart": "Start pakketlogging naar het bestandssysteem.", "repeater_cliHelpLogStop": "Stoppen met het loggen van pakketten naar het bestandssysteem.", @@ -1155,7 +1155,7 @@ "repeater_cliHelpNeighbors": "Toont een lijst met andere repeater nodes die via nul-hop advertenties zijn gehoord. Elke regel is id-prefix-hex:timestamp:snr-times-4", "repeater_cliHelpNeighborRemove": "Verwijdert de eerste overeenkomende vermelding (via pubkey prefix (hex)) uit de lijst van buren.", "repeater_cliHelpRegion": "(Alleen Serieel) Lijst alle gedefinieerde regio's en huidige floodrechten.", - "repeater_cliHelpRegionLoad": "LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.", + "repeater_cliHelpRegionLoad": "LET OP: dit is een speciale multi-command aanroep. Elke volgende opdracht is een regiortaak (uitgelijnd met spaties om de ouderhiërarchie aan te duiden, met minimaal één spatie). Beëindigd door een lege regel/opdracht te sturen.", "repeater_cliHelpRegionGet": "Zoekt naar regio met gegeven naam voorvoegsel (of \"\" voor de globale scope). Antwoordt met \"-> regio-naam (ouder-naam) 'F'\"", "repeater_cliHelpRegionPut": "Voegt of wijzigt een regio-definitie met de gegeven naam.", "repeater_cliHelpRegionRemove": "Verwijdert een regio-definitie met de gegeven naam. (moet exact overeenkomen en geen kindregio's hebben)", @@ -1167,7 +1167,7 @@ "repeater_cliHelpGps": "Geeft de status van de GPS. Wanneer de GPS uit staat, antwoordt het alleen met \"uit\", als het aan staat, antwoordt het met \"aan\", status, fix, sat count.", "repeater_cliHelpGpsOnOff": "Schakel de GPS-standby aan/uit.", "repeater_cliHelpGpsSync": "Synchroniseer node met GPS-klok.", - "repeater_cliHelpGpsSetLoc": "Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.", + "repeater_cliHelpGpsSetLoc": "Stel de positie van de node vast als GPS-coördinaten en sla de voorkeuren op.", "repeater_cliHelpGpsAdvert": "Geeft de locatie advertentieconfiguratie van de node:\n- none: locatie niet in advertenties opnemen\n- share: gps locatie delen (van SensorManager)\n- prefs: locatie adverteren die in de voorkeuren is opgeslagen", "repeater_cliHelpGpsAdvertSet": "Stelt advertentie locatie configuratie in.", "repeater_commandsListTitle": "Commandenlijst", @@ -1178,9 +1178,9 @@ "repeater_logging": "Logging", "repeater_neighborsRepeaterOnly": "Buren (Alleen repeaters)", "repeater_regionManagementRepeaterOnly": "Regiobeheer (Alleen Repeater)", - "repeater_regionNote": "Regio-commando's zijn geïntroduceerd om regio-definities en permissies te beheren.", + "repeater_regionNote": "Regio-commando's zijn geïntroduceerd om regio-definities en permissies te beheren.", "repeater_gpsManagement": "Beheer GPS", - "repeater_gpsNote": "De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.", + "repeater_gpsNote": "De GPS-commando is geïntroduceerd om locatiegerelateerde onderwerpen te beheren.", "telemetry_receivedData": "Ontvangen Telemetriedata", "telemetry_requestTimeout": "Telemetryverzoek is uitgevallen.", "telemetry_errorLoading": "Fout bij het laden van de telemetrie: {error}", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1254,7 +1254,7 @@ "channelPath_repeatsLabel": "Repeats", "channelPath_pathLabel": "Pad {index}", "channelPath_observedLabel": "Waargenomen", - "channelPath_observedPathTitle": "Waargenomen pad {index} • {hops}", + "channelPath_observedPathTitle": "Waargenomen pad {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Pad", "channelPath_observedPathHeader": "Waargenomen Pad", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1369,8 +1369,8 @@ "neighbors_repeatersNeighbors": "Herhalingen Buren", "neighbors_noData": "Geen gegevens van buren beschikbaar.", "channels_createPrivateChannelDesc": "Beveiligd met een geheime sleutel.", - "channels_createPrivateChannel": "Maak een Privé Kanaal", - "channels_joinPrivateChannel": "Sluit een Privé Kanaal aan", + "channels_createPrivateChannel": "Maak een Privé Kanaal", + "channels_joinPrivateChannel": "Sluit een Privé Kanaal aan", "channels_joinPrivateChannelDesc": "Handmatig een geheime sleutel invoeren.", "channels_joinPublicChannel": "Sluit het Open Kanaal", "channels_joinPublicChannelDesc": "Iedereen kan dit kanaal aanmelden.", @@ -1558,22 +1558,22 @@ "contacts_roomPing": "Ping kamer server", "contacts_chatTraceRoute": "Route traceren", "contacts_pathTraceTo": "Trace route to {name}", - "appSettings_languageUk": "Oekraïens", + "appSettings_languageUk": "Oekraïens", "contacts_invalidAdvertFormat": "Ongeldige contactgegevens", - "contacts_contactImportFailed": "Contact kon niet geïmporteerd worden.", + "contacts_contactImportFailed": "Contact kon niet geïmporteerd worden.", "contacts_zeroHopAdvert": "Zero Hop Reclame", "contacts_floodAdvert": "Overstromingsadvertentie", - "contacts_copyAdvertToClipboard": "Advert naar klembord kopiëren", + "contacts_copyAdvertToClipboard": "Advert naar klembord kopiëren", "appSettings_languageRu": "Russisch", "appSettings_enableMessageTracing": "Berichttracking inschakelen", "appSettings_enableMessageTracingSubtitle": "Gedetailleerde routerings- en timing-metadata voor berichten weergeven", "contacts_clipboardEmpty": "Knipbord is leeg.", "contacts_addContactFromClipboard": "Contact uit klembord toevoegen", - "contacts_contactImported": "Contact is geïmporteerd.", + "contacts_contactImported": "Contact is geïmporteerd.", "contacts_zeroHopContactAdvertSent": "Contact verzonden via advertentie", "contacts_contactAdvertCopied": "Reclame gekopieerd naar Klembord.", - "contacts_contactAdvertCopyFailed": "Kopiëren van advertentie naar Clipboard is mislukt.", - "contacts_ShareContact": "Kontakt naar Klembord kopiëren", + "contacts_contactAdvertCopyFailed": "Kopiëren van advertentie naar Clipboard is mislukt.", + "contacts_ShareContact": "Kontakt naar Klembord kopiëren", "contacts_ShareContactZeroHop": "Contact delen via advertentie", "contacts_zeroHopContactAdvertFailed": "Mislukt om contact te verzenden", "notification_activityTitle": "MeshCore Activiteit", @@ -1584,7 +1584,7 @@ "notification_receivedNewMessage": "Nieuw bericht ontvangen", "settings_gpxExportRepeatersSubtitle": "Exporteert repeaters / roomserver met een locatie naar GPX-bestand.", "settings_gpxExportRepeaters": "Exporteer repeaters / roomserver naar GPX", - "settings_gpxExportSuccess": "Succesvol GPX-bestand geëxporteerd.", + "settings_gpxExportSuccess": "Succesvol GPX-bestand geëxporteerd.", "settings_gpxExportNoContacts": "Geen contacten om te exporteren.", "settings_gpxExportNotAvailable": "Niet ondersteund op uw apparaat/besturingssysteem", "settings_gpxExportError": "Er was een fout bij het exporteren.", @@ -1595,7 +1595,7 @@ "settings_gpxExportRepeatersRoom": "Repeater- en kamer servers locaties", "settings_gpxExportChat": "Locaties van metgezellen", "settings_gpxExportAllContacts": "Alle contactlocaties", - "settings_gpxExportShareText": "Kaartgegevens geëxporteerd uit meshcore-open", + "settings_gpxExportShareText": "Kaartgegevens geëxporteerd uit meshcore-open", "settings_gpxExportShareSubject": "meshcore-open GPX kaartgegevens exporteren", "pathTrace_someHopsNoLocation": "Een of meer van de hops ontbreken een locatie!", "map_removeLast": "Verwijder Laatste", @@ -1802,11 +1802,9 @@ "contacts_searchUsers": "Zoek {number}{str} gebruikers...", "contacts_searchFavorites": "Zoek {number}{str} favorieten...", "contacts_searchRoomServers": "Zoek {number}{str} Room servers...", - "connectionChoiceTitle": "Kies uw verbindingsmethode", "connectionChoiceUsbLabel": "USB", - "connectionChoiceSubtitle": "Kies hoe u uw MeshCore-apparaat wilt bereiken.", "connectionChoiceBluetoothLabel": "Bluetooth", - "usbScreenSubtitle": "Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.", + "usbScreenSubtitle": "Kies een gedetecteerd seriële apparaat en verbind deze direct met uw MeshCore-node.", "usbScreenStatus": "Selecteer een USB-apparaat", "usbScreenNote": "USB-serieel is actief op ondersteunde Android-apparaten en desktop-platforms.", "usbScreenTitle": "Verbind via USB", diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 6b47ad5..dd7b133 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Nie udało się usunąć kanału \"{name}\"", +{ + "channels_channelDeleteFailed": "Nie udaÅ‚o siÄ™ usunąć kanaÅ‚u \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -10,32 +10,32 @@ "@@locale": "pl", "appTitle": "MeshCore Open", "nav_contacts": "Kontakty", - "nav_channels": "Kanały", + "nav_channels": "KanaÅ‚y", "nav_map": "Mapa", "common_cancel": "Anuluj", - "common_connect": "Połącz", - "common_unknownDevice": "Nieznane urządzenie", + "common_connect": "Połącz", + "common_unknownDevice": "Nieznane urzÄ…dzenie", "common_save": "Zapisz", - "common_delete": "Usuń", - "common_close": "Zamknąć", + "common_delete": "UsuÅ„", + "common_close": "Zamknąć", "common_edit": "Edytuj", "common_add": "Dodaj", "common_settings": "Ustawienia", - "common_disconnect": "Odłącz", - "common_connected": "Połączono", - "common_disconnected": "Odłączony", - "common_create": "Utwórz", + "common_disconnect": "Odłącz", + "common_connected": "Połączono", + "common_disconnected": "Odłączony", + "common_create": "Utwórz", "common_continue": "Kontynuuj", - "common_share": "Udostępnij", + "common_share": "UdostÄ™pnij", "common_copy": "Kopiuj", - "common_retry": "Spróbować", + "common_retry": "Spróbować", "common_hide": "Ukryj", - "common_remove": "Usuń", - "common_enable": "Włącz", - "common_disable": "Wyłączyć", - "common_reboot": "Zrestartować", - "common_loading": "Ładowanie...", - "common_notAvailable": "—", + "common_remove": "UsuÅ„", + "common_enable": "Włącz", + "common_disable": "Wyłączyć", + "common_reboot": "Zrestartować", + "common_loading": "Ładowanie...", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,11 +53,11 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Skanowanie urządzeń...", - "scanner_connecting": "Łączenie...", - "scanner_disconnecting": "Odłączanie...", - "scanner_notConnected": "Niepołączony", - "scanner_connectedTo": "Połączono z {deviceName}", + "scanner_scanning": "Skanowanie urzÄ…dzeÅ„...", + "scanner_connecting": "Łączenie...", + "scanner_disconnecting": "Odłączanie...", + "scanner_notConnected": "Niepołączony", + "scanner_connectedTo": "Połączono z {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -65,9 +65,9 @@ } } }, - "scanner_searchingDevices": "Wyszukiwanie urządzeń MeshCore...", - "scanner_tapToScan": "Naciśnij Skan, aby znaleźć urządzenia MeshCore", - "scanner_connectionFailed": "Połączenie nieudane: {error}", + "scanner_searchingDevices": "Wyszukiwanie urzÄ…dzeÅ„ MeshCore...", + "scanner_tapToScan": "NaciÅ›nij Skan, aby znaleźć urzÄ…dzenia MeshCore", + "scanner_connectionFailed": "Połączenie nieudane: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -80,43 +80,43 @@ "device_quickSwitch": "Szybka zmiana", "device_meshcore": "MeshCore", "settings_title": "Ustawienia", - "settings_deviceInfo": "Informacje o urządzeniu", + "settings_deviceInfo": "Informacje o urzÄ…dzeniu", "settings_appSettings": "Ustawienia aplikacji", - "settings_appSettingsSubtitle": "Powiadomienia, wiadomości i preferencje mapy", - "settings_nodeSettings": "Ustawienia węzła", - "settings_nodeName": "Nazwa węzła", + "settings_appSettingsSubtitle": "Powiadomienia, wiadomoÅ›ci i preferencje mapy", + "settings_nodeSettings": "Ustawienia wÄ™zÅ‚a", + "settings_nodeName": "Nazwa wÄ™zÅ‚a", "settings_nodeNameNotSet": "Nie ustawione", - "settings_nodeNameHint": "Wprowadź nazwę węzła", - "settings_nodeNameUpdated": "Imię zaktualizowane", + "settings_nodeNameHint": "Wprowadź nazwÄ™ wÄ™zÅ‚a", + "settings_nodeNameUpdated": "ImiÄ™ zaktualizowane", "settings_radioSettings": "Ustawienia radia", - "settings_radioSettingsSubtitle": "Częstotliwość, moc, współczynnik rozpraszania", - "settings_radioSettingsUpdated": "Ustawienia radia zostały zaktualizowane", + "settings_radioSettingsSubtitle": "CzÄ™stotliwość, moc, współczynnik rozpraszania", + "settings_radioSettingsUpdated": "Ustawienia radia zostaÅ‚y zaktualizowane", "settings_location": "Lokalizacja", "settings_locationSubtitle": "Koordynaty GPS", "settings_locationUpdated": "Lokalizacja zaktualizowana", - "settings_locationBothRequired": "Wprowadź zarówno szerokość, jak i długość geograficzną.", - "settings_locationInvalid": "Nieprawidłowa szerokość geograficzna lub długość geograficzna.", - "settings_latitude": "Szerokość", - "settings_longitude": "Długość", + "settings_locationBothRequired": "Wprowadź zarówno szerokość, jak i dÅ‚ugość geograficznÄ….", + "settings_locationInvalid": "NieprawidÅ‚owa szerokość geograficzna lub dÅ‚ugość geograficzna.", + "settings_latitude": "Szerokość", + "settings_longitude": "DÅ‚ugość", "settings_privacyMode": "Tryb Prywatny", - "settings_privacyModeSubtitle": "Ukryj imię/lokalizację w reklamach", - "settings_privacyModeToggle": "Włącz tryb prywatności, aby ukryć swoje imię i lokalizację w reklamach.", - "settings_privacyModeEnabled": "Tryb prywatności włączony", - "settings_privacyModeDisabled": "Tryb prywatności wyłączony", - "settings_actions": "Działania", - "settings_sendAdvertisement": "Wyślij Reklamę", - "settings_sendAdvertisementSubtitle": "Obecność transmisji jest teraz", - "settings_advertisementSent": "Reklama wysłana", + "settings_privacyModeSubtitle": "Ukryj imiÄ™/lokalizacjÄ™ w reklamach", + "settings_privacyModeToggle": "Włącz tryb prywatnoÅ›ci, aby ukryć swoje imiÄ™ i lokalizacjÄ™ w reklamach.", + "settings_privacyModeEnabled": "Tryb prywatnoÅ›ci włączony", + "settings_privacyModeDisabled": "Tryb prywatnoÅ›ci wyłączony", + "settings_actions": "DziaÅ‚ania", + "settings_sendAdvertisement": "WyÅ›lij ReklamÄ™", + "settings_sendAdvertisementSubtitle": "Obecność transmisji jest teraz", + "settings_advertisementSent": "Reklama wysÅ‚ana", "settings_syncTime": "Czas synchronizacji", - "settings_syncTimeSubtitle": "Ustaw zegar urządzenia na czas telefonu.", + "settings_syncTimeSubtitle": "Ustaw zegar urzÄ…dzenia na czas telefonu.", "settings_timeSynchronized": "Synchronizacja czasu", - "settings_refreshContacts": "Odśwież Kontakty", - "settings_refreshContactsSubtitle": "Odśwież listę kontaktów z urządzenia", - "settings_rebootDevice": "Zrestartuj Urządzenie", - "settings_rebootDeviceSubtitle": "Zrestartuj urządzenie MeshCore", - "settings_rebootDeviceConfirm": "Czy na pewno chcesz zrestartować urządzenie? Będziesz odłączony.", + "settings_refreshContacts": "OdÅ›wież Kontakty", + "settings_refreshContactsSubtitle": "OdÅ›wież listÄ™ kontaktów z urzÄ…dzenia", + "settings_rebootDevice": "Zrestartuj UrzÄ…dzenie", + "settings_rebootDeviceSubtitle": "Zrestartuj urzÄ…dzenie MeshCore", + "settings_rebootDeviceConfirm": "Czy na pewno chcesz zrestartować urzÄ…dzenie? BÄ™dziesz odłączony.", "settings_debug": "Debug", - "settings_bleDebugLog": "Log błędów BLE", + "settings_bleDebugLog": "Log błędów BLE", "settings_bleDebugLogSubtitle": "Polecenia BLE, odpowiedzi i surowe dane", "settings_appDebugLog": "Log Wykonywania Aplikacji", "settings_appDebugLogSubtitle": "Komunikaty debugowania aplikacji", @@ -130,25 +130,25 @@ } }, "settings_aboutLegalese": "Projekt MeshCore Open Source 2026", - "settings_aboutDescription": "Otwarty kod źródłowy klient Flutter dla urządzeń do sieci mesh LoRa MeshCore.", - "settings_infoName": "Imię", + "settings_aboutDescription": "Otwarty kod źródÅ‚owy klient Flutter dla urzÄ…dzeÅ„ do sieci mesh LoRa MeshCore.", + "settings_infoName": "ImiÄ™", "settings_infoId": "ID", "settings_infoStatus": "Status", "settings_infoBattery": "Bateria", "settings_infoPublicKey": "Klucz Publiczny", - "settings_infoContactsCount": "Liczba kontaktów", - "settings_infoChannelCount": "Liczba kanałów", + "settings_infoContactsCount": "Liczba kontaktów", + "settings_infoChannelCount": "Liczba kanałów", "settings_presets": "Preset", - "settings_frequency": "Częstotliwość (MHz)", + "settings_frequency": "CzÄ™stotliwość (MHz)", "settings_frequencyHelper": "300,0 - 2500,0", - "settings_frequencyInvalid": "Nieprawidłowa częstotliwość (300-2500 MHz)", - "settings_bandwidth": "Przepustowość", - "settings_spreadingFactor": "Rozkład Czynnika", + "settings_frequencyInvalid": "NieprawidÅ‚owa czÄ™stotliwość (300-2500 MHz)", + "settings_bandwidth": "Przepustowość", + "settings_spreadingFactor": "RozkÅ‚ad Czynnika", "settings_codingRate": "Stawka Kodowania", "settings_txPower": "TX Moc (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Nieprawidłowa moc TX (0-22 dBm)", - "settings_error": "Błąd: {message}", + "settings_txPowerInvalid": "NieprawidÅ‚owa moc TX (0-22 dBm)", + "settings_error": "Błąd: {message}", "@settings_error": { "placeholders": { "message": { @@ -157,50 +157,50 @@ } }, "appSettings_title": "Ustawienia aplikacji", - "appSettings_appearance": "Wygląd", + "appSettings_appearance": "WyglÄ…d", "appSettings_theme": "Motyw", - "appSettings_themeSystem": "Domyślne ustawienia systemu", + "appSettings_themeSystem": "DomyÅ›lne ustawienia systemu", "appSettings_themeLight": "Jasne", "appSettings_themeDark": "Ciemny", - "appSettings_language": "Język", - "appSettings_languageSystem": "Domyślny systemowy", + "appSettings_language": "JÄ™zyk", + "appSettings_languageSystem": "DomyÅ›lny systemowy", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Powiadomienia", - "appSettings_enableNotifications": "Włącz Powiadomienia", - "appSettings_enableNotificationsSubtitle": "Otrzymuj powiadomienia o wiadomościach i reklamach.", + "appSettings_enableNotifications": "Włącz Powiadomienia", + "appSettings_enableNotificationsSubtitle": "Otrzymuj powiadomienia o wiadomoÅ›ciach i reklamach.", "appSettings_notificationPermissionDenied": "Odmowa zezwolenia na powiadomienia", - "appSettings_notificationsEnabled": "Powiadomienia włączone", - "appSettings_notificationsDisabled": "Powiadomienia wyłączone", - "appSettings_messageNotifications": "Powiadomienia o wiadomościach", - "appSettings_messageNotificationsSubtitle": "Pokaż powiadomienie przy otrzymywaniu nowych wiadomości", - "appSettings_channelMessageNotifications": "Powiadomienia o Wiadomościach na Kanałach", - "appSettings_channelMessageNotificationsSubtitle": "Pokaż powiadomienie przy odbieraniu wiadomości z kanału", + "appSettings_notificationsEnabled": "Powiadomienia włączone", + "appSettings_notificationsDisabled": "Powiadomienia wyłączone", + "appSettings_messageNotifications": "Powiadomienia o wiadomoÅ›ciach", + "appSettings_messageNotificationsSubtitle": "Pokaż powiadomienie przy otrzymywaniu nowych wiadomoÅ›ci", + "appSettings_channelMessageNotifications": "Powiadomienia o WiadomoÅ›ciach na KanaÅ‚ach", + "appSettings_channelMessageNotificationsSubtitle": "Pokaż powiadomienie przy odbieraniu wiadomoÅ›ci z kanaÅ‚u", "appSettings_advertisementNotifications": "Powiadomienia Reklamowe", - "appSettings_advertisementNotificationsSubtitle": "Wyświetl powiadomienie, gdy zostaną odkryte nowe węzły.", - "appSettings_messaging": "Wiadomości", - "appSettings_clearPathOnMaxRetry": "Wyczyść Ścieżkę na Maksymalnej Próbie", - "appSettings_clearPathOnMaxRetrySubtitle": "Resetuj ścieżkę kontaktu po 5 nieudanych próbach wysłania", - "appSettings_pathsWillBeCleared": "Droga będzie wyczyszczona po 5 nieudanych próbach.", + "appSettings_advertisementNotificationsSubtitle": "WyÅ›wietl powiadomienie, gdy zostanÄ… odkryte nowe wÄ™zÅ‚y.", + "appSettings_messaging": "WiadomoÅ›ci", + "appSettings_clearPathOnMaxRetry": "Wyczyść ÅšcieżkÄ™ na Maksymalnej Próbie", + "appSettings_clearPathOnMaxRetrySubtitle": "Resetuj Å›cieżkÄ™ kontaktu po 5 nieudanych próbach wysÅ‚ania", + "appSettings_pathsWillBeCleared": "Droga bÄ™dzie wyczyszczona po 5 nieudanych próbach.", "appSettings_pathsWillNotBeCleared": "Droga nie zostanie automatycznie wyczyszczona.", "appSettings_autoRouteRotation": "Automatyczne Rotowanie Trasy", - "appSettings_autoRouteRotationSubtitle": "Przełączaj się między najlepszymi ścieżkami a trybem zalewowym.", - "appSettings_autoRouteRotationEnabled": "Automatyczne obracanie tras włączone", - "appSettings_autoRouteRotationDisabled": "Automatyczne obracanie tras wyłączone", + "appSettings_autoRouteRotationSubtitle": "Przełączaj siÄ™ miÄ™dzy najlepszymi Å›cieżkami a trybem zalewowym.", + "appSettings_autoRouteRotationEnabled": "Automatyczne obracanie tras włączone", + "appSettings_autoRouteRotationDisabled": "Automatyczne obracanie tras wyłączone", "appSettings_battery": "Bateria", "appSettings_batteryChemistry": "Chemia Baterii", - "appSettings_batteryChemistryPerDevice": "Ustawione na urządzenie ({deviceName})", + "appSettings_batteryChemistryPerDevice": "Ustawione na urzÄ…dzenie ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -208,20 +208,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Połącz się z urządzeniem, aby wybrać", + "appSettings_batteryChemistryConnectFirst": "Połącz siÄ™ z urzÄ…dzeniem, aby wybrać", "appSettings_batteryNmc": "18650 NMC (3,0-4,2V)", "appSettings_batteryLifepo4": "LiFePO4 (2,6-3,65 V)", "appSettings_batteryLipo": "LiPo (3,0-4,2V)", - "appSettings_mapDisplay": "Wyświetlanie mapy", - "appSettings_showRepeaters": "Pokaż Powtórniki", - "appSettings_showRepeatersSubtitle": "Wyświetl węzły powtarzające się na mapie", - "appSettings_showChatNodes": "Pokaż Węzły Rozmowy", - "appSettings_showChatNodesSubtitle": "Wyświetl węzły czatu na mapie", - "appSettings_showOtherNodes": "Pokaż inne węzły", - "appSettings_showOtherNodesSubtitle": "Wyświetl inne typy węzłów na mapie", + "appSettings_mapDisplay": "WyÅ›wietlanie mapy", + "appSettings_showRepeaters": "Pokaż Powtórniki", + "appSettings_showRepeatersSubtitle": "WyÅ›wietl wÄ™zÅ‚y powtarzajÄ…ce siÄ™ na mapie", + "appSettings_showChatNodes": "Pokaż WÄ™zÅ‚y Rozmowy", + "appSettings_showChatNodesSubtitle": "WyÅ›wietl wÄ™zÅ‚y czatu na mapie", + "appSettings_showOtherNodes": "Pokaż inne wÄ™zÅ‚y", + "appSettings_showOtherNodesSubtitle": "WyÅ›wietl inne typy wÄ™złów na mapie", "appSettings_timeFilter": "Filtrowanie Czasu", - "appSettings_timeFilterShowAll": "Pokaż wszystkie węzły", - "appSettings_timeFilterShowLast": "Pokaż węzły z ostatnich {hours} godzin", + "appSettings_timeFilterShowAll": "Pokaż wszystkie wÄ™zÅ‚y", + "appSettings_timeFilterShowLast": "Pokaż wÄ™zÅ‚y z ostatnich {hours} godzin", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -230,14 +230,14 @@ } }, "appSettings_mapTimeFilter": "Filtrowanie Czasu Mapy", - "appSettings_showNodesDiscoveredWithin": "Pokaż węzły odkryte w:", + "appSettings_showNodesDiscoveredWithin": "Pokaż wÄ™zÅ‚y odkryte w:", "appSettings_allTime": "Wszystko czasowo", "appSettings_lastHour": "Ostatnia godzina", "appSettings_last6Hours": "Ostatnie 6 godzin", "appSettings_last24Hours": "Ostatnie 24 godziny", - "appSettings_lastWeek": "Tydzień temu", + "appSettings_lastWeek": "TydzieÅ„ temu", "appSettings_offlineMapCache": "Bufor Map Offline", - "appSettings_noAreaSelected": "Nie zaznaczono żadnej powierzchni.", + "appSettings_noAreaSelected": "Nie zaznaczono żadnej powierzchni.", "appSettings_areaSelectedZoom": "Wybrany obszar (skala {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { @@ -251,17 +251,17 @@ }, "appSettings_debugCard": "Debug", "appSettings_appDebugLogging": "Logowanie Debugowania Aplikacji", - "appSettings_appDebugLoggingSubtitle": "Loguj wiadomości debugowania aplikacji w celu rozwiązywania problemów.", - "appSettings_appDebugLoggingEnabled": "Zdebugowanie aplikacji włączone", - "appSettings_appDebugLoggingDisabled": "Zasubskrybowane logi debugowania aplikacji wyłączone.", + "appSettings_appDebugLoggingSubtitle": "Loguj wiadomoÅ›ci debugowania aplikacji w celu rozwiÄ…zywania problemów.", + "appSettings_appDebugLoggingEnabled": "Zdebugowanie aplikacji włączone", + "appSettings_appDebugLoggingDisabled": "Zasubskrybowane logi debugowania aplikacji wyłączone.", "contacts_title": "Kontakty", - "contacts_noContacts": "Brak jeszcze kontaktów.", - "contacts_contactsWillAppear": "Kontakty będą wyświetlane, gdy urządzenia reklamują się.", + "contacts_noContacts": "Brak jeszcze kontaktów.", + "contacts_contactsWillAppear": "Kontakty bÄ™dÄ… wyÅ›wietlane, gdy urzÄ…dzenia reklamujÄ… siÄ™.", "contacts_searchContacts": "Wyszukaj kontakty...", - "contacts_noUnreadContacts": "Brak nieprzeczytanych kontaktów", - "contacts_noContactsFound": "Brak znalezionych kontaktów ani grup.", - "contacts_deleteContact": "Usuń Kontakt", - "contacts_removeConfirm": "Usuń {contactName} z kontaktów?", + "contacts_noUnreadContacts": "Brak nieprzeczytanych kontaktów", + "contacts_noContactsFound": "Brak znalezionych kontaktów ani grup.", + "contacts_deleteContact": "UsuÅ„ Kontakt", + "contacts_removeConfirm": "UsuÅ„ {contactName} z kontaktów?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -269,12 +269,12 @@ } } }, - "contacts_manageRepeater": "Zarządzaj Powtórzami", + "contacts_manageRepeater": "ZarzÄ…dzaj Powtórzami", "contacts_roomLogin": "Logowanie do pokoju", - "contacts_openChat": "Otwórz czat", - "contacts_editGroup": "Edytuj Grupę", - "contacts_deleteGroup": "Usuń Grupę", - "contacts_deleteGroupConfirm": "Usuń \"{groupName}\"?", + "contacts_openChat": "Otwórz czat", + "contacts_editGroup": "Edytuj GrupÄ™", + "contacts_deleteGroup": "UsuÅ„ GrupÄ™", + "contacts_deleteGroupConfirm": "UsuÅ„ \"{groupName}\"?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -285,7 +285,7 @@ "contacts_newGroup": "Nowa Grupa", "contacts_groupName": "Nazwa grupy", "contacts_groupNameRequired": "Nazwa grupy jest wymagana", - "contacts_groupAlreadyExists": "Grupa \"{name}\" już istnieje", + "contacts_groupAlreadyExists": "Grupa \"{name}\" już istnieje", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -294,10 +294,10 @@ } }, "contacts_filterContacts": "Filtruj kontakty...", - "contacts_noContactsMatchFilter": "Brak pasujących kontaktów do Twojego filtra", - "contacts_noMembers": "Brak członków", - "contacts_lastSeenNow": "Ostatnie połączenie", - "contacts_lastSeenMinsAgo": "Ostatnie połączenie {minutes} min temu", + "contacts_noContactsMatchFilter": "Brak pasujÄ…cych kontaktów do Twojego filtra", + "contacts_noMembers": "Brak czÅ‚onków", + "contacts_lastSeenNow": "Ostatnie połączenie", + "contacts_lastSeenMinsAgo": "Ostatnie połączenie {minutes} min temu", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Ostatni raz widziany 1 godzinę temu", - "contacts_lastSeenHoursAgo": "Ostatnie połączenie {hours} godzin temu", + "contacts_lastSeenHourAgo": "Ostatni raz widziany 1 godzinÄ™ temu", + "contacts_lastSeenHoursAgo": "Ostatnie połączenie {hours} godzin temu", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Ostatni raz widziany 1 dzień temu", - "contacts_lastSeenDaysAgo": "Ostatnie połączenie {days} dni temu", + "contacts_lastSeenDayAgo": "Ostatni raz widziany 1 dzieÅ„ temu", + "contacts_lastSeenDaysAgo": "Ostatnie połączenie {days} dni temu", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -323,12 +323,12 @@ } } }, - "channels_title": "Kanały", - "channels_noChannelsConfigured": "Brak skonfigurowanych kanałów", - "channels_addPublicChannel": "Dodaj kanał publiczny", - "channels_searchChannels": "Wyszukaj kanały...", - "channels_noChannelsFound": "Brak znalezionych kanałów", - "channels_channelIndex": "Kanał {index}", + "channels_title": "KanaÅ‚y", + "channels_noChannelsConfigured": "Brak skonfigurowanych kanałów", + "channels_addPublicChannel": "Dodaj kanaÅ‚ publiczny", + "channels_searchChannels": "Wyszukaj kanaÅ‚y...", + "channels_noChannelsFound": "Brak znalezionych kanałów", + "channels_channelIndex": "KanaÅ‚ {index}", "@channels_channelIndex": { "placeholders": { "index": { @@ -336,16 +336,16 @@ } } }, - "channels_hashtagChannel": "Kanał z hashtagami", + "channels_hashtagChannel": "KanaÅ‚ z hashtagami", "channels_public": "Publiczny", "channels_private": "Prywatne", - "channels_publicChannel": "Kanał publiczny", - "channels_privateChannel": "Prywatny kanał", - "channels_editChannel": "Edytuj kanał", - "channels_muteChannel": "Wycisz kanał", - "channels_unmuteChannel": "Wyłącz wyciszenie kanału", - "channels_deleteChannel": "Usuń kanał", - "channels_deleteChannelConfirm": "Usuń \"{name}\"? Nie można tego cofnąć.", + "channels_publicChannel": "KanaÅ‚ publiczny", + "channels_privateChannel": "Prywatny kanaÅ‚", + "channels_editChannel": "Edytuj kanaÅ‚", + "channels_muteChannel": "Wycisz kanaÅ‚", + "channels_unmuteChannel": "Wyłącz wyciszenie kanaÅ‚u", + "channels_deleteChannel": "UsuÅ„ kanaÅ‚", + "channels_deleteChannelConfirm": "UsuÅ„ \"{name}\"? Nie można tego cofnąć.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Kanał \"{name}\" usunięto", + "channels_channelDeleted": "KanaÅ‚ \"{name}\" usuniÄ™to", "@channels_channelDeleted": { "placeholders": { "name": { @@ -361,16 +361,16 @@ } } }, - "channels_addChannel": "Dodaj Kanał", - "channels_channelIndexLabel": "Indeks kanału", - "channels_channelName": "Nazwa kanału", - "channels_usePublicChannel": "Użyj kanału publicznego", + "channels_addChannel": "Dodaj KanaÅ‚", + "channels_channelIndexLabel": "Indeks kanaÅ‚u", + "channels_channelName": "Nazwa kanaÅ‚u", + "channels_usePublicChannel": "Użyj kanaÅ‚u publicznego", "channels_standardPublicPsk": "Standard public PSK", "channels_pskHex": "PSK (Hex)", "channels_generateRandomPsk": "Wygeneruj losowy klucz PSK", - "channels_enterChannelName": "Proszę podać nazwę kanału.", - "channels_pskMustBe32Hex": "PSK musi mieć 32 znaki szesnastkowe.", - "channels_channelAdded": "Kanał \"{name}\" dodany", + "channels_enterChannelName": "ProszÄ™ podać nazwÄ™ kanaÅ‚u.", + "channels_pskMustBe32Hex": "PSK musi mieć 32 znaki szesnastkowe.", + "channels_channelAdded": "KanaÅ‚ \"{name}\" dodany", "@channels_channelAdded": { "placeholders": { "name": { @@ -378,7 +378,7 @@ } } }, - "channels_editChannelTitle": "Edytuj Kanał {index}", + "channels_editChannelTitle": "Edytuj KanaÅ‚ {index}", "@channels_editChannelTitle": { "placeholders": { "index": { @@ -387,7 +387,7 @@ } }, "channels_smazCompression": "Kompresja SMAZ", - "channels_channelUpdated": "Kanał \"{name}\" został zaktualizowany", + "channels_channelUpdated": "KanaÅ‚ \"{name}\" zostaÅ‚ zaktualizowany", "@channels_channelUpdated": { "placeholders": { "name": { @@ -395,15 +395,15 @@ } } }, - "channels_publicChannelAdded": "Kanał publiczny dodany", + "channels_publicChannelAdded": "KanaÅ‚ publiczny dodany", "channels_sortBy": "Sortuj po", - "channels_sortManual": "Ręczna", + "channels_sortManual": "RÄ™czna", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Najnowsze wiadomości", - "channels_sortUnread": "Niezgłoszone", - "chat_noMessages": "Brak jeszcze wiadomości", - "chat_sendMessageToStart": "Wyślij wiadomość, aby rozpocząć.", - "chat_originalMessageNotFound": "Błąd: Nie znaleziono oryginalnego komunikatu", + "channels_sortLatestMessages": "Najnowsze wiadomoÅ›ci", + "channels_sortUnread": "NiezgÅ‚oszone", + "chat_noMessages": "Brak jeszcze wiadomoÅ›ci", + "chat_sendMessageToStart": "WyÅ›lij wiadomość, aby rozpocząć.", + "chat_originalMessageNotFound": "Błąd: Nie znaleziono oryginalnego komunikatu", "chat_replyingTo": "Odpowiadanie na {name}", "@chat_replyingTo": { "placeholders": { @@ -421,7 +421,7 @@ } }, "chat_location": "Lokalizacja", - "chat_sendMessageTo": "Wyślij wiadomość do {contactName}", + "chat_sendMessageTo": "WyÅ›lij wiadomość do {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -429,8 +429,8 @@ } } }, - "chat_typeMessage": "Wpisz wiadomość...", - "chat_messageTooLong": "Wiadomość jest za długa (maksymalnie {maxBytes} bajtów).", + "chat_typeMessage": "Wpisz wiadomość...", + "chat_messageTooLong": "Wiadomość jest za dÅ‚uga (maksymalnie {maxBytes} bajtów).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -438,10 +438,10 @@ } } }, - "chat_messageCopied": "Wiadomość skopiowana", - "chat_messageDeleted": "Wiadomość usunięta", - "chat_retryingMessage": "Próba ponowienia", - "chat_retryCount": "Spróbuj {current}/{max}", + "chat_messageCopied": "Wiadomość skopiowana", + "chat_messageDeleted": "Wiadomość usuniÄ™ta", + "chat_retryingMessage": "Próba ponowienia", + "chat_retryCount": "Spróbuj {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -452,9 +452,9 @@ } } }, - "chat_sendGif": "Wyślij GIF", + "chat_sendGif": "WyÅ›lij GIF", "chat_reply": "Odpowiedz", - "chat_addReaction": "Dodaj Reakcję", + "chat_addReaction": "Dodaj ReakcjÄ™", "chat_me": "Ja", "emojiCategorySmileys": "Emoji", "emojiCategoryGestures": "Gestikulacje", @@ -463,22 +463,22 @@ "gifPicker_title": "Wybierz GIF", "gifPicker_searchHint": "Wyszukaj GIF-y...", "gifPicker_poweredBy": "Zasilane przez GIPHY", - "gifPicker_noGifsFound": "Nie znaleziono GIF-ów", - "gifPicker_failedLoad": "Nie udało się załadować GIF-ów", - "gifPicker_failedSearch": "Nie udało się znaleźć GIF-ów", - "gifPicker_noInternet": "Brak połączenia internetowego", + "gifPicker_noGifsFound": "Nie znaleziono GIF-ów", + "gifPicker_failedLoad": "Nie udaÅ‚o siÄ™ zaÅ‚adować GIF-ów", + "gifPicker_failedSearch": "Nie udaÅ‚o siÄ™ znaleźć GIF-ów", + "gifPicker_noInternet": "Brak połączenia internetowego", "debugLog_appTitle": "Log Wykonywania Aplikacji", - "debugLog_bleTitle": "Log błędów BLE", + "debugLog_bleTitle": "Log błędów BLE", "debugLog_copyLog": "Kopiuj log", - "debugLog_clearLog": "Wyczyść dziennik", + "debugLog_clearLog": "Wyczyść dziennik", "debugLog_copied": "Skopiowano dziennik debugowania", "debugLog_bleCopied": "Skopiowany log BLE", - "debugLog_noEntries": "Nie ma jeszcze żadnych logów debugowania.", - "debugLog_enableInSettings": "Włącz logowanie debugowania aplikacji w ustawieniach", + "debugLog_noEntries": "Nie ma jeszcze żadnych logów debugowania.", + "debugLog_enableInSettings": "Włącz logowanie debugowania aplikacji w ustawieniach", "debugLog_frames": "Ramy", "debugLog_rawLogRx": "Surowe Log-RX", - "debugLog_noBleActivity": "Brak aktywności BLE jeszcze.", - "debugFrame_length": "Długość ramy: {count} bajtów", + "debugLog_noBleActivity": "Brak aktywnoÅ›ci BLE jeszcze.", + "debugFrame_length": "DÅ‚ugość ramy: {count} bajtów", "@debugFrame_length": { "placeholders": { "count": { @@ -494,7 +494,7 @@ } } }, - "debugFrame_textMessageHeader": "Wiadomość tekstowa:", + "debugFrame_textMessageHeader": "Wiadomość tekstowa:", "debugFrame_destinationPubKey": "- Oznaczenie PubKey: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { @@ -540,13 +540,13 @@ } } }, - "debugFrame_hexDump": "Wyjście SzESZCZNULNE:", - "chat_pathManagement": "Zarządzanie ścieżkami", + "debugFrame_hexDump": "WyjÅ›cie SzESZCZNULNE:", + "chat_pathManagement": "ZarzÄ…dzanie Å›cieżkami", "chat_routingMode": "Tryb routingu", - "chat_autoUseSavedPath": "Automatyczne (użyj zapisanej ścieżki)", + "chat_autoUseSavedPath": "Automatyczne (użyj zapisanej Å›cieżki)", "chat_forceFloodMode": "Wymusz Tryb Powodowany", - "chat_recentAckPaths": "Ostatnie ścieżki ACK (naciśnij, aby użyć):", - "chat_pathHistoryFull": "Historia ścieżek jest pełna. Usuń wpisy, aby dodać nowe.", + "chat_recentAckPaths": "Ostatnie Å›cieżki ACK (naciÅ›nij, aby użyć):", + "chat_pathHistoryFull": "Historia Å›cieżek jest peÅ‚na. UsuÅ„ wpisy, aby dodać nowe.", "chat_hopSingular": "Skacz", "chat_hopPlural": "skoczkowie", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", @@ -558,19 +558,19 @@ } }, "chat_successes": "Sukcesy", - "chat_removePath": "Usuń ścieżkę", - "chat_noPathHistoryYet": "Brak jeszcze historii ścieżek.\nWyślij wiadomość, aby odkryć ścieżki.", - "chat_pathActions": "Działania ścieżki:", - "chat_setCustomPath": "Ustaw Ścieżkę Dostosowaną", - "chat_setCustomPathSubtitle": "Ręcznie określ trasę.", - "chat_clearPath": "Wyczyść Ścieżkę", - "chat_clearPathSubtitle": "Zmusz do ponownej identyfikacji przy następnym wysłaniu", - "chat_pathCleared": "Ścieżka oczyszczona. Kolejne powiadomienie odnajdzie trasę.", - "chat_floodModeSubtitle": "Użyj przełącznika routingu w pasku narzędzi.", - "chat_floodModeEnabled": "Tryb powodziowy włączony. Włącz ponownie za pomocą ikony routingu w pasku narzędzi.", - "chat_fullPath": "Pełna ścieżka", - "chat_pathDetailsNotAvailable": "Szczegóły ścieżki jeszcze niedostępne. Spróbuj wysłać wiadomość, aby odświeżyć.", - "chat_pathSetHops": "Ścieżka ustawiona: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", + "chat_removePath": "UsuÅ„ Å›cieżkÄ™", + "chat_noPathHistoryYet": "Brak jeszcze historii Å›cieżek.\nWyÅ›lij wiadomość, aby odkryć Å›cieżki.", + "chat_pathActions": "DziaÅ‚ania Å›cieżki:", + "chat_setCustomPath": "Ustaw ÅšcieżkÄ™ DostosowanÄ…", + "chat_setCustomPathSubtitle": "RÄ™cznie okreÅ›l trasÄ™.", + "chat_clearPath": "Wyczyść ÅšcieżkÄ™", + "chat_clearPathSubtitle": "Zmusz do ponownej identyfikacji przy nastÄ™pnym wysÅ‚aniu", + "chat_pathCleared": "Åšcieżka oczyszczona. Kolejne powiadomienie odnajdzie trasÄ™.", + "chat_floodModeSubtitle": "Użyj przełącznika routingu w pasku narzÄ™dzi.", + "chat_floodModeEnabled": "Tryb powodziowy włączony. Włącz ponownie za pomocÄ… ikony routingu w pasku narzÄ™dzi.", + "chat_fullPath": "PeÅ‚na Å›cieżka", + "chat_pathDetailsNotAvailable": "Szczegóły Å›cieżki jeszcze niedostÄ™pne. Spróbuj wysÅ‚ać wiadomość, aby odÅ›wieżyć.", + "chat_pathSetHops": "Åšcieżka ustawiona: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -581,16 +581,16 @@ } } }, - "chat_pathSavedLocally": "Zapisano lokalnie. Połącz się, aby zsynchronizować.", - "chat_pathDeviceConfirmed": "Urządzenie potwierdzone.", - "chat_pathDeviceNotConfirmed": "Urządzenie nie zostało jeszcze potwierdzone.", - "chat_type": "Wprowadź", - "chat_path": "Ścieżka", + "chat_pathSavedLocally": "Zapisano lokalnie. Połącz siÄ™, aby zsynchronizować.", + "chat_pathDeviceConfirmed": "UrzÄ…dzenie potwierdzone.", + "chat_pathDeviceNotConfirmed": "UrzÄ…dzenie nie zostaÅ‚o jeszcze potwierdzone.", + "chat_type": "Wprowadź", + "chat_path": "Åšcieżka", "chat_publicKey": "Klucz Publiczny", - "chat_compressOutgoingMessages": "Kompresuj wychodzące wiadomości", - "chat_floodForced": "Powodowana Powódź", - "chat_directForced": "Bezpośrednio (wymuszono)", - "chat_hopsForced": "{count} skoków (wymuszonych)", + "chat_compressOutgoingMessages": "Kompresuj wychodzÄ…ce wiadomoÅ›ci", + "chat_floodForced": "Powodowana Powódź", + "chat_directForced": "BezpoÅ›rednio (wymuszono)", + "chat_hopsForced": "{count} skoków (wymuszonych)", "@chat_hopsForced": { "placeholders": { "count": { @@ -599,9 +599,9 @@ } }, "chat_floodAuto": "Powodzie (automatyczne)", - "chat_direct": "Bezpośrednio", - "chat_poiShared": "Wspólny POI", - "chat_unread": "Niezgłoszone: {count}", + "chat_direct": "BezpoÅ›rednio", + "chat_poiShared": "Wspólny POI", + "chat_unread": "NiezgÅ‚oszone: {count}", "@chat_unread": { "placeholders": { "count": { @@ -609,10 +609,10 @@ } } }, - "chat_openLink": "Otworzyć link?", - "chat_openLinkConfirmation": "Czy chcesz otworzyć ten link w przeglądarce?", - "chat_open": "Otwórz", - "chat_couldNotOpenLink": "Nie można otworzyć linku: {url}", + "chat_openLink": "Otworzyć link?", + "chat_openLinkConfirmation": "Czy chcesz otworzyć ten link w przeglÄ…darce?", + "chat_open": "Otwórz", + "chat_couldNotOpenLink": "Nie można otworzyć linku: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,11 +620,11 @@ } } }, - "chat_invalidLink": "Nieprawidłowy format linku", - "map_title": "Mapa węzłów", - "map_noNodesWithLocation": "Brak węzłów z danymi lokalizacyjnymi", - "map_nodesNeedGps": "Węzły muszą udostępniać swoje współrzędne GPS,\naby pojawić się na mapie.", - "map_nodesCount": "Węzły: {count}", + "chat_invalidLink": "NieprawidÅ‚owy format linku", + "map_title": "Mapa wÄ™złów", + "map_noNodesWithLocation": "Brak wÄ™złów z danymi lokalizacyjnymi", + "map_nodesNeedGps": "WÄ™zÅ‚y muszÄ… udostÄ™pniać swoje współrzÄ™dne GPS,\naby pojawić siÄ™ na mapie.", + "map_nodesCount": "WÄ™zÅ‚y: {count}", "@map_nodesCount": { "placeholders": { "count": { @@ -641,26 +641,26 @@ } }, "map_chat": "Rozmowa", - "map_repeater": "Powtórzacz", - "map_room": "Pokój", + "map_repeater": "Powtórzacz", + "map_room": "Pokój", "map_sensor": "Czujnik", "map_pinDm": "Zablokuj (DM)", "map_pinPrivate": "Zablokuj (Prywatnie)", "map_pinPublic": "Oznacz jako publiczne", "map_lastSeen": "Ostatni raz widziany", - "map_disconnectConfirm": "Czy na pewno chcesz się odłączyć od tego urządzenia?", + "map_disconnectConfirm": "Czy na pewno chcesz siÄ™ odłączyć od tego urzÄ…dzenia?", "map_from": "Od", - "map_source": "Źródło", + "map_source": "ŹródÅ‚o", "map_flags": "Flagi", - "map_shareMarkerHere": "Udostępnij znacznik tutaj", - "map_pinLabel": "Oznacz etykietę", + "map_shareMarkerHere": "UdostÄ™pnij znacznik tutaj", + "map_pinLabel": "Oznacz etykietÄ™", "map_label": "Etykieta", - "map_pointOfInterest": "Punkt zainteresowań", - "map_sendToContact": "Wyślij do kontaktu", - "map_sendToChannel": "Wyślij do kanału", - "map_noChannelsAvailable": "Brak dostępnych kanałów", - "map_publicLocationShare": "Udostępnij lokalizację publicznie", - "map_publicLocationShareConfirm": "Wkrótce udostępnisz lokalizację w {channelLabel}. Ten kanał jest publiczny i każdy z PSK może go zobaczyć.", + "map_pointOfInterest": "Punkt zainteresowaÅ„", + "map_sendToContact": "WyÅ›lij do kontaktu", + "map_sendToChannel": "WyÅ›lij do kanaÅ‚u", + "map_noChannelsAvailable": "Brak dostÄ™pnych kanałów", + "map_publicLocationShare": "UdostÄ™pnij lokalizacjÄ™ publicznie", + "map_publicLocationShareConfirm": "Wkrótce udostÄ™pnisz lokalizacjÄ™ w {channelLabel}. Ten kanaÅ‚ jest publiczny i każdy z PSK może go zobaczyć.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,26 +668,26 @@ } } }, - "map_connectToShareMarkers": "Połącz się z urządzeniem, aby udostępniać znacznik.", - "map_filterNodes": "Filtruj Węzły", - "map_nodeTypes": "Typy węzłów", - "map_chatNodes": "Węzły czatu", + "map_connectToShareMarkers": "Połącz siÄ™ z urzÄ…dzeniem, aby udostÄ™pniać znacznik.", + "map_filterNodes": "Filtruj WÄ™zÅ‚y", + "map_nodeTypes": "Typy wÄ™złów", + "map_chatNodes": "WÄ™zÅ‚y czatu", "map_repeaters": "Powtarzacze", - "map_otherNodes": "Inne węzły", + "map_otherNodes": "Inne wÄ™zÅ‚y", "map_keyPrefix": "Prefiks klucza", "map_filterByKeyPrefix": "Filtruj po prefiksie klucza", - "map_publicKeyPrefix": "Przewód klucza publicznego", + "map_publicKeyPrefix": "Przewód klucza publicznego", "map_markers": "Oznaczarki", - "map_showSharedMarkers": "Pokaż współdzielone znaki.", + "map_showSharedMarkers": "Pokaż współdzielone znaki.", "map_lastSeenTime": "Ostatni raz widiany", "map_sharedPin": "Podzielony PIN", - "map_joinRoom": "Dołącz do pokoju", - "map_manageRepeater": "Zarządzaj Powtórzami", + "map_joinRoom": "Dołącz do pokoju", + "map_manageRepeater": "ZarzÄ…dzaj Powtórzami", "mapCache_title": "Bufor Map Offline", - "mapCache_selectAreaFirst": "Wybierz obszar do wstępnego pobrania.", - "mapCache_noTilesToDownload": "Brak dostępnych płytek do pobrania dla tego obszaru.", - "mapCache_downloadTilesTitle": "Pobierz płytki", - "mapCache_downloadTilesPrompt": "Pobierz {count} płytek do użytku offline?", + "mapCache_selectAreaFirst": "Wybierz obszar do wstÄ™pnego pobrania.", + "mapCache_noTilesToDownload": "Brak dostÄ™pnych pÅ‚ytek do pobrania dla tego obszaru.", + "mapCache_downloadTilesTitle": "Pobierz pÅ‚ytki", + "mapCache_downloadTilesPrompt": "Pobierz {count} pÅ‚ytek do użytku offline?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -696,7 +696,7 @@ } }, "mapCache_downloadAction": "Pobierz", - "mapCache_cachedTiles": "Pamiętanych {count} płytek", + "mapCache_cachedTiles": "PamiÄ™tanych {count} pÅ‚ytek", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -704,7 +704,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Pamiętane {downloaded} płytki ({failed} nieudane)", + "mapCache_cachedTilesWithFailed": "PamiÄ™tane {downloaded} pÅ‚ytki ({failed} nieudane)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -715,14 +715,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Wyczyść pamięć podręczną offline", - "mapCache_clearOfflineCachePrompt": "Usuń wszystkie tymczasowe kafelki mapy?", - "mapCache_offlineCacheCleared": "Pamięć podręczna offline została wyczyszczona", - "mapCache_noAreaSelected": "Nie zaznaczono żadnej powierzchni.", - "mapCache_cacheArea": "Obszar pamięci podręcznej", - "mapCache_useCurrentView": "Użyj aktualnego widoku", - "mapCache_zoomRange": "Zakres powiększenia", - "mapCache_estimatedTiles": "Szacunkowa liczba płytek: {count}", + "mapCache_clearOfflineCacheTitle": "Wyczyść pamięć podrÄ™cznÄ… offline", + "mapCache_clearOfflineCachePrompt": "UsuÅ„ wszystkie tymczasowe kafelki mapy?", + "mapCache_offlineCacheCleared": "Pamięć podrÄ™czna offline zostaÅ‚a wyczyszczona", + "mapCache_noAreaSelected": "Nie zaznaczono żadnej powierzchni.", + "mapCache_cacheArea": "Obszar pamiÄ™ci podrÄ™cznej", + "mapCache_useCurrentView": "Użyj aktualnego widoku", + "mapCache_zoomRange": "Zakres powiÄ™kszenia", + "mapCache_estimatedTiles": "Szacunkowa liczba pÅ‚ytek: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -742,7 +742,7 @@ } }, "mapCache_downloadTilesButton": "Pobierz Paski", - "mapCache_clearCacheButton": "Wyczyść pamięć podręczną", + "mapCache_clearCacheButton": "Wyczyść pamięć podrÄ™cznÄ…", "mapCache_failedDownloads": "Nieudane pobrania: {count}", "@mapCache_failedDownloads": { "placeholders": { @@ -768,7 +768,7 @@ } } }, - "time_justNow": "Właśnie teraz", + "time_justNow": "WÅ‚aÅ›nie teraz", "time_minutesAgo": "{minutes} minut temu", "@time_minutesAgo": { "placeholders": { @@ -795,31 +795,31 @@ }, "time_hour": "godzina", "time_hours": "godziny", - "time_day": "dzień", + "time_day": "dzieÅ„", "time_days": "dni", - "time_week": "tydzień", + "time_week": "tydzieÅ„", "time_weeks": "tygodnie", - "time_month": "miesiąc", + "time_month": "miesiÄ…c", "time_months": "miesiace", "time_minutes": "minuty", "time_allTime": "Wszystko czasowo", - "dialog_disconnect": "Odłącz", - "dialog_disconnectConfirm": "Czy na pewno chcesz się odłączyć od tego urządzenia?", - "login_repeaterLogin": "Powtórz Logowanie", + "dialog_disconnect": "Odłącz", + "dialog_disconnectConfirm": "Czy na pewno chcesz siÄ™ odłączyć od tego urzÄ…dzenia?", + "login_repeaterLogin": "Powtórz Logowanie", "login_roomLogin": "Logowanie do pokoju", - "login_password": "Hasło", - "login_enterPassword": "Wprowadź hasło", - "login_savePassword": "Zapisz hasło", - "login_savePasswordSubtitle": "Hasło będzie bezpiecznie przechowywane na tym urządzeniu.", - "login_repeaterDescription": "Wprowadź hasło do powtarzacza, aby uzyskać dostęp do ustawień i statusu.", - "login_roomDescription": "Wprowadź hasło do pokoju, aby uzyskać dostęp do ustawień i statusu.", + "login_password": "HasÅ‚o", + "login_enterPassword": "Wprowadź hasÅ‚o", + "login_savePassword": "Zapisz hasÅ‚o", + "login_savePasswordSubtitle": "HasÅ‚o bÄ™dzie bezpiecznie przechowywane na tym urzÄ…dzeniu.", + "login_repeaterDescription": "Wprowadź hasÅ‚o do powtarzacza, aby uzyskać dostÄ™p do ustawieÅ„ i statusu.", + "login_roomDescription": "Wprowadź hasÅ‚o do pokoju, aby uzyskać dostÄ™p do ustawieÅ„ i statusu.", "login_routing": "Przekierowanie", "login_routingMode": "Tryb routingu", - "login_autoUseSavedPath": "Automatycznie (użyj zapisanej ścieżki)", + "login_autoUseSavedPath": "Automatycznie (użyj zapisanej Å›cieżki)", "login_forceFloodMode": "Wymusz Tryb Powodowany", - "login_managePaths": "Zarządzaj Ścieżkami", - "login_login": "Zaloguj się", - "login_attempt": "Próba {current}/{max}", + "login_managePaths": "ZarzÄ…dzaj Åšcieżkami", + "login_login": "Zaloguj siÄ™", + "login_attempt": "Próba {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -830,7 +830,7 @@ } } }, - "login_failed": "Zalogowanie się nie powiodło: {error}", + "login_failed": "Zalogowanie siÄ™ nie powiodÅ‚o: {error}", "@login_failed": { "placeholders": { "error": { @@ -838,10 +838,10 @@ } } }, - "login_failedMessage": "Logowanie nie powiodło się. Hasło jest nieprawidłowe albo repeater jest nieosiągalny.", - "common_reload": "Ponownie załadować", - "common_clear": "Wyczyść", - "path_currentPath": "Aktualny ścieżka: {path}", + "login_failedMessage": "Logowanie nie powiodÅ‚o siÄ™. HasÅ‚o jest nieprawidÅ‚owe albo repeater jest nieosiÄ…galny.", + "common_reload": "Ponownie zaÅ‚adować", + "common_clear": "Wyczyść", + "path_currentPath": "Aktualny Å›cieżka: {path}", "@path_currentPath": { "placeholders": { "path": { @@ -849,7 +849,7 @@ } } }, - "path_usingHopsPath": "Użyj ścieżki {count} {count, plural, =1{hop} other{hops}}.", + "path_usingHopsPath": "Użyj Å›cieżki {count} {count, plural, =1{hop} other{hops}}.", "@path_usingHopsPath": { "placeholders": { "count": { @@ -857,16 +857,16 @@ } } }, - "path_enterCustomPath": "Wprowadź własną ścieżkę", - "path_currentPathLabel": "Aktualny ścieżka", - "path_hexPrefixInstructions": "Wprowadź 2-znakowe prefiksy szesnastkowe dla każdego skoku, oddzielone przecinkami.", - "path_hexPrefixExample": "A1,F2,3C (każedy węzeł używa pierwszego bajtu swojego klucza publicznego)", - "path_labelHexPrefixes": "Ścieżka (przesunięcia bitowe)", - "path_helperMaxHops": "Maksymalnie 64 skoki. Każda prefiks ma 2 znaki szesnastkowe (1 bajt).", - "path_selectFromContacts": "Albo wybierz z kontaktów:", - "path_noRepeatersFound": "Nie znaleziono repeaterów ani serwerów pokoi.", - "path_customPathsRequire": "Dostosowane ścieżki wymagają pośrednich skoków, które mogą przekazywać wiadomości.", - "path_invalidHexPrefixes": "Nieprawidłowe prefiksy szesnastkowe: {prefixes}", + "path_enterCustomPath": "Wprowadź wÅ‚asnÄ… Å›cieżkÄ™", + "path_currentPathLabel": "Aktualny Å›cieżka", + "path_hexPrefixInstructions": "Wprowadź 2-znakowe prefiksy szesnastkowe dla każdego skoku, oddzielone przecinkami.", + "path_hexPrefixExample": "A1,F2,3C (każedy wÄ™zeÅ‚ używa pierwszego bajtu swojego klucza publicznego)", + "path_labelHexPrefixes": "Åšcieżka (przesuniÄ™cia bitowe)", + "path_helperMaxHops": "Maksymalnie 64 skoki. Każda prefiks ma 2 znaki szesnastkowe (1 bajt).", + "path_selectFromContacts": "Albo wybierz z kontaktów:", + "path_noRepeatersFound": "Nie znaleziono repeaterów ani serwerów pokoi.", + "path_customPathsRequire": "Dostosowane Å›cieżki wymagajÄ… poÅ›rednich skoków, które mogÄ… przekazywać wiadomoÅ›ci.", + "path_invalidHexPrefixes": "NieprawidÅ‚owe prefiksy szesnastkowe: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,26 +874,26 @@ } } }, - "path_tooLong": "Ścieżka jest zbyt długa. Dozwolonych skoków wynosi 64.", - "path_setPath": "Ustaw Ścieżkę", - "repeater_management": "Zarządzanie Powtórzami", - "repeater_managementTools": "Narzędzia Zarządzania", + "path_tooLong": "Åšcieżka jest zbyt dÅ‚uga. Dozwolonych skoków wynosi 64.", + "path_setPath": "Ustaw ÅšcieżkÄ™", + "repeater_management": "ZarzÄ…dzanie Powtórzami", + "repeater_managementTools": "NarzÄ™dzia ZarzÄ…dzania", "repeater_status": "Status", - "repeater_statusSubtitle": "Wyświetl status powtarzacza, statystyki i sąsiadów.", + "repeater_statusSubtitle": "WyÅ›wietl status powtarzacza, statystyki i sÄ…siadów.", "repeater_telemetry": "Telemetry", - "repeater_telemetrySubtitle": "Wyświetl dane telemetryczne z czujników i statystyki systemu", + "repeater_telemetrySubtitle": "WyÅ›wietl dane telemetryczne z czujników i statystyki systemu", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Wyślij polecenia do powielacza", + "repeater_cliSubtitle": "WyÅ›lij polecenia do powielacza", "repeater_settings": "Ustawienia", "repeater_settingsSubtitle": "Skonfiguruj parametry powtarzacza", "repeater_statusTitle": "Status powtarzacza", "repeater_routingMode": "Tryb routingu", - "repeater_autoUseSavedPath": "Automatycznie (użyj zapisanej ścieżki)", + "repeater_autoUseSavedPath": "Automatycznie (użyj zapisanej Å›cieżki)", "repeater_forceFloodMode": "Wymusz Tryb Powodowany", - "repeater_pathManagement": "Zarządzanie ścieżkami", - "repeater_refresh": "Odśwież", - "repeater_statusRequestTimeout": "Życzenie statusu timed out.", - "repeater_errorLoadingStatus": "Błąd podczas ładowania statusu: {error}", + "repeater_pathManagement": "ZarzÄ…dzanie Å›cieżkami", + "repeater_refresh": "OdÅ›wież", + "repeater_statusRequestTimeout": "Å»yczenie statusu timed out.", + "repeater_errorLoadingStatus": "Błąd podczas Å‚adowania statusu: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -904,19 +904,19 @@ "repeater_systemInformation": "Informacje o systemie", "repeater_battery": "Bateria", "repeater_clockAtLogin": "Godzina (przy logowaniu)", - "repeater_uptime": "Dostępność", - "repeater_queueLength": "Długość kolejki", + "repeater_uptime": "DostÄ™pność", + "repeater_queueLength": "DÅ‚ugość kolejki", "repeater_debugFlags": "Opcje debugowania", "repeater_radioStatistics": "Statystyki Radia", "repeater_lastRssi": "Ostatni RSSI", "repeater_lastSnr": "Ostatnie SNR", - "repeater_noiseFloor": "Poziom Szumów", + "repeater_noiseFloor": "Poziom Szumów", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", - "repeater_packetStatistics": "Statystyki pakietów", - "repeater_sent": "Wysłane", + "repeater_packetStatistics": "Statystyki pakietów", + "repeater_sent": "WysÅ‚ane", "repeater_received": "Otrzymano", - "repeater_duplicates": "Powtórzenia", + "repeater_duplicates": "Powtórzenia", "repeater_daysHoursMinsSecs": "{days} dni {hours}h {minutes}m {seconds}s", "@repeater_daysHoursMinsSecs": { "placeholders": { @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Razem: {total}, Powodzenie: {flood}, Bezpośrednio: {direct}", + "repeater_packetTxTotal": "Razem: {total}, Powodzenie: {flood}, BezpoÅ›rednio: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Razem: {total}, Powodzenie: {flood}, Bezpośrednio: {direct}", + "repeater_packetRxTotal": "Razem: {total}, Powodzenie: {flood}, BezpoÅ›rednio: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Powodzie: {flood}, Bezpośrednie: {direct}", + "repeater_duplicatesFloodDirect": "Powodzie: {flood}, BezpoÅ›rednie: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -981,36 +981,36 @@ } } }, - "repeater_settingsTitle": "Ustawienia Powtórki", + "repeater_settingsTitle": "Ustawienia Powtórki", "repeater_basicSettings": "Podstawowe Ustawienia", - "repeater_repeaterName": "Nazwa Powtórnika", - "repeater_repeaterNameHelper": "Wyświetl nazwę tego powtarzacza", - "repeater_adminPassword": "Hasło Administracyjne", - "repeater_adminPasswordHelper": "Pełny dostęp hasło", - "repeater_guestPassword": "Hasło gościa", - "repeater_guestPasswordHelper": "Dostęp tylko do odczytu hasło", + "repeater_repeaterName": "Nazwa Powtórnika", + "repeater_repeaterNameHelper": "WyÅ›wietl nazwÄ™ tego powtarzacza", + "repeater_adminPassword": "HasÅ‚o Administracyjne", + "repeater_adminPasswordHelper": "PeÅ‚ny dostÄ™p hasÅ‚o", + "repeater_guestPassword": "HasÅ‚o goÅ›cia", + "repeater_guestPasswordHelper": "DostÄ™p tylko do odczytu hasÅ‚o", "repeater_radioSettings": "Ustawienia radia", - "repeater_frequencyMhz": "Częstotliwość (MHz)", + "repeater_frequencyMhz": "CzÄ™stotliwość (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Power", "repeater_txPowerHelper": "1-30 dBm", - "repeater_bandwidth": "Przepustowość", - "repeater_spreadingFactor": "Rozkład Czynnika", + "repeater_bandwidth": "Przepustowość", + "repeater_spreadingFactor": "RozkÅ‚ad Czynnika", "repeater_codingRate": "Stawka kodowania", "repeater_locationSettings": "Ustawienia Lokalizacji", - "repeater_latitude": "Szerokość", - "repeater_latitudeHelper": "Stopnie dziesiętne (np. 37.7749)", - "repeater_longitude": "Długość", - "repeater_longitudeHelper": "Stopnie dziesiętne (np. -122,4194)", + "repeater_latitude": "Szerokość", + "repeater_latitudeHelper": "Stopnie dziesiÄ™tne (np. 37.7749)", + "repeater_longitude": "DÅ‚ugość", + "repeater_longitudeHelper": "Stopnie dziesiÄ™tne (np. -122,4194)", "repeater_features": "Funkcje", - "repeater_packetForwarding": "Przekierowanie pakietów", - "repeater_packetForwardingSubtitle": "Włącz repeater, aby przekazywać pakiety.", - "repeater_guestAccess": "Dostęp dla gości", - "repeater_guestAccessSubtitle": "Umożliw dostęp tylko do odczytu dla gości.", - "repeater_privacyMode": "Tryb Prywatności", - "repeater_privacyModeSubtitle": "Ukryj imię/lokalizację w reklamach", + "repeater_packetForwarding": "Przekierowanie pakietów", + "repeater_packetForwardingSubtitle": "Włącz repeater, aby przekazywać pakiety.", + "repeater_guestAccess": "DostÄ™p dla goÅ›ci", + "repeater_guestAccessSubtitle": "Umożliw dostÄ™p tylko do odczytu dla goÅ›ci.", + "repeater_privacyMode": "Tryb PrywatnoÅ›ci", + "repeater_privacyModeSubtitle": "Ukryj imiÄ™/lokalizacjÄ™ w reklamach", "repeater_advertisementSettings": "Ustawienia Reklam", - "repeater_localAdvertInterval": "Interwał Reklamy Lokalnej", + "repeater_localAdvertInterval": "InterwaÅ‚ Reklamy Lokalnej", "repeater_localAdvertIntervalMinutes": "{minutes} minut", "@repeater_localAdvertIntervalMinutes": { "placeholders": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Interwał Reklamy Powodziowej", + "repeater_floodAdvertInterval": "InterwaÅ‚ Reklamy Powodziowej", "repeater_floodAdvertIntervalHours": "{hours} godzin", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1028,19 +1028,19 @@ } } }, - "repeater_encryptedAdvertInterval": "Zaszyfrowany Interwał Reklamowy", - "repeater_dangerZone": "Strefa Zagrożeń", + "repeater_encryptedAdvertInterval": "Zaszyfrowany InterwaÅ‚ Reklamowy", + "repeater_dangerZone": "Strefa ZagrożeÅ„", "repeater_rebootRepeater": "Zrestartuj Powtarzacz", - "repeater_rebootRepeaterSubtitle": "Zrestartuj urządzenie powtarzające.", - "repeater_rebootRepeaterConfirm": "Czy na pewno chcesz zrestartować ten repeater?", - "repeater_regenerateIdentityKey": "Wygeneruj klucz tożsamości", - "repeater_regenerateIdentityKeySubtitle": "Wygeneruj nową parę kluczy publicznych/prywatnych", - "repeater_regenerateIdentityKeyConfirm": "To zostanie wygenerowane nowe tożsamość dla powtarzacza. Kontynuować?", - "repeater_eraseFileSystem": "Wyczyść System Plików", - "repeater_eraseFileSystemSubtitle": "Sformatuj system plików powielacza", - "repeater_eraseFileSystemConfirm": "OSTRZEŻENIE: To spowoduje usunięcie wszystkich danych z powtarzacza. Nie da się tego cofnąć!", - "repeater_eraseSerialOnly": "Usunięcie jest dostępne tylko przez konsolę szeregową.", - "repeater_commandSent": "Polecenie wysłane: {command}", + "repeater_rebootRepeaterSubtitle": "Zrestartuj urzÄ…dzenie powtarzajÄ…ce.", + "repeater_rebootRepeaterConfirm": "Czy na pewno chcesz zrestartować ten repeater?", + "repeater_regenerateIdentityKey": "Wygeneruj klucz tożsamoÅ›ci", + "repeater_regenerateIdentityKeySubtitle": "Wygeneruj nowÄ… parÄ™ kluczy publicznych/prywatnych", + "repeater_regenerateIdentityKeyConfirm": "To zostanie wygenerowane nowe tożsamość dla powtarzacza. Kontynuować?", + "repeater_eraseFileSystem": "Wyczyść System Plików", + "repeater_eraseFileSystemSubtitle": "Sformatuj system plików powielacza", + "repeater_eraseFileSystemConfirm": "OSTRZEÅ»ENIE: To spowoduje usuniÄ™cie wszystkich danych z powtarzacza. Nie da siÄ™ tego cofnąć!", + "repeater_eraseSerialOnly": "UsuniÄ™cie jest dostÄ™pne tylko przez konsolÄ™ szeregowÄ….", + "repeater_commandSent": "Polecenie wysÅ‚ane: {command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1048,7 +1048,7 @@ } } }, - "repeater_errorSendingCommand": "Błąd podczas wysyłania polecenia: {error}", + "repeater_errorSendingCommand": "Błąd podczas wysyÅ‚ania polecenia: {error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1056,9 +1056,9 @@ } } }, - "repeater_confirm": "Potwierdź", - "repeater_settingsSaved": "Ustawienia zostały pomyślnie zapisane.", - "repeater_errorSavingSettings": "Błąd zapisu ustawień: {error}", + "repeater_confirm": "Potwierdź", + "repeater_settingsSaved": "Ustawienia zostaÅ‚y pomyÅ›lnie zapisane.", + "repeater_errorSavingSettings": "Błąd zapisu ustawieÅ„: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,15 +1066,15 @@ } } }, - "repeater_refreshBasicSettings": "Odśwież Podstawowe Ustawienia", - "repeater_refreshRadioSettings": "Odśwież Ustawienia Radio", - "repeater_refreshTxPower": "Odśwież TX power", - "repeater_refreshLocationSettings": "Odśwież Ustawienia Lokalizacji", - "repeater_refreshPacketForwarding": "Odśwież trasowanie pakietów", - "repeater_refreshGuestAccess": "Odśwież dostęp gościa", - "repeater_refreshPrivacyMode": "Odśwież Tryb Prywatności", - "repeater_refreshAdvertisementSettings": "Odśwież Ustawienia Reklamy", - "repeater_refreshed": "{label} odświeżone", + "repeater_refreshBasicSettings": "OdÅ›wież Podstawowe Ustawienia", + "repeater_refreshRadioSettings": "OdÅ›wież Ustawienia Radio", + "repeater_refreshTxPower": "OdÅ›wież TX power", + "repeater_refreshLocationSettings": "OdÅ›wież Ustawienia Lokalizacji", + "repeater_refreshPacketForwarding": "OdÅ›wież trasowanie pakietów", + "repeater_refreshGuestAccess": "OdÅ›wież dostÄ™p goÅ›cia", + "repeater_refreshPrivacyMode": "OdÅ›wież Tryb PrywatnoÅ›ci", + "repeater_refreshAdvertisementSettings": "OdÅ›wież Ustawienia Reklamy", + "repeater_refreshed": "{label} odÅ›wieżone", "@repeater_refreshed": { "placeholders": { "label": { @@ -1082,7 +1082,7 @@ } } }, - "repeater_errorRefreshing": "Błąd podczas odświeżania {label}", + "repeater_errorRefreshing": "Błąd podczas odÅ›wieżania {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1091,17 +1091,17 @@ } }, "repeater_cliTitle": "Powtarzacz CLI", - "repeater_debugNextCommand": "Debug Następną Komendę", + "repeater_debugNextCommand": "Debug NastÄ™pnÄ… KomendÄ™", "repeater_commandHelp": "Pomoc", - "repeater_clearHistory": "Wyczyść historię", - "repeater_noCommandsSent": "Nie wysłano jeszcze żadnych poleceń", - "repeater_typeCommandOrUseQuick": "Wprowadź polecenie poniżej lub użyj szybkich poleceń", - "repeater_enterCommandHint": "Wprowadź polecenie...", + "repeater_clearHistory": "Wyczyść historiÄ™", + "repeater_noCommandsSent": "Nie wysÅ‚ano jeszcze żadnych poleceÅ„", + "repeater_typeCommandOrUseQuick": "Wprowadź polecenie poniżej lub użyj szybkich poleceÅ„", + "repeater_enterCommandHint": "Wprowadź polecenie...", "repeater_previousCommand": "Poprzednia komenda", - "repeater_nextCommand": "Następna komenda", - "repeater_enterCommandFirst": "Wprowadź najpierw polecenie", - "repeater_cliCommandFrameTitle": "Określony Wyraz Polecenia CLI", - "repeater_cliCommandError": "Błąd: {error}", + "repeater_nextCommand": "NastÄ™pna komenda", + "repeater_enterCommandFirst": "Wprowadź najpierw polecenie", + "repeater_cliCommandFrameTitle": "OkreÅ›lony Wyraz Polecenia CLI", + "repeater_cliCommandError": "Błąd: {error}", "@repeater_cliCommandError": { "placeholders": { "error": { @@ -1109,81 +1109,81 @@ } } }, - "repeater_cliQuickGetName": "Pobierz imię", + "repeater_cliQuickGetName": "Pobierz imiÄ™", "repeater_cliQuickGetRadio": "Uzyskaj Radio", "repeater_cliQuickGetTx": "Pobierz TX", - "repeater_cliQuickNeighbors": "Sąsiedzi", + "repeater_cliQuickNeighbors": "SÄ…siedzi", "repeater_cliQuickVersion": "Wersja", "repeater_cliQuickAdvertise": "Reklama", "repeater_cliQuickClock": "Godzina", - "repeater_cliHelpAdvert": "Wysyła pakiet reklamowy", - "repeater_cliHelpReboot": "Zresetuj urządzenie. (Uwaga, może pojawić się 'Timeout', co jest normalne)", - "repeater_cliHelpClock": "Wyświetla aktualny czas zgodnie z zegarem urządzenia.", - "repeater_cliHelpPassword": "Ustawia nowe hasło administratora dla urządzenia.", - "repeater_cliHelpVersion": "Wyświetla wersję urządzenia i datę budowy oprogramowania.", - "repeater_cliHelpClearStats": "Resetuje różne wskaźniki statystyk do zera.", + "repeater_cliHelpAdvert": "WysyÅ‚a pakiet reklamowy", + "repeater_cliHelpReboot": "Zresetuj urzÄ…dzenie. (Uwaga, może pojawić siÄ™ 'Timeout', co jest normalne)", + "repeater_cliHelpClock": "WyÅ›wietla aktualny czas zgodnie z zegarem urzÄ…dzenia.", + "repeater_cliHelpPassword": "Ustawia nowe hasÅ‚o administratora dla urzÄ…dzenia.", + "repeater_cliHelpVersion": "WyÅ›wietla wersjÄ™ urzÄ…dzenia i datÄ™ budowy oprogramowania.", + "repeater_cliHelpClearStats": "Resetuje różne wskaźniki statystyk do zera.", "repeater_cliHelpSetAf": "Ustawia czynnik czasu powietrznego.", - "repeater_cliHelpSetTx": "Ustawia moc transmisji LoRa w dBm. (zrestartuj, aby zastosować)", - "repeater_cliHelpSetRepeat": "Włącza lub wyłącza rolę powtarzacza dla tego węzła.", - "repeater_cliHelpSetAllowReadOnly": "(Serwer pokoju) Jeśli 'włączone', to logowanie z pustym hasłem będzie dozwolone, ale nie można publikować w pokoju (tylko czytać).", - "repeater_cliHelpSetFloodMax": "Ustawia maksymalną liczbę skoków pakietu powrotnego (jeśli >= max, pakiet nie jest przekierowywany)", - "repeater_cliHelpSetIntThresh": "Ustawia Próg Interferencji (w dB). Domyślnie wynosi 14. Ustaw na 0, aby wyłączyć wykrywanie zakłóceń kanału.", - "repeater_cliHelpSetAgcResetInterval": "Ustawia interwał do zresetowania Automatycznego Sterownika Głośności. Ustaw na 0, aby wyłączyć.", - "repeater_cliHelpSetMultiAcks": "Włącza lub wyłącza funkcję 'podwójnych potwierdzeń'.", - "repeater_cliHelpSetAdvertInterval": "Ustawia interwał timera w minutach do wysyłania pakietu reklamy lokalnej (bezpośredniej). Ustaw na 0, aby wyłączyć.", - "repeater_cliHelpSetFloodAdvertInterval": "Ustawia interwał timera w godzinach do wysłania pakietu reklamowego typu \"powiew\". Ustaw na 0, aby wyłączyć.", - "repeater_cliHelpSetGuestPassword": "Ustawia/aktualizuje hasło gościa. (dla repeaterów, loginy gości mogą wysyłać żądanie \"Get Stats\")", - "repeater_cliHelpSetName": "Ustawia nazwę reklamy.", - "repeater_cliHelpSetLat": "Ustawia współrzędną geograficzne (w stopniach dziesiętnych) mapy reklam.", - "repeater_cliHelpSetLon": "Ustawia współrzędną długościową mapy reklamy. (stopnie dziesiętne)", + "repeater_cliHelpSetTx": "Ustawia moc transmisji LoRa w dBm. (zrestartuj, aby zastosować)", + "repeater_cliHelpSetRepeat": "Włącza lub wyłącza rolÄ™ powtarzacza dla tego wÄ™zÅ‚a.", + "repeater_cliHelpSetAllowReadOnly": "(Serwer pokoju) JeÅ›li 'włączone', to logowanie z pustym hasÅ‚em bÄ™dzie dozwolone, ale nie można publikować w pokoju (tylko czytać).", + "repeater_cliHelpSetFloodMax": "Ustawia maksymalnÄ… liczbÄ™ skoków pakietu powrotnego (jeÅ›li >= max, pakiet nie jest przekierowywany)", + "repeater_cliHelpSetIntThresh": "Ustawia Próg Interferencji (w dB). DomyÅ›lnie wynosi 14. Ustaw na 0, aby wyłączyć wykrywanie zakłóceÅ„ kanaÅ‚u.", + "repeater_cliHelpSetAgcResetInterval": "Ustawia interwaÅ‚ do zresetowania Automatycznego Sterownika GÅ‚oÅ›noÅ›ci. Ustaw na 0, aby wyłączyć.", + "repeater_cliHelpSetMultiAcks": "Włącza lub wyłącza funkcjÄ™ 'podwójnych potwierdzeÅ„'.", + "repeater_cliHelpSetAdvertInterval": "Ustawia interwaÅ‚ timera w minutach do wysyÅ‚ania pakietu reklamy lokalnej (bezpoÅ›redniej). Ustaw na 0, aby wyłączyć.", + "repeater_cliHelpSetFloodAdvertInterval": "Ustawia interwaÅ‚ timera w godzinach do wysÅ‚ania pakietu reklamowego typu \"powiew\". Ustaw na 0, aby wyłączyć.", + "repeater_cliHelpSetGuestPassword": "Ustawia/aktualizuje hasÅ‚o goÅ›cia. (dla repeaterów, loginy goÅ›ci mogÄ… wysyÅ‚ać żądanie \"Get Stats\")", + "repeater_cliHelpSetName": "Ustawia nazwÄ™ reklamy.", + "repeater_cliHelpSetLat": "Ustawia współrzÄ™dnÄ… geograficzne (w stopniach dziesiÄ™tnych) mapy reklam.", + "repeater_cliHelpSetLon": "Ustawia współrzÄ™dnÄ… dÅ‚ugoÅ›ciowÄ… mapy reklamy. (stopnie dziesiÄ™tne)", "repeater_cliHelpSetRadio": "Ustawia nowe parametry radia i zapisuje je w preferencjach. Wymaga polecenia \"reboot\" do zastosowania.", - "repeater_cliHelpSetRxDelay": "Ustawienia (eksperymentalne) bazowe (muszą być > 1, aby działać) do stosowania lekkiego opóźnienia dla odebranych pakietów, w oparciu o siłę sygnału/wynik. Ustaw na 0, aby wyłączyć.", - "repeater_cliHelpSetTxDelay": "Ustawia czynnik mnożony przez czas utrzymania w trybie zalewowym dla pakietu oraz z wykorzystaniem losowego systemu slotów, aby opóźnić jego przesyłanie (zmniejszając prawdopodobieństwo kolizji).", - "repeater_cliHelpSetDirectTxDelay": "Taki sam jak txdelay, ale dla stosowania losowej opóźnienia przy przekazywaniu pakietów w trybie bezpośrednim.", - "repeater_cliHelpSetBridgeEnabled": "Włącz/Wyłącz mostek.", - "repeater_cliHelpSetBridgeDelay": "Ustaw czas opóźnienia przed ponownym wysyłaniem pakietów.", - "repeater_cliHelpSetBridgeSource": "Wybierz, czy most będzie ponownie transmitował otrzymywane pakiety, czy też wysyłane.", - "repeater_cliHelpSetBridgeBaud": "Ustaw prędkość transmisji magistrali szeregowej dla mostów rs232.", - "repeater_cliHelpSetBridgeSecret": "Ustaw sekret dla mostów ESPNOW.", - "repeater_cliHelpSetAdcMultiplier": "Ustawia niestandardowy współczynnik do korekty zgłaszanego napięcia baterii (obsługa tylko na wybranych płytach).", - "repeater_cliHelpTempRadio": "Ustawia tymczasowe parametry radia na podany czas trwania w minutach, a następnie powraca do oryginalnych parametrów radia. (nie zapisuje zmian w preferencjach).", - "repeater_cliHelpSetPerm": "Modyfikuje ACL. Usuwa dopasowaną wpis (z prefiksem pubkey), jeśli \"permissions\" wynosi zero. Dodaje nowy wpis, jeśli pubkey-hex ma pełną długość i nie znajduje się obecnie w ACL. Aktualizuje wpis, dopasowując prefiks pubkey. Bit uprawnień zależy od roli firmware, ale dolne 2 bity to: 0 (Gość), 1 (tylko odczyt), 2 (odczyt i zapis), 3 (administrator).", + "repeater_cliHelpSetRxDelay": "Ustawienia (eksperymentalne) bazowe (muszÄ… być > 1, aby dziaÅ‚ać) do stosowania lekkiego opóźnienia dla odebranych pakietów, w oparciu o siłę sygnaÅ‚u/wynik. Ustaw na 0, aby wyłączyć.", + "repeater_cliHelpSetTxDelay": "Ustawia czynnik mnożony przez czas utrzymania w trybie zalewowym dla pakietu oraz z wykorzystaniem losowego systemu slotów, aby opóźnić jego przesyÅ‚anie (zmniejszajÄ…c prawdopodobieÅ„stwo kolizji).", + "repeater_cliHelpSetDirectTxDelay": "Taki sam jak txdelay, ale dla stosowania losowej opóźnienia przy przekazywaniu pakietów w trybie bezpoÅ›rednim.", + "repeater_cliHelpSetBridgeEnabled": "Włącz/Wyłącz mostek.", + "repeater_cliHelpSetBridgeDelay": "Ustaw czas opóźnienia przed ponownym wysyÅ‚aniem pakietów.", + "repeater_cliHelpSetBridgeSource": "Wybierz, czy most bÄ™dzie ponownie transmitowaÅ‚ otrzymywane pakiety, czy też wysyÅ‚ane.", + "repeater_cliHelpSetBridgeBaud": "Ustaw prÄ™dkość transmisji magistrali szeregowej dla mostów rs232.", + "repeater_cliHelpSetBridgeSecret": "Ustaw sekret dla mostów ESPNOW.", + "repeater_cliHelpSetAdcMultiplier": "Ustawia niestandardowy współczynnik do korekty zgÅ‚aszanego napiÄ™cia baterii (obsÅ‚uga tylko na wybranych pÅ‚ytach).", + "repeater_cliHelpTempRadio": "Ustawia tymczasowe parametry radia na podany czas trwania w minutach, a nastÄ™pnie powraca do oryginalnych parametrów radia. (nie zapisuje zmian w preferencjach).", + "repeater_cliHelpSetPerm": "Modyfikuje ACL. Usuwa dopasowanÄ… wpis (z prefiksem pubkey), jeÅ›li \"permissions\" wynosi zero. Dodaje nowy wpis, jeÅ›li pubkey-hex ma peÅ‚nÄ… dÅ‚ugość i nie znajduje siÄ™ obecnie w ACL. Aktualizuje wpis, dopasowujÄ…c prefiks pubkey. Bit uprawnieÅ„ zależy od roli firmware, ale dolne 2 bity to: 0 (Gość), 1 (tylko odczyt), 2 (odczyt i zapis), 3 (administrator).", "repeater_cliHelpGetBridgeType": "Uzyskano typ mostu: brak, rs232, espnow", - "repeater_cliHelpLogStart": "Rozpoczyna się logowanie pakietów do systemu plików.", - "repeater_cliHelpLogStop": "Zatrzymuje logowanie pakietów do systemu plików.", - "repeater_cliHelpLogErase": "Usuwa logi pakietów z systemu plików.", - "repeater_cliHelpNeighbors": "Wyświetla listę innych węzłów powtarzających się, które usłyszano dzięki reklamom zero-hop. Każda linia to: id-prefix-hex:timestamp:snr-times-4", - "repeater_cliHelpNeighborRemove": "Usuwa pierwszy pasujący wpis (z prefiksem pubkey (hex)) z listy sąsiadów.", - "repeater_cliHelpRegion": "(tylko seria) Wyświetla wszystkie zdefiniowane regiony i aktualne uprawnienia do powodzi.", - "repeater_cliHelpRegionLoad": "ZAPOMNIJ: to jest specjalne wywołanie wielokomendowe. Każda następna komenda jest nazwą regionu (wcięta spacjami, aby wskazywać hierarchię nadrzędną, z minimum jedną spacją). Zakończona wysłaniem pustej linii/komendy.", + "repeater_cliHelpLogStart": "Rozpoczyna siÄ™ logowanie pakietów do systemu plików.", + "repeater_cliHelpLogStop": "Zatrzymuje logowanie pakietów do systemu plików.", + "repeater_cliHelpLogErase": "Usuwa logi pakietów z systemu plików.", + "repeater_cliHelpNeighbors": "WyÅ›wietla listÄ™ innych wÄ™złów powtarzajÄ…cych siÄ™, które usÅ‚yszano dziÄ™ki reklamom zero-hop. Każda linia to: id-prefix-hex:timestamp:snr-times-4", + "repeater_cliHelpNeighborRemove": "Usuwa pierwszy pasujÄ…cy wpis (z prefiksem pubkey (hex)) z listy sÄ…siadów.", + "repeater_cliHelpRegion": "(tylko seria) WyÅ›wietla wszystkie zdefiniowane regiony i aktualne uprawnienia do powodzi.", + "repeater_cliHelpRegionLoad": "ZAPOMNIJ: to jest specjalne wywoÅ‚anie wielokomendowe. Każda nastÄ™pna komenda jest nazwÄ… regionu (wciÄ™ta spacjami, aby wskazywać hierarchiÄ™ nadrzÄ™dnÄ…, z minimum jednÄ… spacjÄ…). ZakoÅ„czona wysÅ‚aniem pustej linii/komendy.", "repeater_cliHelpRegionGet": "Wyszukuje region o podanej nazwie prefiksu (lub \"\" dla zakresu globalnego). Odpowiada \"-> region-name (parent-name) 'F'\"", - "repeater_cliHelpRegionPut": "Dodaje lub aktualizuje definicję regionu z podaną nazwą.", - "repeater_cliHelpRegionRemove": "Usuwa definicję regionu o podanej nazwie. (musi się dokładnie zgadzać i nie może mieć podregionów).", - "repeater_cliHelpRegionAllowf": "Ustawia uprawnienia 'P'łytkowe dla podanego regionu. ('' dla zakresu globalnego/starszego)", - "repeater_cliHelpRegionDenyf": "Usuwa uprawnienie 'Pływające' dla podanej strefy. (ZALECANE: na tym etapie NIE zaleca się używania tego na globalnym/starszym zakresie!!).", - "repeater_cliHelpRegionHome": "Odpowiada z aktualnej 'home' region. (Uwaga: nie zostało jeszcze zastosowane, zarezerwowane na przyszłość).", + "repeater_cliHelpRegionPut": "Dodaje lub aktualizuje definicjÄ™ regionu z podanÄ… nazwÄ….", + "repeater_cliHelpRegionRemove": "Usuwa definicjÄ™ regionu o podanej nazwie. (musi siÄ™ dokÅ‚adnie zgadzać i nie może mieć podregionów).", + "repeater_cliHelpRegionAllowf": "Ustawia uprawnienia 'P'Å‚ytkowe dla podanego regionu. ('' dla zakresu globalnego/starszego)", + "repeater_cliHelpRegionDenyf": "Usuwa uprawnienie 'PÅ‚ywajÄ…ce' dla podanej strefy. (ZALECANE: na tym etapie NIE zaleca siÄ™ używania tego na globalnym/starszym zakresie!!).", + "repeater_cliHelpRegionHome": "Odpowiada z aktualnej 'home' region. (Uwaga: nie zostaÅ‚o jeszcze zastosowane, zarezerwowane na przyszÅ‚ość).", "repeater_cliHelpRegionHomeSet": "Ustawia region 'domowe'.", - "repeater_cliHelpRegionSave": "Zapisuje listę/mapę regionów do pamięci.", - "repeater_cliHelpGps": "Wyświetla status GPS. Jeśli GPS jest wyłączony, odpowiada tylko \"off\", jeśli jest włączony, odpowiada z \"on\", \"status\", \"fix\", liczbą satelitów.", - "repeater_cliHelpGpsOnOff": "Włącza/wyłącza nawigację GPS.", - "repeater_cliHelpGpsSync": "Synchronizuje czas węzła z zegarem GPS.", - "repeater_cliHelpGpsSetLoc": "Ustawia pozycję węzła na współrzędne GPS i zapisuje preferencje.", - "repeater_cliHelpGpsAdvert": "Udostępnia konfigurację reklamy lokalizacji węzła:\n- brak: nie uwzględniaj lokalizacji w reklamach\n- udostępnia: udostępnia lokalizację GPS (z SensorManager)\n- ustawienia: reklamuj lokalizację przechowywaną w ustawieniach", - "repeater_cliHelpGpsAdvertSet": "Ustawia konfigurację reklamy w lokalizacji.", - "repeater_commandsListTitle": "Lista poleceń", - "repeater_commandsListNote": "ZAPAMIĘTAJ: dla różnych poleceń \"set ...\" istnieje również polecenie \"get ...\".", - "repeater_general": "Ogólne", + "repeater_cliHelpRegionSave": "Zapisuje listÄ™/mapÄ™ regionów do pamiÄ™ci.", + "repeater_cliHelpGps": "WyÅ›wietla status GPS. JeÅ›li GPS jest wyłączony, odpowiada tylko \"off\", jeÅ›li jest włączony, odpowiada z \"on\", \"status\", \"fix\", liczbÄ… satelitów.", + "repeater_cliHelpGpsOnOff": "Włącza/wyłącza nawigacjÄ™ GPS.", + "repeater_cliHelpGpsSync": "Synchronizuje czas wÄ™zÅ‚a z zegarem GPS.", + "repeater_cliHelpGpsSetLoc": "Ustawia pozycjÄ™ wÄ™zÅ‚a na współrzÄ™dne GPS i zapisuje preferencje.", + "repeater_cliHelpGpsAdvert": "UdostÄ™pnia konfiguracjÄ™ reklamy lokalizacji wÄ™zÅ‚a:\n- brak: nie uwzglÄ™dniaj lokalizacji w reklamach\n- udostÄ™pnia: udostÄ™pnia lokalizacjÄ™ GPS (z SensorManager)\n- ustawienia: reklamuj lokalizacjÄ™ przechowywanÄ… w ustawieniach", + "repeater_cliHelpGpsAdvertSet": "Ustawia konfiguracjÄ™ reklamy w lokalizacji.", + "repeater_commandsListTitle": "Lista poleceÅ„", + "repeater_commandsListNote": "ZAPAMIĘTAJ: dla różnych poleceÅ„ \"set ...\" istnieje również polecenie \"get ...\".", + "repeater_general": "Ogólne", "repeater_settingsCategory": "Ustawienia", "repeater_bridge": "Most", "repeater_logging": "Rejestrowanie", - "repeater_neighborsRepeaterOnly": "Sąsiedzi (tylko powtarzacz)", - "repeater_regionManagementRepeaterOnly": "Zarządzanie Regionem (tylko Powtarzacz)", - "repeater_regionNote": "Wprowadzono komendy regionalne w celu zarządzania definicjami i uprawnieniami regionów.", - "repeater_gpsManagement": "Zarządzanie GPS", - "repeater_gpsNote": "Polecenie GPS zostało wprowadzone w celu zarządzania tematami związanymi z lokalizacją.", + "repeater_neighborsRepeaterOnly": "SÄ…siedzi (tylko powtarzacz)", + "repeater_regionManagementRepeaterOnly": "ZarzÄ…dzanie Regionem (tylko Powtarzacz)", + "repeater_regionNote": "Wprowadzono komendy regionalne w celu zarzÄ…dzania definicjami i uprawnieniami regionów.", + "repeater_gpsManagement": "ZarzÄ…dzanie GPS", + "repeater_gpsNote": "Polecenie GPS zostaÅ‚o wprowadzone w celu zarzÄ…dzania tematami zwiÄ…zanymi z lokalizacjÄ….", "telemetry_receivedData": "Otrzymano Dane Telemetrii", - "telemetry_requestTimeout": "Życzenie o danych telemetrycznych nie udało się.", - "telemetry_errorLoading": "Błąd podczas ładowania telemetry: {error}", + "telemetry_requestTimeout": "Å»yczenie o danych telemetrycznych nie udaÅ‚o siÄ™.", + "telemetry_errorLoading": "Błąd podczas Å‚adowania telemetry: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1191,8 +1191,8 @@ } } }, - "telemetry_noData": "Brak dostępnych danych telemetrycznych.", - "telemetry_channelTitle": "Kanał {channel}", + "telemetry_noData": "Brak dostÄ™pnych danych telemetrycznych.", + "telemetry_channelTitle": "KanaÅ‚ {channel}", "@telemetry_channelTitle": { "placeholders": { "channel": { @@ -1201,7 +1201,7 @@ } }, "telemetry_batteryLabel": "Bateria", - "telemetry_voltageLabel": "Napięcie", + "telemetry_voltageLabel": "NapiÄ™cie", "telemetry_mcuTemperatureLabel": "Temperatura MCU", "telemetry_temperatureLabel": "Temperatura", "telemetry_currentLabel": "Obecny", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1243,18 +1243,18 @@ } } }, - "channelPath_title": "Ścieżka pakietu", - "channelPath_viewMap": "Wyświetl mapę", - "channelPath_otherObservedPaths": "Inne Zauważone Ścieżki", - "channelPath_repeaterHops": "Skoki Powtórki", - "channelPath_noHopDetails": "Szczegóły dotyczące tego pakietu nie zostały podane.", - "channelPath_messageDetails": "Szczegóły wiadomości", + "channelPath_title": "Åšcieżka pakietu", + "channelPath_viewMap": "WyÅ›wietl mapÄ™", + "channelPath_otherObservedPaths": "Inne Zauważone Åšcieżki", + "channelPath_repeaterHops": "Skoki Powtórki", + "channelPath_noHopDetails": "Szczegóły dotyczÄ…ce tego pakietu nie zostaÅ‚y podane.", + "channelPath_messageDetails": "Szczegóły wiadomoÅ›ci", "channelPath_senderLabel": "Nadawca", "channelPath_timeLabel": "Czas", - "channelPath_repeatsLabel": "Powtórzenia", - "channelPath_pathLabel": "Ścieżka {index}", + "channelPath_repeatsLabel": "Powtórzenia", + "channelPath_pathLabel": "Åšcieżka {index}", "channelPath_observedLabel": "Obserwowane", - "channelPath_observedPathTitle": "Obserwowany ścieżka {index} • {hops}", + "channelPath_observedPathTitle": "Obserwowany Å›cieżka {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1290,8 +1290,8 @@ }, "channelPath_unknownPath": "Nieznane", "channelPath_floodPath": "Powodzenie", - "channelPath_directPath": "Bezpośrednio", - "channelPath_observedZeroOf": "0 z {total} skoków", + "channelPath_directPath": "BezpoÅ›rednio", + "channelPath_observedZeroOf": "0 z {total} skoków", "@channelPath_observedZeroOf": { "placeholders": { "total": { @@ -1299,7 +1299,7 @@ } } }, - "channelPath_observedSomeOf": "{observed} z {total} skoków", + "channelPath_observedSomeOf": "{observed} z {total} skoków", "@channelPath_observedSomeOf": { "placeholders": { "observed": { @@ -1310,9 +1310,9 @@ } } }, - "channelPath_mapTitle": "Mapa ścieżek", - "channelPath_noRepeaterLocations": "Brak dostępnych lokalizacji powtarzaczy dla tego ścieżki.", - "channelPath_primaryPath": "Ścieżka {index} (Główna)", + "channelPath_mapTitle": "Mapa Å›cieżek", + "channelPath_noRepeaterLocations": "Brak dostÄ™pnych lokalizacji powtarzaczy dla tego Å›cieżki.", + "channelPath_primaryPath": "Åšcieżka {index} (Główna)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1327,9 +1327,9 @@ } } }, - "channelPath_pathLabelTitle": "Ścieżka", - "channelPath_observedPathHeader": "Obserwowana ścieżka", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_pathLabelTitle": "Åšcieżka", + "channelPath_observedPathHeader": "Obserwowana Å›cieżka", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,16 +1340,16 @@ } } }, - "channelPath_noHopDetailsAvailable": "Brak dostępnych szczegółów hopa dla tego pakietu.", + "channelPath_noHopDetailsAvailable": "Brak dostÄ™pnych szczegółów hopa dla tego pakietu.", "channelPath_unknownRepeater": "Nieznany Powtarzacz", "listFilter_tooltip": "Filtruj i sortuj", "listFilter_sortBy": "Sortuj po", - "listFilter_latestMessages": "Najnowsze wiadomości", - "listFilter_heardRecently": "Słyszano niedawno", + "listFilter_latestMessages": "Najnowsze wiadomoÅ›ci", + "listFilter_heardRecently": "SÅ‚yszano niedawno", "listFilter_az": "A-Z", "listFilter_filters": "Filtry", "listFilter_all": "Wszystko", - "listFilter_users": "Użytkownicy", + "listFilter_users": "Użytkownicy", "listFilter_repeaters": "Powtarzacze", "listFilter_roomServers": "Serwery pokoju", "listFilter_unreadOnly": "Tylko nieprzeczytane", @@ -1361,25 +1361,25 @@ } } }, - "repeater_neighbors": "Sąsiedzi", - "repeater_neighborsSubtitle": "Wyświetl sąsiedztwo zerowych hopów.", - "neighbors_receivedData": "Otrzymano dane sąsiedztwa", - "neighbors_requestTimedOut": "Sąsiedzi proszą o wyłączenie timingu.", - "neighbors_errorLoading": "Błąd podczas ładowania sąsiadów: {error}", - "neighbors_repeatersNeighbors": "Powtarzacze Sąsiedzi", - "neighbors_noData": "Brak danych dotyczących sąsiadów.", - "channels_joinPrivateChannelDesc": "Ręcznie wprowadź klucz tajny.", - "channels_createPrivateChannel": "Utwórz Prywatny Kanał", + "repeater_neighbors": "SÄ…siedzi", + "repeater_neighborsSubtitle": "WyÅ›wietl sÄ…siedztwo zerowych hopów.", + "neighbors_receivedData": "Otrzymano dane sÄ…siedztwa", + "neighbors_requestTimedOut": "SÄ…siedzi proszÄ… o wyłączenie timingu.", + "neighbors_errorLoading": "Błąd podczas Å‚adowania sÄ…siadów: {error}", + "neighbors_repeatersNeighbors": "Powtarzacze SÄ…siedzi", + "neighbors_noData": "Brak danych dotyczÄ…cych sÄ…siadów.", + "channels_joinPrivateChannelDesc": "RÄ™cznie wprowadź klucz tajny.", + "channels_createPrivateChannel": "Utwórz Prywatny KanaÅ‚", "channels_createPrivateChannelDesc": "Zabezpieczone kluczem szyfrowym.", - "channels_joinPrivateChannel": "Dołącz do Prywatnego Kanału", - "channels_joinPublicChannel": "Dołącz do kanału publicznego.", - "channels_joinPublicChannelDesc": "Każdy może dołączyć do tego kanału.", - "channels_joinHashtagChannel": "Dołącz do kanału oznaczanego hashtagiem", - "channels_joinHashtagChannelDesc": "Każdy może dołączyć do kanałów z hashtagami.", + "channels_joinPrivateChannel": "Dołącz do Prywatnego KanaÅ‚u", + "channels_joinPublicChannel": "Dołącz do kanaÅ‚u publicznego.", + "channels_joinPublicChannelDesc": "Każdy może dołączyć do tego kanaÅ‚u.", + "channels_joinHashtagChannel": "Dołącz do kanaÅ‚u oznaczanego hashtagiem", + "channels_joinHashtagChannelDesc": "Każdy może dołączyć do kanałów z hashtagami.", "channels_scanQrCode": "Skanuj kod QR", - "channels_scanQrCodeComingSoon": "Wkrótce", - "channels_enterHashtag": "Wprowadź hashtag", - "channels_hashtagHint": "np. #zespół", + "channels_scanQrCodeComingSoon": "Wkrótce", + "channels_enterHashtag": "Wprowadź hashtag", + "channels_hashtagHint": "np. #zespół", "@neighbors_unknownContact": { "placeholders": { "pubkey": { @@ -1394,14 +1394,14 @@ } } }, - "neighbors_heardAgo": "Usłyszano: {time} temu", + "neighbors_heardAgo": "UsÅ‚yszano: {time} temu", "neighbors_unknownContact": "Nieznana {pubkey}", - "settings_locationGPSEnable": "Włącz GPS", - "settings_locationGPSEnableSubtitle": "Włącza automatyczne aktualizowanie pozycji za pomocą GPS.", - "settings_locationIntervalSec": "Interwał dla GPS (Sekundy)", - "settings_locationIntervalInvalid": "Interwał musi wynosić co najmniej 60 sekund i mniej niż 86400 sekund.", - "contacts_manageRoom": "Zarządzaj Serwerem Pokoju", - "room_management": "Zarządzanie Serwerem Pokoju", + "settings_locationGPSEnable": "Włącz GPS", + "settings_locationGPSEnableSubtitle": "Włącza automatyczne aktualizowanie pozycji za pomocÄ… GPS.", + "settings_locationIntervalSec": "InterwaÅ‚ dla GPS (Sekundy)", + "settings_locationIntervalInvalid": "InterwaÅ‚ musi wynosić co najmniej 60 sekund i mniej niż 86400 sekund.", + "contacts_manageRoom": "ZarzÄ…dzaj Serwerem Pokoju", + "room_management": "ZarzÄ…dzanie Serwerem Pokoju", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1458,36 +1458,36 @@ } } }, - "community_createDesc": "Utwórz nową społeczność i udostępnij za pomocą kodu QR.", - "community_title": "Społeczność", - "community_create": "Utwórz Społeczność", + "community_createDesc": "Utwórz nowÄ… spoÅ‚eczność i udostÄ™pnij za pomocÄ… kodu QR.", + "community_title": "SpoÅ‚eczność", + "community_create": "Utwórz SpoÅ‚eczność", "common_ok": "OK", - "community_join": "Dołącz", - "community_joinTitle": "Dołącz do społeczności", - "community_joinConfirmation": "Czy chcesz dołączyć do społeczności \"{name}\"?", - "community_scanQr": "Skanuj QR kod społeczności", - "community_scanInstructions": "Skieruj kamerę w kierunku kodu QR społeczności.", - "community_showQr": "Pokaż kod QR", - "community_publicChannel": "Społeczność Publiczna", - "community_hashtagChannel": "Hashtag Społeczności", - "community_name": "Nazwa Społeczności", - "community_enterName": "Wprowadź nazwę społeczności", - "community_created": "Społeczność \"{name}\" została utworzona", - "community_joined": "Dołączył do społeczności \"{name}\"", - "community_qrTitle": "Dziel się Społecznością", - "community_qrInstructions": "Skanuj ten kod QR, aby dołączyć {name}", - "community_hashtagPrivacyHint": "Kanały hashtagowe społeczności są dostępne tylko dla członków społeczności", - "community_invalidQrCode": "Nieprawidłowy kod QR społeczności.", - "community_alreadyMember": "Już jesteś członkiem.", - "community_alreadyMemberMessage": "Jesteś już członkiem \"{name}\".", - "community_addPublicChannel": "Dodaj Kanał Publiczny Społeczności", - "community_addPublicChannelHint": "Automatycznie dodaj kanał publiczny dla tej społeczności.", - "community_noCommunities": "Nie dołączono jeszcze żadnych społeczności.", - "community_scanOrCreate": "Skanuj kod QR lub utwórz społeczność, aby zacząć.", - "community_manageCommunities": "Zarządzaj Grupami", - "community_delete": "Opuszczenie Społeczności", - "community_deleteConfirm": "Opuścić \"{name}\"?", - "community_deleteChannelsWarning": "Spowoduje to również usunięcie {count} kanału/kanałów i ich wiadomości.", + "community_join": "Dołącz", + "community_joinTitle": "Dołącz do spoÅ‚ecznoÅ›ci", + "community_joinConfirmation": "Czy chcesz dołączyć do spoÅ‚ecznoÅ›ci \"{name}\"?", + "community_scanQr": "Skanuj QR kod spoÅ‚ecznoÅ›ci", + "community_scanInstructions": "Skieruj kamerÄ™ w kierunku kodu QR spoÅ‚ecznoÅ›ci.", + "community_showQr": "Pokaż kod QR", + "community_publicChannel": "SpoÅ‚eczność Publiczna", + "community_hashtagChannel": "Hashtag SpoÅ‚ecznoÅ›ci", + "community_name": "Nazwa SpoÅ‚ecznoÅ›ci", + "community_enterName": "Wprowadź nazwÄ™ spoÅ‚ecznoÅ›ci", + "community_created": "SpoÅ‚eczność \"{name}\" zostaÅ‚a utworzona", + "community_joined": "DołączyÅ‚ do spoÅ‚ecznoÅ›ci \"{name}\"", + "community_qrTitle": "Dziel siÄ™ SpoÅ‚ecznoÅ›ciÄ…", + "community_qrInstructions": "Skanuj ten kod QR, aby dołączyć {name}", + "community_hashtagPrivacyHint": "KanaÅ‚y hashtagowe spoÅ‚ecznoÅ›ci sÄ… dostÄ™pne tylko dla czÅ‚onków spoÅ‚ecznoÅ›ci", + "community_invalidQrCode": "NieprawidÅ‚owy kod QR spoÅ‚ecznoÅ›ci.", + "community_alreadyMember": "Już jesteÅ› czÅ‚onkiem.", + "community_alreadyMemberMessage": "JesteÅ› już czÅ‚onkiem \"{name}\".", + "community_addPublicChannel": "Dodaj KanaÅ‚ Publiczny SpoÅ‚ecznoÅ›ci", + "community_addPublicChannelHint": "Automatycznie dodaj kanaÅ‚ publiczny dla tej spoÅ‚ecznoÅ›ci.", + "community_noCommunities": "Nie dołączono jeszcze żadnych spoÅ‚ecznoÅ›ci.", + "community_scanOrCreate": "Skanuj kod QR lub utwórz spoÅ‚eczność, aby zacząć.", + "community_manageCommunities": "ZarzÄ…dzaj Grupami", + "community_delete": "Opuszczenie SpoÅ‚ecznoÅ›ci", + "community_deleteConfirm": "OpuÅ›cić \"{name}\"?", + "community_deleteChannelsWarning": "Spowoduje to również usuniÄ™cie {count} kanaÅ‚u/kanałów i ich wiadomoÅ›ci.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,14 +1495,14 @@ } } }, - "community_deleted": "Opuszczono społeczność \"{name}\"", - "community_addHashtagChannel": "Dodaj hashtag społeczności", - "community_addHashtagChannelDesc": "Dodaj kanał z hashtagiem dla tej społeczności", - "community_selectCommunity": "Wybierz społeczność", + "community_deleted": "Opuszczono spoÅ‚eczność \"{name}\"", + "community_addHashtagChannel": "Dodaj hashtag spoÅ‚ecznoÅ›ci", + "community_addHashtagChannelDesc": "Dodaj kanaÅ‚ z hashtagiem dla tej spoÅ‚ecznoÅ›ci", + "community_selectCommunity": "Wybierz spoÅ‚eczność", "community_regularHashtag": "Hashtag regular", - "community_regularHashtagDesc": "Publiczny hashtag (każdy może dołączyć)", - "community_communityHashtag": "Hashtag Społeczności", - "community_communityHashtagDesc": "Dostępne tylko dla członków społeczności", + "community_regularHashtagDesc": "Publiczny hashtag (każdy może dołączyć)", + "community_communityHashtag": "Hashtag SpoÅ‚ecznoÅ›ci", + "community_communityHashtagDesc": "DostÄ™pne tylko dla czÅ‚onków spoÅ‚ecznoÅ›ci", "community_forCommunity": "Dla {name}", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1533,11 +1533,11 @@ } }, "community_regenerate": "Zregeneruj", - "community_secretRegenerated": "Hasło ponownie wygenerowane dla \"{name}\"", + "community_secretRegenerated": "HasÅ‚o ponownie wygenerowane dla \"{name}\"", "community_regenerateSecret": "Zregeneruj sekret", - "community_regenerateSecretConfirm": "Regeneruj tajny klucz dla \"{name}\"? Wszyscy członkowie będą musieli zeskanować nowy kod QR, aby kontynuować komunikację.", - "community_scanToUpdateSecret": "Skanuj nowy kod QR, aby zaktualizować sekret dla \"{name}\"", - "community_secretUpdated": "Hasło zaktualizowane dla \"{name}\"", + "community_regenerateSecretConfirm": "Regeneruj tajny klucz dla \"{name}\"? Wszyscy czÅ‚onkowie bÄ™dÄ… musieli zeskanować nowy kod QR, aby kontynuować komunikacjÄ™.", + "community_scanToUpdateSecret": "Skanuj nowy kod QR, aby zaktualizować sekret dla \"{name}\"", + "community_secretUpdated": "HasÅ‚o zaktualizowane dla \"{name}\"", "community_updateSecret": "Zaktualizuj tajny klucz", "@contacts_pathTraceTo": { "placeholders": { @@ -1547,81 +1547,81 @@ } }, "pathTrace_you": "Ty", - "pathTrace_failed": "Śledzenie ścieżki nie powiodło się.", - "pathTrace_notAvailable": "Ścieżka śledzenia niedostępna.", - "contacts_pathTrace": "Śledzenie Ścieżek", - "contacts_ping": "Pingować", - "contacts_repeaterPathTrace": "Śledzenie ścieżki do repeatera", - "contacts_roomPathTrace": "Śledzenie ścieżki do serwera pokojowego", + "pathTrace_failed": "Åšledzenie Å›cieżki nie powiodÅ‚o siÄ™.", + "pathTrace_notAvailable": "Åšcieżka Å›ledzenia niedostÄ™pna.", + "contacts_pathTrace": "Åšledzenie Åšcieżek", + "contacts_ping": "Pingować", + "contacts_repeaterPathTrace": "Åšledzenie Å›cieżki do repeatera", + "contacts_roomPathTrace": "Åšledzenie Å›cieżki do serwera pokojowego", "contacts_roomPing": "Pinguj serwer pokoju", - "pathTrace_refreshTooltip": "Odśwież ścieżkę.", + "pathTrace_refreshTooltip": "OdÅ›wież Å›cieżkÄ™.", "contacts_repeaterPing": "Repeater pingowy", - "contacts_pathTraceTo": "Śledź trasę do {name}", - "contacts_chatTraceRoute": "Śledź trasę promienia", + "contacts_pathTraceTo": "Åšledź trasÄ™ do {name}", + "contacts_chatTraceRoute": "Åšledź trasÄ™ promienia", "appSettings_languageRu": "Rosyjski", - "appSettings_languageUk": "Ukraińska", - "appSettings_enableMessageTracing": "Włącz śledzenie wiadomości", - "appSettings_enableMessageTracingSubtitle": "Pokaż szczegółowe metadane trasowania i czasu dla wiadomości", - "contacts_contactImportFailed": "Kontakt nie został zaimportowany.", + "appSettings_languageUk": "UkraiÅ„ska", + "appSettings_enableMessageTracing": "Włącz Å›ledzenie wiadomoÅ›ci", + "appSettings_enableMessageTracingSubtitle": "Pokaż szczegółowe metadane trasowania i czasu dla wiadomoÅ›ci", + "contacts_contactImportFailed": "Kontakt nie zostaÅ‚ zaimportowany.", "contacts_zeroHopAdvert": "Reklama Zero Hop", "contacts_floodAdvert": "Reklama powodziowa", - "contacts_copyAdvertToClipboard": "Kopiuj ogłoszenie do schowka", + "contacts_copyAdvertToClipboard": "Kopiuj ogÅ‚oszenie do schowka", "contacts_clipboardEmpty": "Schowek jest pusty.", - "contacts_invalidAdvertFormat": "Nieprawidłowe dane kontaktowe", + "contacts_invalidAdvertFormat": "NieprawidÅ‚owe dane kontaktowe", "contacts_addContactFromClipboard": "Dodaj kontakt z schowka", - "contacts_contactImported": "Kontakt został zaimportowany.", - "contacts_zeroHopContactAdvertSent": "Wysłano kontakt przez ogłoszenie.", + "contacts_contactImported": "Kontakt zostaÅ‚ zaimportowany.", + "contacts_zeroHopContactAdvertSent": "WysÅ‚ano kontakt przez ogÅ‚oszenie.", "contacts_contactAdvertCopied": "Reklama skopiowana do schowka.", - "contacts_contactAdvertCopyFailed": "Kopiowanie ogłoszenia do schowka nie powiodło się.", - "contacts_ShareContactZeroHop": "Udostępnij kontakt przez ogłoszenie", + "contacts_contactAdvertCopyFailed": "Kopiowanie ogÅ‚oszenia do schowka nie powiodÅ‚o siÄ™.", + "contacts_ShareContactZeroHop": "UdostÄ™pnij kontakt przez ogÅ‚oszenie", "contacts_ShareContact": "Kopiuj kontakt do schowka", - "contacts_zeroHopContactAdvertFailed": "Nie udało się wysłać kontaktu.", - "notification_activityTitle": "Aktywność MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{wiadomość} few{wiadomości} many{wiadomości} other{wiadomości}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{wiadomość kanału} few{wiadomości kanału} many{wiadomości kanału} other{wiadomości kanału}}", - "notification_newNodesCount": "{count} {count, plural, =1{nowy węzeł} few{nowe węzły} many{nowych węzłów} other{nowych węzłów}}", + "contacts_zeroHopContactAdvertFailed": "Nie udaÅ‚o siÄ™ wysÅ‚ać kontaktu.", + "notification_activityTitle": "Aktywność MeshCore", + "notification_messagesCount": "{count} {count, plural, =1{wiadomość} few{wiadomoÅ›ci} many{wiadomoÅ›ci} other{wiadomoÅ›ci}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{wiadomość kanaÅ‚u} few{wiadomoÅ›ci kanaÅ‚u} many{wiadomoÅ›ci kanaÅ‚u} other{wiadomoÅ›ci kanaÅ‚u}}", + "notification_newNodesCount": "{count} {count, plural, =1{nowy wÄ™zeÅ‚} few{nowe wÄ™zÅ‚y} many{nowych wÄ™złów} other{nowych wÄ™złów}}", "notification_newTypeDiscovered": "Nowy {contactType} wykryty", - "notification_receivedNewMessage": "Otrzymano nową wiadomość", + "notification_receivedNewMessage": "Otrzymano nowÄ… wiadomość", "settings_gpxExportContacts": "Eksportuj towarzyszy do GPX", - "settings_gpxExportRepeaters": "Eksportuj powtórki / serwer pokojowy do GPX", - "settings_gpxExportRepeatersSubtitle": "Eksportuje powtarzacze / roomserver z lokalizacją do pliku GPX.", - "settings_gpxExportSuccess": "Pomyślnie wyeksportowano plik GPX.", - "settings_gpxExportNotAvailable": "Nie obsługiwane na Twoim urządzeniu/systemie operacyjnym", - "settings_gpxExportError": "Wystąpił błąd podczas eksportowania.", - "settings_gpxExportRepeatersRoom": "Lokalizacje serwerów powtarzających i pomieszczeń", - "settings_gpxExportContactsSubtitle": "Eksportuje towarzyszy z lokalizacją do pliku GPX.", + "settings_gpxExportRepeaters": "Eksportuj powtórki / serwer pokojowy do GPX", + "settings_gpxExportRepeatersSubtitle": "Eksportuje powtarzacze / roomserver z lokalizacjÄ… do pliku GPX.", + "settings_gpxExportSuccess": "PomyÅ›lnie wyeksportowano plik GPX.", + "settings_gpxExportNotAvailable": "Nie obsÅ‚ugiwane na Twoim urzÄ…dzeniu/systemie operacyjnym", + "settings_gpxExportError": "WystÄ…piÅ‚ błąd podczas eksportowania.", + "settings_gpxExportRepeatersRoom": "Lokalizacje serwerów powtarzajÄ…cych i pomieszczeÅ„", + "settings_gpxExportContactsSubtitle": "Eksportuje towarzyszy z lokalizacjÄ… do pliku GPX.", "settings_gpxExportAll": "Eksportuj wszystkie kontakty do GPX", - "settings_gpxExportAllSubtitle": "Eksportuje wszystkie kontakty z lokalizacją do pliku GPX.", - "settings_gpxExportAllContacts": "Wszystkie lokalizacje kontaktów", - "settings_gpxExportNoContacts": "Brak kontaktów do wyeksportowania.", + "settings_gpxExportAllSubtitle": "Eksportuje wszystkie kontakty z lokalizacjÄ… do pliku GPX.", + "settings_gpxExportAllContacts": "Wszystkie lokalizacje kontaktów", + "settings_gpxExportNoContacts": "Brak kontaktów do wyeksportowania.", "settings_gpxExportChat": "Lokalizacje towarzyszy", "settings_gpxExportShareText": "Dane mapy wyeksportowane z meshcore-open", "settings_gpxExportShareSubject": "Eksport danych mapy GPX meshcore-open", - "pathTrace_someHopsNoLocation": "Jeden lub więcej z chmieli nie ma określonej lokalizacji!", - "map_pathTraceCancelled": "Śledzenie ścieżki anulowano.", - "map_runTrace": "Uruchom ślad ścieżki", - "pathTrace_clearTooltip": "Wyczyść ścieżkę", - "map_removeLast": "Usuń ostatni", - "map_tapToAdd": "Kliknij na węzły, aby dodać je do ścieżki.", - "scanner_bluetoothOffMessage": "Prosimy włączyć Bluetooth, aby przeskanować urządzenia.", - "scanner_chromeRequired": "Wymagana przeglądarka Chrome", - "scanner_chromeRequiredMessage": "Ta aplikacja internetowa wymaga przeglądarki Google Chrome lub opartej na Chromium do obsługi Bluetooth.", - "scanner_bluetoothOff": "Bluetooth jest wyłączony", - "scanner_enableBluetooth": "Włącz Bluetooth", + "pathTrace_someHopsNoLocation": "Jeden lub wiÄ™cej z chmieli nie ma okreÅ›lonej lokalizacji!", + "map_pathTraceCancelled": "Åšledzenie Å›cieżki anulowano.", + "map_runTrace": "Uruchom Å›lad Å›cieżki", + "pathTrace_clearTooltip": "Wyczyść Å›cieżkÄ™", + "map_removeLast": "UsuÅ„ ostatni", + "map_tapToAdd": "Kliknij na wÄ™zÅ‚y, aby dodać je do Å›cieżki.", + "scanner_bluetoothOffMessage": "Prosimy włączyć Bluetooth, aby przeskanować urzÄ…dzenia.", + "scanner_chromeRequired": "Wymagana przeglÄ…darka Chrome", + "scanner_chromeRequiredMessage": "Ta aplikacja internetowa wymaga przeglÄ…darki Google Chrome lub opartej na Chromium do obsÅ‚ugi Bluetooth.", + "scanner_bluetoothOff": "Bluetooth jest wyłączony", + "scanner_enableBluetooth": "Włącz Bluetooth", "snrIndicator_lastSeen": "Ostatnio widziany", - "snrIndicator_nearByRepeaters": "Nadajniki w pobliżu", - "chat_ShowAllPaths": "Pokaż wszystkie ścieżki", - "settings_clientRepeatSubtitle": "Pozwól temu urządzeniu powtarzać pakiety danych dla innych urządzeń.", - "settings_clientRepeat": "Powtórzenie: Niezależne od sieci", - "settings_clientRepeatFreqWarning": "Powtórka poza siecią wymaga częstotliwości 433, 869 lub 918 MHz.", - "settings_aboutOpenMeteoAttribution": "Dane wysokościowe LOS: Open-Meteo (CC BY 4.0)", + "snrIndicator_nearByRepeaters": "Nadajniki w pobliżu", + "chat_ShowAllPaths": "Pokaż wszystkie Å›cieżki", + "settings_clientRepeatSubtitle": "Pozwól temu urzÄ…dzeniu powtarzać pakiety danych dla innych urzÄ…dzeÅ„.", + "settings_clientRepeat": "Powtórzenie: Niezależne od sieci", + "settings_clientRepeatFreqWarning": "Powtórka poza sieciÄ… wymaga czÄ™stotliwoÅ›ci 433, 869 lub 918 MHz.", + "settings_aboutOpenMeteoAttribution": "Dane wysokoÅ›ciowe LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Jednostki", "appSettings_unitsMetric": "Metryczne (m / km)", "appSettings_unitsImperial": "Imperialne (ft / mi)", "map_lineOfSight": "Linia wzroku", "map_losScreenTitle": "Linia wzroku", - "losSelectStartEnd": "Wybierz węzły początkowe i końcowe dla LOS.", - "losRunFailed": "Sprawdzenie pola widzenia nie powiodło się: {error}", + "losSelectStartEnd": "Wybierz wÄ™zÅ‚y poczÄ…tkowe i koÅ„cowe dla LOS.", + "losRunFailed": "Sprawdzenie pola widzenia nie powiodÅ‚o siÄ™: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1629,11 +1629,11 @@ } } }, - "losClearAllPoints": "Wyczyść wszystkie punkty", - "losRunToViewElevationProfile": "Uruchom LOS, aby wyświetlić profil wysokości", + "losClearAllPoints": "Wyczyść wszystkie punkty", + "losRunToViewElevationProfile": "Uruchom LOS, aby wyÅ›wietlić profil wysokoÅ›ci", "losMenuTitle": "Menu LOS", - "losMenuSubtitle": "Stuknij węzły lub naciśnij i przytrzymaj mapę, aby uzyskać niestandardowe punkty", - "losShowDisplayNodes": "Pokaż węzły wyświetlające", + "losMenuSubtitle": "Stuknij wÄ™zÅ‚y lub naciÅ›nij i przytrzymaj mapÄ™, aby uzyskać niestandardowe punkty", + "losShowDisplayNodes": "Pokaż wÄ™zÅ‚y wyÅ›wietlajÄ…ce", "losCustomPoints": "Punkty niestandardowe", "losCustomPointLabel": "Niestandardowe {index}", "@losCustomPointLabel": { @@ -1668,8 +1668,8 @@ } }, "losRun": "Uruchom LOS-a", - "losNoElevationData": "Brak danych o wysokości", - "losProfileClear": "{distance} {distanceUnit}, czysty LOS, minimalny prześwit {clearance} {heightUnit}", + "losNoElevationData": "Brak danych o wysokoÅ›ci", + "losProfileClear": "{distance} {distanceUnit}, czysty LOS, minimalny przeÅ›wit {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Dane dotyczące wysokości są niedostępne dla jednej lub większej liczby próbek.", - "losErrorInvalidInput": "Nieprawidłowe dane punktów/wysokości do obliczenia LOS.", - "losRenameCustomPoint": "Zmień nazwę punktu niestandardowego", + "losErrorElevationUnavailable": "Dane dotyczÄ…ce wysokoÅ›ci sÄ… niedostÄ™pne dla jednej lub wiÄ™kszej liczby próbek.", + "losErrorInvalidInput": "NieprawidÅ‚owe dane punktów/wysokoÅ›ci do obliczenia LOS.", + "losRenameCustomPoint": "ZmieÅ„ nazwÄ™ punktu niestandardowego", "losPointName": "Nazwa punktu", - "losShowPanelTooltip": "Pokaż panel LOS", + "losShowPanelTooltip": "Pokaż panel LOS", "losHidePanelTooltip": "Ukryj panel LOS", - "losElevationAttribution": "Dane dotyczące wysokości: Open-Meteo (CC BY 4.0)", + "losElevationAttribution": "Dane dotyczÄ…ce wysokoÅ›ci: Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Horyzont radiowy", - "losLegendLosBeam": "Linia widoczności", + "losLegendLosBeam": "Linia widocznoÅ›ci", "losLegendTerrain": "Teren", - "losFrequencyLabel": "Częstotliwość", - "losFrequencyInfoTooltip": "Zobacz szczegóły obliczenia", + "losFrequencyLabel": "CzÄ™stotliwość", + "losFrequencyInfoTooltip": "Zobacz szczegóły obliczenia", "losFrequencyDialogTitle": "Obliczanie horyzontu radiowego", - "losFrequencyDialogDescription": "Zaczynając od k={baselineK} przy {baselineFreq} MHz, obliczenia korygują współczynnik k dla bieżącego pasma {frequencyMHz} MHz, które definiuje zakrzywiony limit horyzontu radiowego.", + "losFrequencyDialogDescription": "ZaczynajÄ…c od k={baselineK} przy {baselineFreq} MHz, obliczenia korygujÄ… współczynnik k dla bieżącego pasma {frequencyMHz} MHz, które definiuje zakrzywiony limit horyzontu radiowego.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,7 +1753,7 @@ } } }, - "listFilter_removeFromFavorites": "Usuń z ulubionych", + "listFilter_removeFromFavorites": "UsuÅ„ z ulubionych", "listFilter_addToFavorites": "Dodaj do ulubionych", "listFilter_favorites": "Ulubione", "@contacts_searchFavorites": { @@ -1799,16 +1799,14 @@ "contacts_unread": "Nieprzeczytane", "contacts_searchContactsNoNumber": "Wyszukaj kontakty...", "contacts_searchFavorites": "Wyszukaj {number}{str} ulubione...", - "contacts_searchRoomServers": "Wyszukaj {number}{str} serwerów Room...", - "contacts_searchUsers": "Wyszukaj {number}{str} Użytkowników...", - "contacts_searchRepeaters": "Wyszukaj {number}{str} powtórników...", + "contacts_searchRoomServers": "Wyszukaj {number}{str} serwerów Room...", + "contacts_searchUsers": "Wyszukaj {number}{str} Użytkowników...", + "contacts_searchRepeaters": "Wyszukaj {number}{str} powtórników...", "connectionChoiceBluetoothLabel": "Bluetooth", - "connectionChoiceSubtitle": "Wybierz, w jaki sposób chcesz uzyskać dostęp do swojego urządzenia MeshCore.", - "connectionChoiceTitle": "Wybierz metodę połączenia.", "connectionChoiceUsbLabel": "USB", - "usbScreenTitle": "Połącz przez USB", - "usbScreenNote": "Port szeregowy USB jest aktywny na urządzeniach z Androidem i platformach stacjonarnych, które obsługują tę funkcję.", - "usbScreenSubtitle": "Wybierz wykryty urządzenie szeregowe i podłącz je bezpośrednio do swojego węzła MeshCore.", - "usbScreenStatus": "Wybierz urządzenie USB", - "usbScreenEmptyState": "Nie znaleziono żadnych urządzeń USB. Podłącz jedno i zaktualizuj." + "usbScreenTitle": "Połącz przez USB", + "usbScreenNote": "Port szeregowy USB jest aktywny na urzÄ…dzeniach z Androidem i platformach stacjonarnych, które obsÅ‚ugujÄ… tÄ™ funkcjÄ™.", + "usbScreenSubtitle": "Wybierz wykryty urzÄ…dzenie szeregowe i podłącz je bezpoÅ›rednio do swojego wÄ™zÅ‚a MeshCore.", + "usbScreenStatus": "Wybierz urzÄ…dzenie USB", + "usbScreenEmptyState": "Nie znaleziono żadnych urzÄ…dzeÅ„ USB. Podłącz jedno i zaktualizuj." } diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index d6d50e8..883b222 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1,4 +1,4 @@ -{ +{ "channels_channelDeleteFailed": "Falha ao excluir o canal \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { @@ -20,7 +20,7 @@ "common_close": "Fechar", "common_edit": "Editar", "common_add": "Adicionar", - "common_settings": "Configurações", + "common_settings": "Configurações", "common_disconnect": "Desconectar", "common_connected": "Conectado", "common_disconnected": "Desconectado", @@ -35,7 +35,7 @@ "common_disable": "Desativar", "common_reboot": "Reiniciar", "common_loading": "Carregando...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -56,7 +56,7 @@ "scanner_scanning": "Procurando por dispositivos...", "scanner_connecting": "Conectando...", "scanner_disconnecting": "Desconectando...", - "scanner_notConnected": "Não está conectado", + "scanner_notConnected": "Não está conectado", "scanner_connectedTo": "Conectado a {deviceName}", "@scanner_connectedTo": { "placeholders": { @@ -67,7 +67,7 @@ }, "scanner_searchingDevices": "Procurando dispositivos MeshCore...", "scanner_tapToScan": "Toque em \"Escanear\" para encontrar dispositivos MeshCore", - "scanner_connectionFailed": "Falha na conexão: {error}", + "scanner_connectionFailed": "Falha na conexão: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -79,47 +79,47 @@ "scanner_scan": "Digitalizar", "device_quickSwitch": "Mudar rapidamente", "device_meshcore": "MeshCore", - "settings_title": "Configurações", - "settings_deviceInfo": "Informações do Dispositivo", - "settings_appSettings": "Configurações do App", - "settings_appSettingsSubtitle": "Notificações, mensagens e preferências de mapa", - "settings_nodeSettings": "Configurações do Nó", - "settings_nodeName": "Nome do Nó", - "settings_nodeNameNotSet": "Não definido", - "settings_nodeNameHint": "Insira o nome do nó", + "settings_title": "Configurações", + "settings_deviceInfo": "Informações do Dispositivo", + "settings_appSettings": "Configurações do App", + "settings_appSettingsSubtitle": "Notificações, mensagens e preferências de mapa", + "settings_nodeSettings": "Configurações do Nó", + "settings_nodeName": "Nome do Nó", + "settings_nodeNameNotSet": "Não definido", + "settings_nodeNameHint": "Insira o nome do nó", "settings_nodeNameUpdated": "Nome atualizado", - "settings_radioSettings": "Configurações de Rádio", - "settings_radioSettingsSubtitle": "Frequência, potência, fator de espalhamento", - "settings_radioSettingsUpdated": "Configurações de rádio atualizadas", - "settings_location": "Localização", + "settings_radioSettings": "Configurações de Rádio", + "settings_radioSettingsSubtitle": "Frequência, potência, fator de espalhamento", + "settings_radioSettingsUpdated": "Configurações de rádio atualizadas", + "settings_location": "Localização", "settings_locationSubtitle": "Coordenadas GPS", - "settings_locationUpdated": "Localização atualizada", + "settings_locationUpdated": "Localização atualizada", "settings_locationBothRequired": "Insira a latitude e a longitude.", - "settings_locationInvalid": "Latitude ou longitude inválidos.", + "settings_locationInvalid": "Latitude ou longitude inválidos.", "settings_latitude": "Latitude", "settings_longitude": "Longitude", "settings_privacyMode": "Modo de Privacidade", - "settings_privacyModeSubtitle": "Esconder nome/localização em anúncios", - "settings_privacyModeToggle": "Ative o modo de privacidade para ocultar seu nome e localização em anúncios.", + "settings_privacyModeSubtitle": "Esconder nome/localização em anúncios", + "settings_privacyModeToggle": "Ative o modo de privacidade para ocultar seu nome e localização em anúncios.", "settings_privacyModeEnabled": "Modo de privacidade ativado", "settings_privacyModeDisabled": "Modo de privacidade desativado", - "settings_actions": "Ações", + "settings_actions": "Ações", "settings_sendAdvertisement": "Enviar Publicidade", - "settings_sendAdvertisementSubtitle": "Presença de transmissão agora", - "settings_advertisementSent": "Anúncio enviado", - "settings_syncTime": "Tempo de Sincronização", - "settings_syncTimeSubtitle": "Definir o relógio do dispositivo para o horário do telefone", + "settings_sendAdvertisementSubtitle": "Presença de transmissão agora", + "settings_advertisementSent": "Anúncio enviado", + "settings_syncTime": "Tempo de Sincronização", + "settings_syncTimeSubtitle": "Definir o relógio do dispositivo para o horário do telefone", "settings_timeSynchronized": "Sincronizado com o tempo", "settings_refreshContacts": "Atualizar Contatos", "settings_refreshContactsSubtitle": "Recarregar a lista de contatos do dispositivo", "settings_rebootDevice": "Reiniciar Dispositivo", "settings_rebootDeviceSubtitle": "Reiniciar o dispositivo MeshCore", - "settings_rebootDeviceConfirm": "Tem certeza de que deseja reiniciar o dispositivo? Você será desconectado.", + "settings_rebootDeviceConfirm": "Tem certeza de que deseja reiniciar o dispositivo? Você será desconectado.", "settings_debug": "Depurar", - "settings_bleDebugLog": "Log de Depuração BLE", + "settings_bleDebugLog": "Log de Depuração BLE", "settings_bleDebugLogSubtitle": "Comandos, respostas e dados brutos do BLE", - "settings_appDebugLog": "Log de Depuração do Aplicativo", - "settings_appDebugLogSubtitle": "Mensagens de depuração do aplicativo", + "settings_appDebugLog": "Log de Depuração do Aplicativo", + "settings_appDebugLogSubtitle": "Mensagens de depuração do aplicativo", "settings_about": "Sobre", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { @@ -129,25 +129,25 @@ } } }, - "settings_aboutLegalese": "Projeto MeshCore de Código Aberto 2024", - "settings_aboutDescription": "Um cliente Flutter de código aberto para dispositivos de rede mesh LoRa Core da MeshCore.", + "settings_aboutLegalese": "Projeto MeshCore de Código Aberto 2024", + "settings_aboutDescription": "Um cliente Flutter de código aberto para dispositivos de rede mesh LoRa Core da MeshCore.", "settings_infoName": "Nome", "settings_infoId": "ID", "settings_infoStatus": "Status", "settings_infoBattery": "Bateria", - "settings_infoPublicKey": "Chave Pública", - "settings_infoContactsCount": "Número de Contatos", - "settings_infoChannelCount": "Número do Canal", + "settings_infoPublicKey": "Chave Pública", + "settings_infoContactsCount": "Número de Contatos", + "settings_infoChannelCount": "Número do Canal", "settings_presets": "Presets", - "settings_frequency": "Frequência (MHz)", + "settings_frequency": "Frequência (MHz)", "settings_frequencyHelper": "300,0 - 2500,0", - "settings_frequencyInvalid": "Frequência inválida (300-2500 MHz)", + "settings_frequencyInvalid": "Frequência inválida (300-2500 MHz)", "settings_bandwidth": "Largura de banda", - "settings_spreadingFactor": "Fator de Dispersão", - "settings_codingRate": "Taxa de Codificação", - "settings_txPower": "TX Potência (dBm)", + "settings_spreadingFactor": "Fator de Dispersão", + "settings_codingRate": "Taxa de Codificação", + "settings_txPower": "TX Potência (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Potência de TX inválida (0-22 dBm)", + "settings_txPowerInvalid": "Potência de TX inválida (0-22 dBm)", "settings_error": "Erro: {message}", "@settings_error": { "placeholders": { @@ -156,50 +156,50 @@ } } }, - "appSettings_title": "Configurações do App", - "appSettings_appearance": "Aparência", + "appSettings_title": "Configurações do App", + "appSettings_appearance": "Aparência", "appSettings_theme": "Tema", - "appSettings_themeSystem": "Padrão do sistema", + "appSettings_themeSystem": "Padrão do sistema", "appSettings_themeLight": "Luz", "appSettings_themeDark": "Escuro", "appSettings_language": "Idioma", - "appSettings_languageSystem": "Padrão do sistema", + "appSettings_languageSystem": "Padrão do sistema", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", - "appSettings_notifications": "Notificações", - "appSettings_enableNotifications": "Ativar Notificações", - "appSettings_enableNotificationsSubtitle": "Receber notificações para mensagens e anúncios", - "appSettings_notificationPermissionDenied": "Permissão de notificação negada", - "appSettings_notificationsEnabled": "Notificações ativadas", - "appSettings_notificationsDisabled": "Notificações desativadas", - "appSettings_messageNotifications": "Notificações de Mensagem", - "appSettings_messageNotificationsSubtitle": "Mostrar notificação ao receber novas mensagens", - "appSettings_channelMessageNotifications": "Notificações de Mensagens do Canal", - "appSettings_channelMessageNotificationsSubtitle": "Mostrar notificação ao receber mensagens do canal", - "appSettings_advertisementNotifications": "Notificações de Anúncios", - "appSettings_advertisementNotificationsSubtitle": "Mostrar notificação quando novos nós forem descobertos", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", + "appSettings_notifications": "Notificações", + "appSettings_enableNotifications": "Ativar Notificações", + "appSettings_enableNotificationsSubtitle": "Receber notificações para mensagens e anúncios", + "appSettings_notificationPermissionDenied": "Permissão de notificação negada", + "appSettings_notificationsEnabled": "Notificações ativadas", + "appSettings_notificationsDisabled": "Notificações desativadas", + "appSettings_messageNotifications": "Notificações de Mensagem", + "appSettings_messageNotificationsSubtitle": "Mostrar notificação ao receber novas mensagens", + "appSettings_channelMessageNotifications": "Notificações de Mensagens do Canal", + "appSettings_channelMessageNotificationsSubtitle": "Mostrar notificação ao receber mensagens do canal", + "appSettings_advertisementNotifications": "Notificações de Anúncios", + "appSettings_advertisementNotificationsSubtitle": "Mostrar notificação quando novos nós forem descobertos", "appSettings_messaging": "Mensagens", - "appSettings_clearPathOnMaxRetry": "Limpar Caminho em Tentativas Máximas", - "appSettings_clearPathOnMaxRetrySubtitle": "Redefinir o caminho de contato após 5 tentativas de envio falhas", - "appSettings_pathsWillBeCleared": "Os caminhos serão limpos após 5 tentativas falhas.", - "appSettings_pathsWillNotBeCleared": "Os caminhos não serão limpos automaticamente.", - "appSettings_autoRouteRotation": "Rotação de Rota Automática", - "appSettings_autoRouteRotationSubtitle": "Alternar entre os melhores caminhos e o modo inundação", - "appSettings_autoRouteRotationEnabled": "Rotação de roteamento automático habilitada", - "appSettings_autoRouteRotationDisabled": "Rotação de roteamento automático desativada", + "appSettings_clearPathOnMaxRetry": "Limpar Caminho em Tentativas Máximas", + "appSettings_clearPathOnMaxRetrySubtitle": "Redefinir o caminho de contato após 5 tentativas de envio falhas", + "appSettings_pathsWillBeCleared": "Os caminhos serão limpos após 5 tentativas falhas.", + "appSettings_pathsWillNotBeCleared": "Os caminhos não serão limpos automaticamente.", + "appSettings_autoRouteRotation": "Rotação de Rota Automática", + "appSettings_autoRouteRotationSubtitle": "Alternar entre os melhores caminhos e o modo inundação", + "appSettings_autoRouteRotationEnabled": "Rotação de roteamento automático habilitada", + "appSettings_autoRouteRotationDisabled": "Rotação de roteamento automático desativada", "appSettings_battery": "Bateria", - "appSettings_batteryChemistry": "Química da Bateria", + "appSettings_batteryChemistry": "Química da Bateria", "appSettings_batteryChemistryPerDevice": "Definir por dispositivo ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { @@ -212,16 +212,16 @@ "appSettings_batteryNmc": "18650 NMC (3,0-4,2V)", "appSettings_batteryLifepo4": "LiFePO4 (2,6-3,65V)", "appSettings_batteryLipo": "LiPo (3,0-4,2V)", - "appSettings_mapDisplay": "Exibição do Mapa", + "appSettings_mapDisplay": "Exibição do Mapa", "appSettings_showRepeaters": "Mostrar Repetidores", - "appSettings_showRepeatersSubtitle": "Exibir nós de repetidor no mapa", - "appSettings_showChatNodes": "Mostrar Nós de Chat", - "appSettings_showChatNodesSubtitle": "Exibir nós de chat no mapa", - "appSettings_showOtherNodes": "Mostrar Outros Nós", - "appSettings_showOtherNodesSubtitle": "Exibir outros tipos de nó no mapa", + "appSettings_showRepeatersSubtitle": "Exibir nós de repetidor no mapa", + "appSettings_showChatNodes": "Mostrar Nós de Chat", + "appSettings_showChatNodesSubtitle": "Exibir nós de chat no mapa", + "appSettings_showOtherNodes": "Mostrar Outros Nós", + "appSettings_showOtherNodesSubtitle": "Exibir outros tipos de nó no mapa", "appSettings_timeFilter": "Filtro de Tempo", - "appSettings_timeFilterShowAll": "Mostrar todos os nós", - "appSettings_timeFilterShowLast": "Mostrar nós das últimas {hours} horas", + "appSettings_timeFilterShowAll": "Mostrar todos os nós", + "appSettings_timeFilterShowLast": "Mostrar nós das últimas {hours} horas", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -230,15 +230,15 @@ } }, "appSettings_mapTimeFilter": "Filtro de Tempo do Mapa", - "appSettings_showNodesDiscoveredWithin": "Mostrar nós descobertos dentro de:", + "appSettings_showNodesDiscoveredWithin": "Mostrar nós descobertos dentro de:", "appSettings_allTime": "Todos os tempos", - "appSettings_lastHour": "Última hora", - "appSettings_last6Hours": "Últimos 6 horas", - "appSettings_last24Hours": "Últimas 24 horas", - "appSettings_lastWeek": "Da última semana", + "appSettings_lastHour": "Última hora", + "appSettings_last6Hours": "Últimos 6 horas", + "appSettings_last24Hours": "Últimas 24 horas", + "appSettings_lastWeek": "Da última semana", "appSettings_offlineMapCache": "Cache de Mapa Offline", - "appSettings_noAreaSelected": "Nenhuma área selecionada", - "appSettings_areaSelectedZoom": "Área selecionada (zoom {minZoom}-{maxZoom})", + "appSettings_noAreaSelected": "Nenhuma área selecionada", + "appSettings_areaSelectedZoom": "Área selecionada (zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -250,16 +250,16 @@ } }, "appSettings_debugCard": "Depurar", - "appSettings_appDebugLogging": "Rastreamento de Depuração do Aplicativo", - "appSettings_appDebugLoggingSubtitle": "Registrar mensagens de depuração do aplicativo Log para solucionar problemas", - "appSettings_appDebugLoggingEnabled": "Log de depuração do aplicativo habilitado", - "appSettings_appDebugLoggingDisabled": "O registro de depuração do aplicativo está desativado.", + "appSettings_appDebugLogging": "Rastreamento de Depuração do Aplicativo", + "appSettings_appDebugLoggingSubtitle": "Registrar mensagens de depuração do aplicativo Log para solucionar problemas", + "appSettings_appDebugLoggingEnabled": "Log de depuração do aplicativo habilitado", + "appSettings_appDebugLoggingDisabled": "O registro de depuração do aplicativo está desativado.", "contacts_title": "Contactos", - "contacts_noContacts": "Ainda não existem contatos.", - "contacts_contactsWillAppear": "Os contatos serão exibidos quando os dispositivos anunciarem.", + "contacts_noContacts": "Ainda não existem contatos.", + "contacts_contactsWillAppear": "Os contatos serão exibidos quando os dispositivos anunciarem.", "contacts_searchContacts": "Pesquisar contatos...", - "contacts_noUnreadContacts": "Sem contatos não lidos.", - "contacts_noContactsFound": "Não foram encontrados contatos ou grupos.", + "contacts_noUnreadContacts": "Sem contatos não lidos.", + "contacts_noContactsFound": "Não foram encontrados contatos ou grupos.", "contacts_deleteContact": "Excluir Contato", "contacts_removeConfirm": "Remover {contactName} dos contatos?", "@contacts_removeConfirm": { @@ -284,8 +284,8 @@ }, "contacts_newGroup": "Novo Grupo", "contacts_groupName": "Nome do grupo", - "contacts_groupNameRequired": "O nome do grupo é obrigatório.", - "contacts_groupAlreadyExists": "O grupo \"{name}\" já existe", + "contacts_groupNameRequired": "O nome do grupo é obrigatório.", + "contacts_groupAlreadyExists": "O grupo \"{name}\" já existe", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -294,10 +294,10 @@ } }, "contacts_filterContacts": "Filtrar contatos...", - "contacts_noContactsMatchFilter": "Não existem contatos que correspondam ao seu filtro", + "contacts_noContactsMatchFilter": "Não existem contatos que correspondam ao seu filtro", "contacts_noMembers": "Nenhum membro", - "contacts_lastSeenNow": "Última vez que foi visto agora", - "contacts_lastSeenMinsAgo": "Última vez que foi visto {minutes} minutos atrás", + "contacts_lastSeenNow": "Última vez que foi visto agora", + "contacts_lastSeenMinsAgo": "Última vez que foi visto {minutes} minutos atrás", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Última vez que foi visto há 1 hora.", - "contacts_lastSeenHoursAgo": "Última vez visto {hours} horas atrás", + "contacts_lastSeenHourAgo": "Última vez que foi visto há 1 hora.", + "contacts_lastSeenHoursAgo": "Última vez visto {hours} horas atrás", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Última vez que foi visto 1 dia atrás", - "contacts_lastSeenDaysAgo": "Última vez visto {days} dias atrás", + "contacts_lastSeenDayAgo": "Última vez que foi visto 1 dia atrás", + "contacts_lastSeenDaysAgo": "Última vez visto {days} dias atrás", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -324,8 +324,8 @@ } }, "channels_title": "Canais", - "channels_noChannelsConfigured": "Nenhuma canalização configurada", - "channels_addPublicChannel": "Adicionar Canal Público", + "channels_noChannelsConfigured": "Nenhuma canalização configurada", + "channels_addPublicChannel": "Adicionar Canal Público", "channels_searchChannels": "Pesquisar canais...", "channels_noChannelsFound": "Nenhum canal encontrado", "channels_channelIndex": "Canal {index}", @@ -337,15 +337,15 @@ } }, "channels_hashtagChannel": "Canal com hashtag", - "channels_public": "Público", + "channels_public": "Público", "channels_private": "Privado", - "channels_publicChannel": "Canal público", + "channels_publicChannel": "Canal público", "channels_privateChannel": "Canal privado", "channels_editChannel": "Editar canal", "channels_muteChannel": "Silenciar canal", "channels_unmuteChannel": "Ativar canal", "channels_deleteChannel": "Excluir canal", - "channels_deleteChannelConfirm": "Excluir \"{name}\"? Não pode ser desfeito.", + "channels_deleteChannelConfirm": "Excluir \"{name}\"? Não pode ser desfeito.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Canal \"{name}\" excluído", + "channels_channelDeleted": "Canal \"{name}\" excluído", "@channels_channelDeleted": { "placeholders": { "name": { @@ -362,12 +362,12 @@ } }, "channels_addChannel": "Adicionar Canal", - "channels_channelIndexLabel": "Índice do Canal", + "channels_channelIndexLabel": "Índice do Canal", "channels_channelName": "Nome do Canal", - "channels_usePublicChannel": "Usar Canal Público", - "channels_standardPublicPsk": "PSK público padrão", + "channels_usePublicChannel": "Usar Canal Público", + "channels_standardPublicPsk": "PSK público padrão", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Gerar PSK aleatório", + "channels_generateRandomPsk": "Gerar PSK aleatório", "channels_enterChannelName": "Por favor, insira um nome de canal", "channels_pskMustBe32Hex": "O PSK deve ter 32 caracteres hexadecimais.", "channels_channelAdded": "Canal \"{name}\" adicionado", @@ -386,7 +386,7 @@ } } }, - "channels_smazCompression": "Compressão SMAZ", + "channels_smazCompression": "Compressão SMAZ", "channels_channelUpdated": "Canal \"{name}\" atualizado", "@channels_channelUpdated": { "placeholders": { @@ -395,15 +395,15 @@ } } }, - "channels_publicChannelAdded": "Canal público adicionado", + "channels_publicChannelAdded": "Canal público adicionado", "channels_sortBy": "Ordenar por", "channels_sortManual": "Manual", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Últimas mensagens", - "channels_sortUnread": "Não lido", - "chat_noMessages": "Ainda não existem mensagens.", - "chat_sendMessageToStart": "Enviar uma mensagem para começar", - "chat_originalMessageNotFound": "Mensagem original não encontrada", + "channels_sortLatestMessages": "Últimas mensagens", + "channels_sortUnread": "Não lido", + "chat_noMessages": "Ainda não existem mensagens.", + "chat_sendMessageToStart": "Enviar uma mensagem para começar", + "chat_originalMessageNotFound": "Mensagem original não encontrada", "chat_replyingTo": "Responder a {name}", "@chat_replyingTo": { "placeholders": { @@ -420,7 +420,7 @@ } } }, - "chat_location": "Localização", + "chat_location": "Localização", "chat_sendMessageTo": "Enviar uma mensagem para {contactName}", "@chat_sendMessageTo": { "placeholders": { @@ -430,7 +430,7 @@ } }, "chat_typeMessage": "Digite uma mensagem...", - "chat_messageTooLong": "Mensagem muito longa (máximo {maxBytes} bytes).", + "chat_messageTooLong": "Mensagem muito longa (máximo {maxBytes} bytes).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -439,7 +439,7 @@ } }, "chat_messageCopied": "Mensagem copiada", - "chat_messageDeleted": "Mensagem excluída", + "chat_messageDeleted": "Mensagem excluída", "chat_retryingMessage": "Tentando novamente", "chat_retryCount": "Tentar {current}/{max}", "@chat_retryCount": { @@ -454,30 +454,30 @@ }, "chat_sendGif": "Enviar GIF", "chat_reply": "Responder", - "chat_addReaction": "Adicionar Reação", + "chat_addReaction": "Adicionar Reação", "chat_me": "Eu", "emojiCategorySmileys": "Emojis", "emojiCategoryGestures": "Gestos", - "emojiCategoryHearts": "Corações", + "emojiCategoryHearts": "Corações", "emojiCategoryObjects": "Objetos", "gifPicker_title": "Escolher um GIF", "gifPicker_searchHint": "Pesquisar GIFs...", "gifPicker_poweredBy": "Desenvolvido por GIPHY", "gifPicker_noGifsFound": "Nenhum GIF encontrado", - "gifPicker_failedLoad": "Não foi possível carregar os GIFs", + "gifPicker_failedLoad": "Não foi possível carregar os GIFs", "gifPicker_failedSearch": "Falha na pesquisa de GIFs", - "gifPicker_noInternet": "Sem conexão com a internet", - "debugLog_appTitle": "Log de Depuração do Aplicativo", - "debugLog_bleTitle": "Log de Depuração BLE", + "gifPicker_noInternet": "Sem conexão com a internet", + "debugLog_appTitle": "Log de Depuração do Aplicativo", + "debugLog_bleTitle": "Log de Depuração BLE", "debugLog_copyLog": "Copiar log", "debugLog_clearLog": "Limpar log", - "debugLog_copied": "Log de depuração copiado", + "debugLog_copied": "Log de depuração copiado", "debugLog_bleCopied": "Log BLE copiado", - "debugLog_noEntries": "Ainda não existem logs de depuração.", - "debugLog_enableInSettings": "Ativar o log de depuração do aplicativo nas configurações", + "debugLog_noEntries": "Ainda não existem logs de depuração.", + "debugLog_enableInSettings": "Ativar o log de depuração do aplicativo nas configurações", "debugLog_frames": "Estruturas", "debugLog_rawLogRx": "Log Raw-RX", - "debugLog_noBleActivity": "Ainda não há atividade BLE.", + "debugLog_noBleActivity": "Ainda não há atividade BLE.", "debugFrame_length": "Comprimento do Quadro: {count} bytes", "@debugFrame_length": { "placeholders": { @@ -540,13 +540,13 @@ } } }, - "debugFrame_hexDump": "Espaço Hexadecimal:", + "debugFrame_hexDump": "Espaço Hexadecimal:", "chat_pathManagement": "Gerenciamento de Caminhos", "chat_routingMode": "Modo de roteamento", "chat_autoUseSavedPath": "Auto (usar caminho salvo)", - "chat_forceFloodMode": "Modo de Inundação Forçado", + "chat_forceFloodMode": "Modo de Inundação Forçado", "chat_recentAckPaths": "Rotas de ACK Recentes (toque para usar):", - "chat_pathHistoryFull": "O histórico está cheio. Remova entradas para adicionar novas.", + "chat_pathHistoryFull": "O histórico está cheio. Remova entradas para adicionar novas.", "chat_hopSingular": "pule", "chat_hopPlural": "salta", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", @@ -559,17 +559,17 @@ }, "chat_successes": "Sucessos", "chat_removePath": "Remover caminho", - "chat_noPathHistoryYet": "Ainda não há histórico de caminhos.\nEnvie uma mensagem para descobrir caminhos.", - "chat_pathActions": "Ações do Caminho:", + "chat_noPathHistoryYet": "Ainda não há histórico de caminhos.\nEnvie uma mensagem para descobrir caminhos.", + "chat_pathActions": "Ações do Caminho:", "chat_setCustomPath": "Definir Caminho Personalizado", "chat_setCustomPathSubtitle": "Especifique manualmente o caminho de roteamento", "chat_clearPath": "Limpar Caminho", - "chat_clearPathSubtitle": "Forçar a descoberta na próxima transmissão", - "chat_pathCleared": "Caminho limpo. A próxima mensagem redescobrirá a rota.", + "chat_clearPathSubtitle": "Forçar a descoberta na próxima transmissão", + "chat_pathCleared": "Caminho limpo. A próxima mensagem redescobrirá a rota.", "chat_floodModeSubtitle": "Use a chave de roteamento na barra de ferramentas", - "chat_floodModeEnabled": "Modo de inundação ativado. Desative-o novamente através do ícone de roteamento na barra de ferramentas.", + "chat_floodModeEnabled": "Modo de inundação ativado. Desative-o novamente através do ícone de roteamento na barra de ferramentas.", "chat_fullPath": "Caminho Completo", - "chat_pathDetailsNotAvailable": "Os detalhes do caminho ainda não estão disponíveis. Tente enviar uma mensagem para atualizar.", + "chat_pathDetailsNotAvailable": "Os detalhes do caminho ainda não estão disponíveis. Tente enviar uma mensagem para atualizar.", "chat_pathSetHops": "Caminho definido: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { @@ -583,14 +583,14 @@ }, "chat_pathSavedLocally": "Salvo localmente. Conectar para sincronizar.", "chat_pathDeviceConfirmed": "Dispositivo confirmado.", - "chat_pathDeviceNotConfirmed": "Dispositivo ainda não confirmado.", + "chat_pathDeviceNotConfirmed": "Dispositivo ainda não confirmado.", "chat_type": "Digite", "chat_path": "Caminho", - "chat_publicKey": "Chave Pública", + "chat_publicKey": "Chave Pública", "chat_compressOutgoingMessages": "Comprimir mensagens enviadas", - "chat_floodForced": "Inundação (forçada)", - "chat_directForced": "Direto (forçado)", - "chat_hopsForced": "{count} saltos (forçado)", + "chat_floodForced": "Inundação (forçada)", + "chat_directForced": "Direto (forçado)", + "chat_hopsForced": "{count} saltos (forçado)", "@chat_hopsForced": { "placeholders": { "count": { @@ -598,10 +598,10 @@ } } }, - "chat_floodAuto": "Inundação (automática)", + "chat_floodAuto": "Inundação (automática)", "chat_direct": "Salvar", "chat_poiShared": "Ponto de Interesse Compartilhado", - "chat_unread": "Não lido: {count}", + "chat_unread": "Não lido: {count}", "@chat_unread": { "placeholders": { "count": { @@ -612,7 +612,7 @@ "chat_openLink": "Abrir link?", "chat_openLinkConfirmation": "Deseja abrir este link no seu navegador?", "chat_open": "Abrir", - "chat_couldNotOpenLink": "Não foi possível abrir o link: {url}", + "chat_couldNotOpenLink": "Não foi possível abrir o link: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,11 +620,11 @@ } } }, - "chat_invalidLink": "Formato de link inválido", - "map_title": "Mapa de Nós", - "map_noNodesWithLocation": "Não existem nós com dados de localização.", - "map_nodesNeedGps": "Os nós precisam partilhar as suas coordenadas GPS\npara aparecerem no mapa", - "map_nodesCount": "Nós: {count}", + "chat_invalidLink": "Formato de link inválido", + "map_title": "Mapa de Nós", + "map_noNodesWithLocation": "Não existem nós com dados de localização.", + "map_nodesNeedGps": "Os nós precisam partilhar as suas coordenadas GPS\npara aparecerem no mapa", + "map_nodesCount": "Nós: {count}", "@map_nodesCount": { "placeholders": { "count": { @@ -646,21 +646,21 @@ "map_sensor": "Sensor", "map_pinDm": "Gatilho (DM)", "map_pinPrivate": "Bloquear (Privado)", - "map_pinPublic": "Pin (Público)", - "map_lastSeen": "Última Visão", + "map_pinPublic": "Pin (Público)", + "map_lastSeen": "Última Visão", "map_disconnectConfirm": "Tem certeza de que deseja desconectar deste dispositivo?", "map_from": "De", "map_source": "Fonte", "map_flags": "Bandeiras", "map_shareMarkerHere": "Compartilhar marcador aqui", - "map_pinLabel": "Rótulo de marcador", - "map_label": "Rótulo", + "map_pinLabel": "Rótulo de marcador", + "map_label": "Rótulo", "map_pointOfInterest": "Ponto de interesse", "map_sendToContact": "Enviar para o contato", "map_sendToChannel": "Enviar para o canal", - "map_noChannelsAvailable": "Não existem canais disponíveis.", - "map_publicLocationShare": "Compartilhar local público", - "map_publicLocationShareConfirm": "Você está prestes a compartilhar uma localização em {channelLabel}. Este canal é público e qualquer pessoa com a PSK pode visualizá-lo.", + "map_noChannelsAvailable": "Não existem canais disponíveis.", + "map_publicLocationShare": "Compartilhar local público", + "map_publicLocationShareConfirm": "Você está prestes a compartilhar uma localização em {channelLabel}. Este canal é público e qualquer pessoa com a PSK pode visualizá-lo.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -669,23 +669,23 @@ } }, "map_connectToShareMarkers": "Conecte-se a um dispositivo para compartilhar marcadores", - "map_filterNodes": "Filtrar Nós", - "map_nodeTypes": "Tipos de Nó", - "map_chatNodes": "Nós de Chat", + "map_filterNodes": "Filtrar Nós", + "map_nodeTypes": "Tipos de Nó", + "map_chatNodes": "Nós de Chat", "map_repeaters": "Repetidores", - "map_otherNodes": "Outros Nós", + "map_otherNodes": "Outros Nós", "map_keyPrefix": "Prefixo Chave", "map_filterByKeyPrefix": "Filtrar por prefixo-chave", - "map_publicKeyPrefix": "Prefixo de chave pública", + "map_publicKeyPrefix": "Prefixo de chave pública", "map_markers": "Marcadores", "map_showSharedMarkers": "Mostrar marcadores compartilhados", - "map_lastSeenTime": "Último Tempo de Visualização", + "map_lastSeenTime": "Último Tempo de Visualização", "map_sharedPin": "Pin compartilhado", - "map_joinRoom": "Junte-se à Sala", + "map_joinRoom": "Junte-se à Sala", "map_manageRepeater": "Gerenciar Repetidor", "mapCache_title": "Cache de Mapa Offline", - "mapCache_selectAreaFirst": "Selecione uma área para armazenar em cache primeiro", - "mapCache_noTilesToDownload": "Não há tiles para baixar para esta área.", + "mapCache_selectAreaFirst": "Selecione uma área para armazenar em cache primeiro", + "mapCache_noTilesToDownload": "Não há tiles para baixar para esta área.", "mapCache_downloadTilesTitle": "Baixar tiles", "mapCache_downloadTilesPrompt": "Baixar {count} tiles para uso offline?", "@mapCache_downloadTilesPrompt": { @@ -718,9 +718,9 @@ "mapCache_clearOfflineCacheTitle": "Limpar cache offline", "mapCache_clearOfflineCachePrompt": "Remover todas as telhas de mapa em cache?", "mapCache_offlineCacheCleared": "Cache offline limpa", - "mapCache_noAreaSelected": "Nenhuma área selecionada", - "mapCache_cacheArea": "Área de Cache", - "mapCache_useCurrentView": "Usar a Visualização Atual", + "mapCache_noAreaSelected": "Nenhuma área selecionada", + "mapCache_cacheArea": "Área de Cache", + "mapCache_useCurrentView": "Usar a Visualização Atual", "mapCache_zoomRange": "Intervalo de Zoom", "mapCache_estimatedTiles": "Estimados azulejos: {count}", "@mapCache_estimatedTiles": { @@ -769,7 +769,7 @@ } }, "time_justNow": "Agora", - "time_minutesAgo": "{minutes} minutos atrás", + "time_minutesAgo": "{minutes} minutos atrás", "@time_minutesAgo": { "placeholders": { "minutes": { @@ -777,7 +777,7 @@ } } }, - "time_hoursAgo": "{hours}h atrás", + "time_hoursAgo": "{hours}h atrás", "@time_hoursAgo": { "placeholders": { "hours": { @@ -785,7 +785,7 @@ } } }, - "time_daysAgo": "{days} dias atrás", + "time_daysAgo": "{days} dias atrás", "@time_daysAgo": { "placeholders": { "days": { @@ -799,7 +799,7 @@ "time_days": "dias", "time_week": "semana", "time_weeks": "semanas", - "time_month": "mês", + "time_month": "mês", "time_months": "meses", "time_minutes": "minutos", "time_allTime": "Todos os tempos", @@ -810,13 +810,13 @@ "login_password": "Senha", "login_enterPassword": "Insira a senha", "login_savePassword": "Salvar senha", - "login_savePasswordSubtitle": "A senha será armazenada com segurança neste dispositivo.", - "login_repeaterDescription": "Insira a senha do repetidor para acessar as configurações e o status.", - "login_roomDescription": "Insira a senha da sala para acessar as configurações e o status.", + "login_savePasswordSubtitle": "A senha será armazenada com segurança neste dispositivo.", + "login_repeaterDescription": "Insira a senha do repetidor para acessar as configurações e o status.", + "login_roomDescription": "Insira a senha da sala para acessar as configurações e o status.", "login_routing": "Rotas", "login_routingMode": "Modo de roteamento", "login_autoUseSavedPath": "Auto (usar caminho salvo)", - "login_forceFloodMode": "Modo de Inundação Forçado", + "login_forceFloodMode": "Modo de Inundação Forçado", "login_managePaths": "Gerenciar Caminhos", "login_login": "Login", "login_attempt": "Tentar {current}/{max}", @@ -838,7 +838,7 @@ } } }, - "login_failedMessage": "Falha no login. A senha está incorreta ou o repetidor está inacessível.", + "login_failedMessage": "Falha no login. A senha está incorreta ou o repetidor está inacessível.", "common_reload": "Recarregar", "common_clear": "Limpar", "path_currentPath": "Caminho atual: {path}", @@ -859,14 +859,14 @@ }, "path_enterCustomPath": "Insira Caminho Personalizado", "path_currentPathLabel": "Caminho atual", - "path_hexPrefixInstructions": "Insira os prefixos hexadecimais de 2 caracteres para cada salto, separados por vírgulas.", - "path_hexPrefixExample": "A1,F2,3C (cada nó usa o primeiro byte de sua chave pública)", + "path_hexPrefixInstructions": "Insira os prefixos hexadecimais de 2 caracteres para cada salto, separados por vírgulas.", + "path_hexPrefixExample": "A1,F2,3C (cada nó usa o primeiro byte de sua chave pública)", "path_labelHexPrefixes": "Prefixo Hexadecimal", - "path_helperMaxHops": "Máximo de 64 saltos. Cada prefixo tem 2 caracteres hexadecimais (1 byte)", + "path_helperMaxHops": "Máximo de 64 saltos. Cada prefixo tem 2 caracteres hexadecimais (1 byte)", "path_selectFromContacts": "Ou selecione de contatos:", - "path_noRepeatersFound": "Não foram encontrados repetidores ou servidores de sala.", - "path_customPathsRequire": "Caminhos personalizados exigem saltos intermediários que podem transmitir mensagens.", - "path_invalidHexPrefixes": "Prefixos hexadecimais inválidos: {prefixes}", + "path_noRepeatersFound": "Não foram encontrados repetidores ou servidores de sala.", + "path_customPathsRequire": "Caminhos personalizados exigem saltos intermediários que podem transmitir mensagens.", + "path_invalidHexPrefixes": "Prefixos hexadecimais inválidos: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,25 +874,25 @@ } } }, - "path_tooLong": "Caminho muito longo. Máximo de 64 saltos permitidos.", + "path_tooLong": "Caminho muito longo. Máximo de 64 saltos permitidos.", "path_setPath": "Definir Caminho", "repeater_management": "Gerenciamento de Repetidor", "repeater_managementTools": "Ferramentas de Gerenciamento", "repeater_status": "Status", - "repeater_statusSubtitle": "Visualizar status do repetidor, estatísticas e vizinhos.", + "repeater_statusSubtitle": "Visualizar status do repetidor, estatísticas e vizinhos.", "repeater_telemetry": "Telemetria", - "repeater_telemetrySubtitle": "Visualizar telemetria de sensores e estatísticas do sistema", + "repeater_telemetrySubtitle": "Visualizar telemetria de sensores e estatísticas do sistema", "repeater_cli": "CLI", "repeater_cliSubtitle": "Enviar comandos ao repetidor", - "repeater_settings": "Configurações", - "repeater_settingsSubtitle": "Configurar parâmetros do repetidor", + "repeater_settings": "Configurações", + "repeater_settingsSubtitle": "Configurar parâmetros do repetidor", "repeater_statusTitle": "Status do Repetidor", "repeater_routingMode": "Modo de roteamento", "repeater_autoUseSavedPath": "Auto (usar caminho salvo)", - "repeater_forceFloodMode": "Modo de Inundação Forçado", + "repeater_forceFloodMode": "Modo de Inundação Forçado", "repeater_pathManagement": "Gerenciamento de caminhos", "repeater_refresh": "Atualizar", - "repeater_statusRequestTimeout": "Solicitação de status expirou.", + "repeater_statusRequestTimeout": "Solicitação de status expirou.", "repeater_errorLoadingStatus": "Erro ao carregar o status: {error}", "@repeater_errorLoadingStatus": { "placeholders": { @@ -901,19 +901,19 @@ } } }, - "repeater_systemInformation": "Informações do Sistema", + "repeater_systemInformation": "Informações do Sistema", "repeater_battery": "Bateria", - "repeater_clockAtLogin": "Relógio (no login)", + "repeater_clockAtLogin": "Relógio (no login)", "repeater_uptime": "Disponibilidade", "repeater_queueLength": "Comprimento da Fila", - "repeater_debugFlags": "Marcar Flags de Depuração", - "repeater_radioStatistics": "Estatísticas de Rádio", - "repeater_lastRssi": "Último RSSI", - "repeater_lastSnr": "Último SNR", - "repeater_noiseFloor": "Nível de Ruído", + "repeater_debugFlags": "Marcar Flags de Depuração", + "repeater_radioStatistics": "Estatísticas de Rádio", + "repeater_lastRssi": "Último RSSI", + "repeater_lastSnr": "Último SNR", + "repeater_noiseFloor": "Nível de Ruído", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", - "repeater_packetStatistics": "Estatísticas de Pacote", + "repeater_packetStatistics": "Estatísticas de Pacote", "repeater_sent": "Enviado", "repeater_received": "Recebido", "repeater_duplicates": "Duplicatas", @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Total: {total}, Inundação: {flood}, Direto: {direct}", + "repeater_packetTxTotal": "Total: {total}, Inundação: {flood}, Direto: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Total: {total}, Inundação: {flood}, Direto: {direct}", + "repeater_packetRxTotal": "Total: {total}, Inundação: {flood}, Direto: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Inundação: {flood}, Direto: {direct}", + "repeater_duplicatesFloodDirect": "Inundação: {flood}, Direto: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -981,23 +981,23 @@ } } }, - "repeater_settingsTitle": "Configurações do Repetidor", - "repeater_basicSettings": "Configurações Básicas", + "repeater_settingsTitle": "Configurações do Repetidor", + "repeater_basicSettings": "Configurações Básicas", "repeater_repeaterName": "Nome do Repetidor", "repeater_repeaterNameHelper": "Exibir nome para este repetidor", "repeater_adminPassword": "Senha de Administrador", "repeater_adminPasswordHelper": "Acesso completo de senha", "repeater_guestPassword": "Senha de convidado", "repeater_guestPasswordHelper": "Acesso com senha de leitura somente", - "repeater_radioSettings": "Configurações de Rádio", - "repeater_frequencyMhz": "Frequência (MHz)", + "repeater_radioSettings": "Configurações de Rádio", + "repeater_frequencyMhz": "Frequência (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Power", "repeater_txPowerHelper": "1-30 dBm", "repeater_bandwidth": "Largura de banda", - "repeater_spreadingFactor": "Fator de Dispersão", - "repeater_codingRate": "Taxa de Codificação", - "repeater_locationSettings": "Configurações de Localização", + "repeater_spreadingFactor": "Fator de Dispersão", + "repeater_codingRate": "Taxa de Codificação", + "repeater_locationSettings": "Configurações de Localização", "repeater_latitude": "Latitude", "repeater_latitudeHelper": "Graus decimais (por exemplo, 37,7749)", "repeater_longitude": "Longitude", @@ -1008,9 +1008,9 @@ "repeater_guestAccess": "Acesso de Convidado", "repeater_guestAccessSubtitle": "Permitir acesso de convidado somente leitura", "repeater_privacyMode": "Modo de Privacidade", - "repeater_privacyModeSubtitle": "Esconder nome/localização em anúncios", - "repeater_advertisementSettings": "Configurações de Anúncios", - "repeater_localAdvertInterval": "Intervalo de Anúncio Local", + "repeater_privacyModeSubtitle": "Esconder nome/localização em anúncios", + "repeater_advertisementSettings": "Configurações de Anúncios", + "repeater_localAdvertInterval": "Intervalo de Anúncio Local", "repeater_localAdvertIntervalMinutes": "{minutes} minutos", "@repeater_localAdvertIntervalMinutes": { "placeholders": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Intervalo de Anúncio de Inundação", + "repeater_floodAdvertInterval": "Intervalo de Anúncio de Inundação", "repeater_floodAdvertIntervalHours": "{hours} horas", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1028,18 +1028,18 @@ } } }, - "repeater_encryptedAdvertInterval": "Intervalo de Anúncio Criptografado", + "repeater_encryptedAdvertInterval": "Intervalo de Anúncio Criptografado", "repeater_dangerZone": "Zona de Perigo", "repeater_rebootRepeater": "Reiniciar Repetidor", "repeater_rebootRepeaterSubtitle": "Reiniciar o dispositivo repetidor", "repeater_rebootRepeaterConfirm": "Tem certeza de que deseja reiniciar este repetidor?", "repeater_regenerateIdentityKey": "Gerar Chave de Identidade", - "repeater_regenerateIdentityKeySubtitle": "Gerar nova chave pública/privada", - "repeater_regenerateIdentityKeyConfirm": "Isso gerará uma nova identidade para o repetidor. Continuar?", + "repeater_regenerateIdentityKeySubtitle": "Gerar nova chave pública/privada", + "repeater_regenerateIdentityKeyConfirm": "Isso gerará uma nova identidade para o repetidor. Continuar?", "repeater_eraseFileSystem": "Excluir Sistema de Arquivos", "repeater_eraseFileSystemSubtitle": "Formatar o sistema de arquivos do repetidor", - "repeater_eraseFileSystemConfirm": "AVISO: Isso apagará todos os dados no repetidor. Isso não pode ser desfeito!", - "repeater_eraseSerialOnly": "Apagar está disponível apenas via console serial.", + "repeater_eraseFileSystemConfirm": "AVISO: Isso apagará todos os dados no repetidor. Isso não pode ser desfeito!", + "repeater_eraseSerialOnly": "Apagar está disponível apenas via console serial.", "repeater_commandSent": "Comando enviado: {command}", "@repeater_commandSent": { "placeholders": { @@ -1057,8 +1057,8 @@ } }, "repeater_confirm": "Confirmar", - "repeater_settingsSaved": "Configurações salvas com sucesso", - "repeater_errorSavingSettings": "Erro ao salvar as configurações: {error}", + "repeater_settingsSaved": "Configurações salvas com sucesso", + "repeater_errorSavingSettings": "Erro ao salvar as configurações: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,14 +1066,14 @@ } } }, - "repeater_refreshBasicSettings": "Atualizar Configurações Básicas", - "repeater_refreshRadioSettings": "Atualizar Configurações de Rádio", + "repeater_refreshBasicSettings": "Atualizar Configurações Básicas", + "repeater_refreshRadioSettings": "Atualizar Configurações de Rádio", "repeater_refreshTxPower": "Atualizar TX de energia", - "repeater_refreshLocationSettings": "Atualizar Configurações de Localização", + "repeater_refreshLocationSettings": "Atualizar Configurações de Localização", "repeater_refreshPacketForwarding": "Atualizar Roteamento de Pacotes", "repeater_refreshGuestAccess": "Atualizar Acesso de Convidados", "repeater_refreshPrivacyMode": "Atualizar Modo Privacidade", - "repeater_refreshAdvertisementSettings": "Atualizar Configurações do Anúncio", + "repeater_refreshAdvertisementSettings": "Atualizar Configurações do Anúncio", "repeater_refreshed": "{label} atualizado", "@repeater_refreshed": { "placeholders": { @@ -1091,14 +1091,14 @@ } }, "repeater_cliTitle": "Repetidor CLI", - "repeater_debugNextCommand": "Depurar Próximo Comando", + "repeater_debugNextCommand": "Depurar Próximo Comando", "repeater_commandHelp": "Ajuda", - "repeater_clearHistory": "Limpar Histórico", - "repeater_noCommandsSent": "Ainda não foram enviadas comandos.", - "repeater_typeCommandOrUseQuick": "Digite um comando abaixo ou use comandos rápidos", + "repeater_clearHistory": "Limpar Histórico", + "repeater_noCommandsSent": "Ainda não foram enviadas comandos.", + "repeater_typeCommandOrUseQuick": "Digite um comando abaixo ou use comandos rápidos", "repeater_enterCommandHint": "Insira o comando...", "repeater_previousCommand": "Comando anterior", - "repeater_nextCommand": "Próxima ação", + "repeater_nextCommand": "Próxima ação", "repeater_enterCommandFirst": "Insira um comando primeiro", "repeater_cliCommandFrameTitle": "Frame de Comando CLI", "repeater_cliCommandError": "Erro: {error}", @@ -1110,79 +1110,79 @@ } }, "repeater_cliQuickGetName": "Obter Nome", - "repeater_cliQuickGetRadio": "Obter Rádio", + "repeater_cliQuickGetRadio": "Obter Rádio", "repeater_cliQuickGetTx": "Obter TX", "repeater_cliQuickNeighbors": "Vizinhos", - "repeater_cliQuickVersion": "Versão", + "repeater_cliQuickVersion": "Versão", "repeater_cliQuickAdvertise": "Anunciar", - "repeater_cliQuickClock": "Relógio", - "repeater_cliHelpAdvert": "Envia um pacote de anúncios", - "repeater_cliHelpReboot": "Reinicia o dispositivo. (note, você pode obter 'Timeout' que é normal)", - "repeater_cliHelpClock": "Exibe a hora atual de cada dispositivo, de acordo com o relógio do dispositivo.", + "repeater_cliQuickClock": "Relógio", + "repeater_cliHelpAdvert": "Envia um pacote de anúncios", + "repeater_cliHelpReboot": "Reinicia o dispositivo. (note, você pode obter 'Timeout' que é normal)", + "repeater_cliHelpClock": "Exibe a hora atual de cada dispositivo, de acordo com o relógio do dispositivo.", "repeater_cliHelpPassword": "Define uma nova senha de administrador para o dispositivo.", - "repeater_cliHelpVersion": "Mostra a versão do dispositivo e a data de construção do firmware.", - "repeater_cliHelpClearStats": "Reseta vários contadores de estatísticas para zero.", + "repeater_cliHelpVersion": "Mostra a versão do dispositivo e a data de construção do firmware.", + "repeater_cliHelpClearStats": "Reseta vários contadores de estatísticas para zero.", "repeater_cliHelpSetAf": "Define o fator de tempo de ar.", - "repeater_cliHelpSetTx": "Define a potência de transmissão LoRa em dBm (redefinir para aplicar).", - "repeater_cliHelpSetRepeat": "Habilita ou desabilita o papel do repetidor para este nó.", - "repeater_cliHelpSetAllowReadOnly": "(Servidor de sala) Se 'ligado', então o login com senha em branco será permitido, mas não poderá Postar na sala. (apenas ler).", - "repeater_cliHelpSetFloodMax": "Define o número máximo de saltos de pacotes de inundação de entrada (se for >= máximo, o pacote não é encaminhado)", - "repeater_cliHelpSetIntThresh": "Define o Limite de Interferência (em dB). O valor padrão é 14. Defina como 0 para desativar a detecção de interferência de canal.", - "repeater_cliHelpSetAgcResetInterval": "Define o intervalo para resetar o Controlador de Ganho Automático. Defina como 0 para desativar.", + "repeater_cliHelpSetTx": "Define a potência de transmissão LoRa em dBm (redefinir para aplicar).", + "repeater_cliHelpSetRepeat": "Habilita ou desabilita o papel do repetidor para este nó.", + "repeater_cliHelpSetAllowReadOnly": "(Servidor de sala) Se 'ligado', então o login com senha em branco será permitido, mas não poderá Postar na sala. (apenas ler).", + "repeater_cliHelpSetFloodMax": "Define o número máximo de saltos de pacotes de inundação de entrada (se for >= máximo, o pacote não é encaminhado)", + "repeater_cliHelpSetIntThresh": "Define o Limite de Interferência (em dB). O valor padrão é 14. Defina como 0 para desativar a detecção de interferência de canal.", + "repeater_cliHelpSetAgcResetInterval": "Define o intervalo para resetar o Controlador de Ganho Automático. Defina como 0 para desativar.", "repeater_cliHelpSetMultiAcks": "Habilita ou desabilita a funcionalidade de \"double ACKs\".", - "repeater_cliHelpSetAdvertInterval": "Define o intervalo do timer em minutos para enviar um pacote de anúncio local (sem salto). Defina como 0 para desativar.", - "repeater_cliHelpSetFloodAdvertInterval": "Define o intervalo do timer em horas para enviar um pacote de anúncio em massa. Defina como 0 para desativar.", - "repeater_cliHelpSetGuestPassword": "Define/atualiza a senha do convidado. (para repetidores, os logins de convidados podem enviar a solicitação \"Obter Estatísticas\")", - "repeater_cliHelpSetName": "Define o nome do anúncio.", - "repeater_cliHelpSetLat": "Define a latitude do mapa de anúncios. (graus decimais)", - "repeater_cliHelpSetLon": "Define a longitude do mapa de anúncios. (graus decimais)", - "repeater_cliHelpSetRadio": "Define completamente novos parâmetros de rádio e salva nas preferências. Requer um comando \"reboot\" para aplicar.", - "repeater_cliHelpSetRxDelay": "Configurações (experimental) base (deve ser > 1 para efeito) para aplicar um pequeno atraso aos pacotes recebidos, com base na força do sinal/pontuação. Defina como 0 para desativar.", - "repeater_cliHelpSetTxDelay": "Define um fator multiplicado com o tempo-em-ar para um pacote de modo de inundação e com um sistema de slot aleatório, para atrasar seu encaminhamento. (para diminuir a probabilidade de colisões)", - "repeater_cliHelpSetDirectTxDelay": "Igual a txdelay, mas para aplicar um atraso aleatório à encaminhamento de pacotes em modo direto.", + "repeater_cliHelpSetAdvertInterval": "Define o intervalo do timer em minutos para enviar um pacote de anúncio local (sem salto). Defina como 0 para desativar.", + "repeater_cliHelpSetFloodAdvertInterval": "Define o intervalo do timer em horas para enviar um pacote de anúncio em massa. Defina como 0 para desativar.", + "repeater_cliHelpSetGuestPassword": "Define/atualiza a senha do convidado. (para repetidores, os logins de convidados podem enviar a solicitação \"Obter Estatísticas\")", + "repeater_cliHelpSetName": "Define o nome do anúncio.", + "repeater_cliHelpSetLat": "Define a latitude do mapa de anúncios. (graus decimais)", + "repeater_cliHelpSetLon": "Define a longitude do mapa de anúncios. (graus decimais)", + "repeater_cliHelpSetRadio": "Define completamente novos parâmetros de rádio e salva nas preferências. Requer um comando \"reboot\" para aplicar.", + "repeater_cliHelpSetRxDelay": "Configurações (experimental) base (deve ser > 1 para efeito) para aplicar um pequeno atraso aos pacotes recebidos, com base na força do sinal/pontuação. Defina como 0 para desativar.", + "repeater_cliHelpSetTxDelay": "Define um fator multiplicado com o tempo-em-ar para um pacote de modo de inundação e com um sistema de slot aleatório, para atrasar seu encaminhamento. (para diminuir a probabilidade de colisões)", + "repeater_cliHelpSetDirectTxDelay": "Igual a txdelay, mas para aplicar um atraso aleatório à encaminhamento de pacotes em modo direto.", "repeater_cliHelpSetBridgeEnabled": "Ativar/Desativar ponte.", "repeater_cliHelpSetBridgeDelay": "Definir atraso antes de retransmitir pacotes.", - "repeater_cliHelpSetBridgeSource": "Escolha se a ponte retransmitirá pacotes recebidos ou pacotes transmitidos.", + "repeater_cliHelpSetBridgeSource": "Escolha se a ponte retransmitirá pacotes recebidos ou pacotes transmitidos.", "repeater_cliHelpSetBridgeBaud": "Definir a taxa de baud para as pontes rs232.", "repeater_cliHelpSetBridgeSecret": "Definir segredo de ponte para pontes espnow.", "repeater_cliHelpSetAdcMultiplier": "Define um fator personalizado para ajustar a voltagem de bateria relatada (apenas suportado em placas selecionadas).", - "repeater_cliHelpTempRadio": "Define parâmetros de rádio temporários para o número especificado de minutos, revertendo para os parâmetros de rádio originais posteriormente. (não salva nas preferências).", - "repeater_cliHelpSetPerm": "Modifica o ACL. Remove a entrada correspondente (pelo prefixo de pubkey) se \"permissions\" for zero. Adiciona uma nova entrada se o pubkey-hex for de comprimento total e não estiver atualmente no ACL. Atualiza a entrada por correspondência de prefixo de pubkey. Os bits de permissão variam conforme o papel do firmware, mas os 2 bits inferiores são: 0 (Guest), 1 (Read only), 2 (Read write), 3 (Admin)", - "repeater_cliHelpGetBridgeType": "Obtém tipo de ponte nenhum, rs232, espnow", + "repeater_cliHelpTempRadio": "Define parâmetros de rádio temporários para o número especificado de minutos, revertendo para os parâmetros de rádio originais posteriormente. (não salva nas preferências).", + "repeater_cliHelpSetPerm": "Modifica o ACL. Remove a entrada correspondente (pelo prefixo de pubkey) se \"permissions\" for zero. Adiciona uma nova entrada se o pubkey-hex for de comprimento total e não estiver atualmente no ACL. Atualiza a entrada por correspondência de prefixo de pubkey. Os bits de permissão variam conforme o papel do firmware, mas os 2 bits inferiores são: 0 (Guest), 1 (Read only), 2 (Read write), 3 (Admin)", + "repeater_cliHelpGetBridgeType": "Obtém tipo de ponte nenhum, rs232, espnow", "repeater_cliHelpLogStart": "Inicia o registro de pacotes no sistema de arquivos.", "repeater_cliHelpLogStop": "Para interromper o registro de pacotes no sistema de arquivos.", "repeater_cliHelpLogErase": "Apaga os logs do pacote do sistema de arquivos.", - "repeater_cliHelpNeighbors": "Mostra uma lista de outros nós de repetição ouvidos através de anúncios zero-hop. Cada linha é id-prefixo-hexadecimal:timestamp:snr-vezes-4", - "repeater_cliHelpNeighborRemove": "Remove a primeira entrada correspondente (por prefixo de chave pública (hexadecimal)) da lista de vizinhos.", - "repeater_cliHelpRegion": "(série apenas) Lista todas as regiões definidas e as permissões de inundação atuais.", - "repeater_cliHelpRegionLoad": "NOTA: isto é uma invocação multi-comando especial. Cada comando subsequente é um nome de região (indentado com espaços para indicar a hierarquia pai, com um espaço mínimo). Terminado enviando uma linha em branco/comando.", - "repeater_cliHelpRegionGet": "Procura região com o prefixo de nome dado (ou \"\\\" para o âmbito global). Responde com \"-> nome-região (nome-pai) 'F'\"", - "repeater_cliHelpRegionPut": "Adiciona ou atualiza uma definição de região com o nome fornecido.", - "repeater_cliHelpRegionRemove": "Remove uma definição de região com o nome fornecido. (deve corresponder exatamente e não ter regiões filhas)", - "repeater_cliHelpRegionAllowf": "Define a permissão de 'F'luido para a região especificada. ('' para o escopo global/legado)", - "repeater_cliHelpRegionDenyf": "Remove a permissão de \"F\"luido para a região especificada. (NOTA: neste momento NÃO é aconselhável usar isso no escopo global/legado!!)", - "repeater_cliHelpRegionHome": "Responde com a região 'home' atual. (Observação aplicada em nenhum lugar ainda, reservado para o futuro)", - "repeater_cliHelpRegionHomeSet": "Define a região 'casa'.", - "repeater_cliHelpRegionSave": "Persiste a lista/mapa de regiões para o armazenamento.", - "repeater_cliHelpGps": "Mostra o status do GPS. Quando o GPS estiver desligado, responde apenas com \"off\", se estiver ligado, responde com \"on\", status, fix, contagem de satélites.", + "repeater_cliHelpNeighbors": "Mostra uma lista de outros nós de repetição ouvidos através de anúncios zero-hop. Cada linha é id-prefixo-hexadecimal:timestamp:snr-vezes-4", + "repeater_cliHelpNeighborRemove": "Remove a primeira entrada correspondente (por prefixo de chave pública (hexadecimal)) da lista de vizinhos.", + "repeater_cliHelpRegion": "(série apenas) Lista todas as regiões definidas e as permissões de inundação atuais.", + "repeater_cliHelpRegionLoad": "NOTA: isto é uma invocação multi-comando especial. Cada comando subsequente é um nome de região (indentado com espaços para indicar a hierarquia pai, com um espaço mínimo). Terminado enviando uma linha em branco/comando.", + "repeater_cliHelpRegionGet": "Procura região com o prefixo de nome dado (ou \"\\\" para o âmbito global). Responde com \"-> nome-região (nome-pai) 'F'\"", + "repeater_cliHelpRegionPut": "Adiciona ou atualiza uma definição de região com o nome fornecido.", + "repeater_cliHelpRegionRemove": "Remove uma definição de região com o nome fornecido. (deve corresponder exatamente e não ter regiões filhas)", + "repeater_cliHelpRegionAllowf": "Define a permissão de 'F'luido para a região especificada. ('' para o escopo global/legado)", + "repeater_cliHelpRegionDenyf": "Remove a permissão de \"F\"luido para a região especificada. (NOTA: neste momento NÃO é aconselhável usar isso no escopo global/legado!!)", + "repeater_cliHelpRegionHome": "Responde com a região 'home' atual. (Observação aplicada em nenhum lugar ainda, reservado para o futuro)", + "repeater_cliHelpRegionHomeSet": "Define a região 'casa'.", + "repeater_cliHelpRegionSave": "Persiste a lista/mapa de regiões para o armazenamento.", + "repeater_cliHelpGps": "Mostra o status do GPS. Quando o GPS estiver desligado, responde apenas com \"off\", se estiver ligado, responde com \"on\", status, fix, contagem de satélites.", "repeater_cliHelpGpsOnOff": "Alterna o estado de energia do GPS.", - "repeater_cliHelpGpsSync": "Sincroniza o tempo do nó com o relógio GPS.", - "repeater_cliHelpGpsSetLoc": "Define a posição do nó para coordenadas GPS e salvar preferências.", - "repeater_cliHelpGpsAdvert": "Define a configuração de anúncio da localização do nó:\n- nenhum: não incluir a localização nos anúncios\n- compartilhar: compartilhar a localização GPS (do SensorManager)\n- preferências: anunciar a localização armazenada nas preferências", - "repeater_cliHelpGpsAdvertSet": "Define a configuração do anúncio de localização.", + "repeater_cliHelpGpsSync": "Sincroniza o tempo do nó com o relógio GPS.", + "repeater_cliHelpGpsSetLoc": "Define a posição do nó para coordenadas GPS e salvar preferências.", + "repeater_cliHelpGpsAdvert": "Define a configuração de anúncio da localização do nó:\n- nenhum: não incluir a localização nos anúncios\n- compartilhar: compartilhar a localização GPS (do SensorManager)\n- preferências: anunciar a localização armazenada nas preferências", + "repeater_cliHelpGpsAdvertSet": "Define a configuração do anúncio de localização.", "repeater_commandsListTitle": "Lista de Comandos", - "repeater_commandsListNote": "NOTA: para os diversos comandos \"set...\", também existe um comando \"get...\".", + "repeater_commandsListNote": "NOTA: para os diversos comandos \"set...\", também existe um comando \"get...\".", "repeater_general": "Geral", - "repeater_settingsCategory": "Configurações", + "repeater_settingsCategory": "Configurações", "repeater_bridge": "Ponte", "repeater_logging": "Registrar", "repeater_neighborsRepeaterOnly": "Vizinhos (apenas repetidor)", - "repeater_regionManagementRepeaterOnly": "Gerenciamento de Região (Apenas Repetidor)", - "repeater_regionNote": "Os comandos de região foram introduzidos para gerenciar definições e permissões de região.", + "repeater_regionManagementRepeaterOnly": "Gerenciamento de Região (Apenas Repetidor)", + "repeater_regionNote": "Os comandos de região foram introduzidos para gerenciar definições e permissões de região.", "repeater_gpsManagement": "Gerenciamento GPS", - "repeater_gpsNote": "O comando GPS foi introduzido para gerenciar tópicos relacionados à localização.", + "repeater_gpsNote": "O comando GPS foi introduzido para gerenciar tópicos relacionados à localização.", "telemetry_receivedData": "Dados de Telemetria Recebidos", - "telemetry_requestTimeout": "Solicitação de telemetria expirou o tempo.", + "telemetry_requestTimeout": "Solicitação de telemetria expirou o tempo.", "telemetry_errorLoading": "Erro ao carregar a telemetria: {error}", "@telemetry_errorLoading": { "placeholders": { @@ -1191,7 +1191,7 @@ } } }, - "telemetry_noData": "Não estão disponíveis dados de telemetria.", + "telemetry_noData": "Não estão disponíveis dados de telemetria.", "telemetry_channelTitle": "Canal {channel}", "@telemetry_channelTitle": { "placeholders": { @@ -1201,7 +1201,7 @@ } }, "telemetry_batteryLabel": "Bateria", - "telemetry_voltageLabel": "Tensão", + "telemetry_voltageLabel": "Tensão", "telemetry_mcuTemperatureLabel": "Temperatura do MCU", "telemetry_temperatureLabel": "Temperatura", "telemetry_currentLabel": "Atual", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1243,18 +1243,18 @@ } } }, - "channelPath_title": "Rótulo de Caminho de Pacote", + "channelPath_title": "Rótulo de Caminho de Pacote", "channelPath_viewMap": "Ver mapa", "channelPath_otherObservedPaths": "Outros Caminhos Observados", "channelPath_repeaterHops": "Saltos do Repetidor", - "channelPath_noHopDetails": "Os detalhes do pacote não estão disponíveis.", + "channelPath_noHopDetails": "Os detalhes do pacote não estão disponíveis.", "channelPath_messageDetails": "Detalhes da Mensagem", "channelPath_senderLabel": "Remetente", "channelPath_timeLabel": "Tempo", "channelPath_repeatsLabel": "Repete", "channelPath_pathLabel": "Caminho {index}", "channelPath_observedLabel": "Observado", - "channelPath_observedPathTitle": "Rastreamento observado {index} • {hops}", + "channelPath_observedPathTitle": "Rastreamento observado {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "Não há dados de localização.", + "channelPath_noLocationData": "Não há dados de localização.", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1289,7 +1289,7 @@ } }, "channelPath_unknownPath": "Desconhecido", - "channelPath_floodPath": "Inundação", + "channelPath_floodPath": "Inundação", "channelPath_directPath": "Salvar", "channelPath_observedZeroOf": "0 de {total} saltos", "@channelPath_observedZeroOf": { @@ -1311,8 +1311,8 @@ } }, "channelPath_mapTitle": "Mapa de Caminhos", - "channelPath_noRepeaterLocations": "Não estão disponíveis localizações de repetidores para este caminho.", - "channelPath_primaryPath": "Caminho {index} (Primário)", + "channelPath_noRepeaterLocations": "Não estão disponíveis localizações de repetidores para este caminho.", + "channelPath_primaryPath": "Caminho {index} (Primário)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Caminho", "channelPath_observedPathHeader": "Rastreamento Observado", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,19 +1340,19 @@ } } }, - "channelPath_noHopDetailsAvailable": "Não estão disponíveis detalhes de voo para este pacote.", + "channelPath_noHopDetailsAvailable": "Não estão disponíveis detalhes de voo para este pacote.", "channelPath_unknownRepeater": "Repetidor Desconhecido", "listFilter_tooltip": "Filtrar e ordenar", "listFilter_sortBy": "Ordenar por", - "listFilter_latestMessages": "Últimas mensagens", + "listFilter_latestMessages": "Últimas mensagens", "listFilter_heardRecently": "Ouvido recentemente", "listFilter_az": "A-Z", "listFilter_filters": "Filtros", "listFilter_all": "Tudo", - "listFilter_users": "Usuários", + "listFilter_users": "Usuários", "listFilter_repeaters": "Repetidores", "listFilter_roomServers": "Servidores de sala", - "listFilter_unreadOnly": "Apenas não lido", + "listFilter_unreadOnly": "Apenas não lido", "listFilter_newGroup": "Novo grupo", "@neighbors_errorLoading": { "placeholders": { @@ -1367,16 +1367,16 @@ "neighbors_requestTimedOut": "Vizinhos solicitam tempo limite esgotado.", "neighbors_errorLoading": "Erro ao carregar vizinhos: {error}", "neighbors_repeatersNeighbors": "Repetidores Vizinhos", - "neighbors_noData": "Não estão disponíveis dados de vizinhos.", + "neighbors_noData": "Não estão disponíveis dados de vizinhos.", "channels_createPrivateChannelDesc": "Protegido com uma chave secreta.", "channels_joinPrivateChannelDesc": "Inserir uma chave secreta manualmente.", "channels_createPrivateChannel": "Criar um Canal Privado", "channels_joinPrivateChannel": "Junte-se a um Canal Privado", - "channels_joinPublicChannel": "Junte-se ao Canal Público", + "channels_joinPublicChannel": "Junte-se ao Canal Público", "channels_joinPublicChannelDesc": "Qualquer pessoa pode entrar neste canal.", "channels_joinHashtagChannel": "Junte-se a um Canal com Hashtag", "channels_joinHashtagChannelDesc": "Qualquer pessoa pode participar de canais com hashtag.", - "channels_scanQrCode": "Digitalizar um Código QR", + "channels_scanQrCode": "Digitalizar um Código QR", "channels_scanQrCodeComingSoon": "Em breve", "channels_enterHashtag": "Insira hashtag", "channels_hashtagHint": "ex. #equipe", @@ -1394,10 +1394,10 @@ } } }, - "neighbors_heardAgo": "Ouvido: {time} atrás", + "neighbors_heardAgo": "Ouvido: {time} atrás", "neighbors_unknownContact": "{pubkey} Desconhecido", "settings_locationGPSEnable": "Ativar GPS", - "settings_locationGPSEnableSubtitle": "Habilita a atualização automática da localização via GPS.", + "settings_locationGPSEnableSubtitle": "Habilita a atualização automática da localização via GPS.", "settings_locationIntervalInvalid": "O intervalo deve ser de pelo menos 60 segundos e inferior a 86400 segundos.", "settings_locationIntervalSec": "Intervalo para GPS (Segundos)", "contacts_manageRoom": "Gerenciar Servidor de Sala", @@ -1459,35 +1459,35 @@ } }, "community_title": "Comunidade", - "community_createDesc": "Crie uma nova comunidade e compartilhe via código QR.", + "community_createDesc": "Crie uma nova comunidade e compartilhe via código QR.", "common_ok": "OK", "community_create": "Criar Comunidade", "community_join": "Junte-se", - "community_joinTitle": "Junte-se à Comunidade", - "community_joinConfirmation": "Você gostaria de se juntar à comunidade \"{name}\"?", + "community_joinTitle": "Junte-se à Comunidade", + "community_joinConfirmation": "Você gostaria de se juntar à comunidade \"{name}\"?", "community_scanQr": "Digitalizar a QR Code da Comunidade", - "community_scanInstructions": "Aponte a câmera para um código QR da comunidade", - "community_showQr": "Mostrar Código QR", - "community_publicChannel": "Comunidade Pública", + "community_scanInstructions": "Aponte a câmera para um código QR da comunidade", + "community_showQr": "Mostrar Código QR", + "community_publicChannel": "Comunidade Pública", "community_hashtagChannel": "Hashtag da Comunidade", "community_name": "Nome da Comunidade", "community_enterName": "Insira o nome da comunidade", "community_created": "Comunidade \"{name}\" criada", - "community_joined": "Juntou-se à comunidade \"{name}\"", + "community_joined": "Juntou-se à comunidade \"{name}\"", "community_qrTitle": "Partilhar Comunidade", - "community_qrInstructions": "Escanear este código QR para juntar-se a {name}", - "community_hashtagPrivacyHint": "Os canais de hashtag da comunidade só podem ser acessados por membros da comunidade", - "community_invalidQrCode": "Código QR da comunidade inválido", - "community_alreadyMember": "Já é Membro", - "community_alreadyMemberMessage": "Você já é membro de \"{name}\".", - "community_addPublicChannel": "Adicionar Canal Público da Comunidade", - "community_addPublicChannelHint": "Adicionar automaticamente o canal público para esta comunidade", - "community_noCommunities": "Ainda não foram adicionadas comunidades.", - "community_scanOrCreate": "Escaneie um código QR ou crie uma comunidade para começar.", + "community_qrInstructions": "Escanear este código QR para juntar-se a {name}", + "community_hashtagPrivacyHint": "Os canais de hashtag da comunidade só podem ser acessados por membros da comunidade", + "community_invalidQrCode": "Código QR da comunidade inválido", + "community_alreadyMember": "Já é Membro", + "community_alreadyMemberMessage": "Você já é membro de \"{name}\".", + "community_addPublicChannel": "Adicionar Canal Público da Comunidade", + "community_addPublicChannelHint": "Adicionar automaticamente o canal público para esta comunidade", + "community_noCommunities": "Ainda não foram adicionadas comunidades.", + "community_scanOrCreate": "Escaneie um código QR ou crie uma comunidade para começar.", "community_manageCommunities": "Gerenciar Comunidades", "community_delete": "Deixar Comunidade", "community_deleteConfirm": "Sair de \"{name}\"?", - "community_deleteChannelsWarning": "Isso também excluirá {count} canal/canais e suas mensagens.", + "community_deleteChannelsWarning": "Isso também excluirá {count} canal/canais e suas mensagens.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1500,7 +1500,7 @@ "community_addHashtagChannelDesc": "Adicionar um canal de hashtag para esta comunidade", "community_selectCommunity": "Selecione Comunidade", "community_regularHashtag": "Hashtag Regular", - "community_regularHashtagDesc": "Hashtag público (qualquer pessoa pode participar)", + "community_regularHashtagDesc": "Hashtag público (qualquer pessoa pode participar)", "community_communityHashtag": "Hashtag da Comunidade", "community_communityHashtagDesc": "Apenas para membros da comunidade", "community_forCommunity": "Para {name}", @@ -1532,12 +1532,12 @@ } } }, - "community_regenerateSecretConfirm": "Regenerar a chave secreta para \"{name}\"? Todos os membros precisarão escanear o novo código QR para continuar a comunicação.", + "community_regenerateSecretConfirm": "Regenerar a chave secreta para \"{name}\"? Todos os membros precisarão escanear o novo código QR para continuar a comunicação.", "community_regenerateSecret": "Regenerar Senha Segura", "community_secretRegenerated": "Senha secreta regenerada para \"{name}\"", "community_regenerate": "Regenerar", "community_secretUpdated": "Segredo atualizado para \"{name}\"", - "community_scanToUpdateSecret": "Scanar o novo código QR para atualizar o segredo para \"{name}\"\n\n\n+++++", + "community_scanToUpdateSecret": "Scanar o novo código QR para atualizar o segredo para \"{name}\"\n\n\n+++++", "community_updateSecret": "Atualizar Segredo", "@contacts_pathTraceTo": { "placeholders": { @@ -1546,82 +1546,82 @@ } } }, - "pathTrace_you": "Você", + "pathTrace_you": "Você", "pathTrace_failed": "Falha no rastreamento de caminho.", - "pathTrace_notAvailable": "Traçado de caminho não disponível.", + "pathTrace_notAvailable": "Traçado de caminho não disponível.", "pathTrace_refreshTooltip": "Atualizar Path Trace.", - "contacts_pathTrace": "Traçado de Caminho", + "contacts_pathTrace": "Traçado de Caminho", "contacts_ping": "Pingar", - "contacts_repeaterPathTrace": "Traçar caminho para repetidor", + "contacts_repeaterPathTrace": "Traçar caminho para repetidor", "contacts_repeaterPing": "Pingar repetidor", - "contacts_roomPathTrace": "Traçar caminho para o servidor da sala", + "contacts_roomPathTrace": "Traçar caminho para o servidor da sala", "contacts_roomPing": "Pingar servidor da sala", "contacts_chatTraceRoute": "Rastrear rota do caminho", "contacts_pathTraceTo": "Rastrear rota para {name}", - "contacts_invalidAdvertFormat": "Dados de Contato Inválidos", - "contacts_clipboardEmpty": "Área de Transferência Está Vazia.", + "contacts_invalidAdvertFormat": "Dados de Contato Inválidos", + "contacts_clipboardEmpty": "Área de Transferência Está Vazia.", "appSettings_languageUk": "Ucraniano", "contacts_contactImported": "Contato foi importado.", - "contacts_zeroHopAdvert": "Anúncio Zero Hop", - "contacts_copyAdvertToClipboard": "Copiar Anúncio para Área de Transferência", - "contacts_addContactFromClipboard": "Adicionar Contato da Área de Transferência", + "contacts_zeroHopAdvert": "Anúncio Zero Hop", + "contacts_copyAdvertToClipboard": "Copiar Anúncio para Área de Transferência", + "contacts_addContactFromClipboard": "Adicionar Contato da Área de Transferência", "appSettings_languageRu": "Russo", "appSettings_enableMessageTracing": "Ativar rastreamento de mensagens", "appSettings_enableMessageTracingSubtitle": "Mostrar metadados detalhados de roteamento e tempo para as mensagens", - "contacts_ShareContact": "Copiar contato para Área de Transferência", + "contacts_ShareContact": "Copiar contato para Área de Transferência", "contacts_contactImportFailed": "Contato falhou ao ser importado.", - "contacts_zeroHopContactAdvertSent": "Enviou contato por anúncio.", - "contacts_contactAdvertCopied": "Anúncio copiado para a Área de Transferência.", - "contacts_floodAdvert": "Anúncio de Inundação", - "contacts_contactAdvertCopyFailed": "Cópia do anúncio para a Área de Transferência falhou.", - "contacts_ShareContactZeroHop": "Compartilhar contato por anúncio", + "contacts_zeroHopContactAdvertSent": "Enviou contato por anúncio.", + "contacts_contactAdvertCopied": "Anúncio copiado para a Área de Transferência.", + "contacts_floodAdvert": "Anúncio de Inundação", + "contacts_contactAdvertCopyFailed": "Cópia do anúncio para a Área de Transferência falhou.", + "contacts_ShareContactZeroHop": "Compartilhar contato por anúncio", "contacts_zeroHopContactAdvertFailed": "Falha ao enviar contato.", "notification_activityTitle": "Atividade MeshCore", "notification_messagesCount": "{count} {count, plural, =1{mensagem} other{mensagens}}", "notification_channelMessagesCount": "{count} {count, plural, =1{mensagem de canal} other{mensagens de canal}}", - "notification_newNodesCount": "{count} {count, plural, =1{novo nó} other{novos nós}}", + "notification_newNodesCount": "{count} {count, plural, =1{novo nó} other{novos nós}}", "notification_newTypeDiscovered": "Novo {contactType} descoberto", "notification_receivedNewMessage": "Nova mensagem recebida", "settings_gpxExportRepeaters": "Exportar repetidores / servidor de sala para GPX", - "settings_gpxExportRepeatersSubtitle": "Exporta repetidores / roomserver com localização para arquivo GPX.", + "settings_gpxExportRepeatersSubtitle": "Exporta repetidores / roomserver com localização para arquivo GPX.", "settings_gpxExportSuccess": "Arquivo GPX exportado com sucesso.", - "settings_gpxExportAllSubtitle": "Exporta todos os contatos com uma localização para um arquivo GPX.", - "settings_gpxExportNotAvailable": "Não suportado no seu dispositivo/SO", + "settings_gpxExportAllSubtitle": "Exporta todos os contatos com uma localização para um arquivo GPX.", + "settings_gpxExportNotAvailable": "Não suportado no seu dispositivo/SO", "settings_gpxExportError": "Ocorreu um erro ao exportar.", "settings_gpxExportAll": "Exportar todos os contatos para GPX", "settings_gpxExportContacts": "Exportar companheiros para GPX", - "settings_gpxExportContactsSubtitle": "Exporta companheiros com uma localização para um arquivo GPX.", - "settings_gpxExportRepeatersRoom": "Localizações do servidor de repetidor e sala", - "settings_gpxExportChat": "Localizações de companheiros", + "settings_gpxExportContactsSubtitle": "Exporta companheiros com uma localização para um arquivo GPX.", + "settings_gpxExportRepeatersRoom": "Localizações do servidor de repetidor e sala", + "settings_gpxExportChat": "Localizações de companheiros", "settings_gpxExportNoContacts": "Nenhum contato para exportar.", "settings_gpxExportAllContacts": "Todos os locais de contatos", "settings_gpxExportShareText": "Dados do mapa exportados do meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open exportação de dados de mapa GPX", - "pathTrace_someHopsNoLocation": "Um ou mais dos lúpulos estão sem localização!", - "map_runTrace": "Executar Traçado de Caminho", + "settings_gpxExportShareSubject": "meshcore-open exportação de dados de mapa GPX", + "pathTrace_someHopsNoLocation": "Um ou mais dos lúpulos estão sem localização!", + "map_runTrace": "Executar Traçado de Caminho", "map_pathTraceCancelled": "Rastreamento de caminho cancelado.", "pathTrace_clearTooltip": "Limpar caminho", - "map_removeLast": "Remover Último", - "map_tapToAdd": "Toque nos nós para adicioná-los ao caminho.", + "map_removeLast": "Remover Último", + "map_tapToAdd": "Toque nos nós para adicioná-los ao caminho.", "scanner_enableBluetooth": "Ative o Bluetooth", - "scanner_bluetoothOff": "Bluetooth está desativado", + "scanner_bluetoothOff": "Bluetooth está desativado", "scanner_bluetoothOffMessage": "Por favor, ative o Bluetooth para escanear por dispositivos.", - "scanner_chromeRequired": "Navegador Chrome necessário", - "scanner_chromeRequiredMessage": "Esta aplicação web requer o Google Chrome ou um navegador baseado no Chromium para suporte de Bluetooth.", - "snrIndicator_nearByRepeaters": "Repetidores Próximos", - "snrIndicator_lastSeen": "Visto pela última vez", + "scanner_chromeRequired": "Navegador Chrome necessário", + "scanner_chromeRequiredMessage": "Esta aplicação web requer o Google Chrome ou um navegador baseado no Chromium para suporte de Bluetooth.", + "snrIndicator_nearByRepeaters": "Repetidores Próximos", + "snrIndicator_lastSeen": "Visto pela última vez", "chat_ShowAllPaths": "Mostrar todos os caminhos", - "settings_clientRepeatFreqWarning": "A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.", - "settings_clientRepeat": "Repetição sem rede", + "settings_clientRepeatFreqWarning": "A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.", + "settings_clientRepeat": "Repetição sem rede", "settings_clientRepeatSubtitle": "Permita que este dispositivo repita pacotes de rede para outros dispositivos.", - "settings_aboutOpenMeteoAttribution": "Dados de elevação LOS: Open-Meteo (CC BY 4.0)", + "settings_aboutOpenMeteoAttribution": "Dados de elevação LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Unidades", - "appSettings_unitsMetric": "Métrico (m/km)", + "appSettings_unitsMetric": "Métrico (m/km)", "appSettings_unitsImperial": "Imperial (ft/mi)", - "map_lineOfSight": "Linha de visão", - "map_losScreenTitle": "Linha de visão", - "losSelectStartEnd": "Selecione nós iniciais e finais para LOS.", - "losRunFailed": "Falha na verificação da linha de visão: {error}", + "map_lineOfSight": "Linha de visão", + "map_losScreenTitle": "Linha de visão", + "losSelectStartEnd": "Selecione nós iniciais e finais para LOS.", + "losRunFailed": "Falha na verificação da linha de visão: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1630,10 +1630,10 @@ } }, "losClearAllPoints": "Limpe todos os pontos", - "losRunToViewElevationProfile": "Execute o LOS para visualizar o perfil de elevação", + "losRunToViewElevationProfile": "Execute o LOS para visualizar o perfil de elevação", "losMenuTitle": "Menu LOS", - "losMenuSubtitle": "Toque nos nós ou mantenha pressionado o mapa para obter pontos personalizados", - "losShowDisplayNodes": "Mostrar nós de exibição", + "losMenuSubtitle": "Toque nos nós ou mantenha pressionado o mapa para obter pontos personalizados", + "losShowDisplayNodes": "Mostrar nós de exibição", "losCustomPoints": "Pontos personalizados", "losCustomPointLabel": "{index} personalizado", "@losCustomPointLabel": { @@ -1668,8 +1668,8 @@ } }, "losRun": "Executar LOS", - "losNoElevationData": "Sem dados de elevação", - "losProfileClear": "{distance} {distanceUnit}, limpar LOS, liberação mínima {clearance} {heightUnit}", + "losNoElevationData": "Sem dados de elevação", + "losProfileClear": "{distance} {distanceUnit}, limpar LOS, liberação mínima {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Dados de elevação indisponíveis para uma ou mais amostras.", - "losErrorInvalidInput": "Dados de pontos/elevação inválidos para cálculo de LOS.", + "losErrorElevationUnavailable": "Dados de elevação indisponíveis para uma ou mais amostras.", + "losErrorInvalidInput": "Dados de pontos/elevação inválidos para cálculo de LOS.", "losRenameCustomPoint": "Renomear ponto personalizado", "losPointName": "Nome do ponto", "losShowPanelTooltip": "Mostrar painel LOS", "losHidePanelTooltip": "Ocultar painel LOS", - "losElevationAttribution": "Dados de elevação: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Horizonte de rádio", + "losElevationAttribution": "Dados de elevação: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Horizonte de rádio", "losLegendLosBeam": "Linha de visada", "losLegendTerrain": "Terreno", - "losFrequencyLabel": "Frequência", - "losFrequencyInfoTooltip": "Ver detalhes do cálculo", - "losFrequencyDialogTitle": "Cálculo do horizonte de rádio", - "losFrequencyDialogDescription": "Começando em k={baselineK} em {baselineFreq} MHz, o cálculo ajusta o fator k para a banda atual de {frequencyMHz} MHz, que define o limite do horizonte de rádio curvo.", + "losFrequencyLabel": "Frequência", + "losFrequencyInfoTooltip": "Ver detalhes do cálculo", + "losFrequencyDialogTitle": "Cálculo do horizonte de rádio", + "losFrequencyDialogDescription": "Começando em k={baselineK} em {baselineFreq} MHz, o cálculo ajusta o fator k para a banda atual de {frequencyMHz} MHz, que define o limite do horizonte de rádio curvo.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1798,16 +1798,14 @@ }, "contacts_searchRepeaters": "Pesquisar {number}{str} Repetidores...", "contacts_searchFavorites": "Pesquisar {number}{str} Favoritos...", - "contacts_searchUsers": "Pesquisar {number}{str} Usuários...", + "contacts_searchUsers": "Pesquisar {number}{str} Usuários...", "contacts_searchContactsNoNumber": "Pesquisar Contatos...", - "contacts_unread": "Não lido", + "contacts_unread": "Não lido", "contacts_searchRoomServers": "Pesquisar {number}{str} servidores de sala...", - "connectionChoiceSubtitle": "Selecione a forma como você deseja acessar seu dispositivo MeshCore.", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", - "connectionChoiceTitle": "Escolha o método de conexão desejado.", - "usbScreenNote": "A comunicação serial USB está ativa em dispositivos Android e plataformas de desktop compatíveis.", - "usbScreenSubtitle": "Selecione o dispositivo serial detectado e conecte-o diretamente ao seu nó MeshCore.", + "usbScreenNote": "A comunicação serial USB está ativa em dispositivos Android e plataformas de desktop compatíveis.", + "usbScreenSubtitle": "Selecione o dispositivo serial detectado e conecte-o diretamente ao seu nó MeshCore.", "usbScreenStatus": "Selecione um dispositivo USB", "usbScreenTitle": "Conecte via USB", "usbScreenEmptyState": "Nenhum dispositivo USB encontrado. Conecte um e atualize." diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 2b8ab81..b0d7d50 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Не удалось удалить канал {name}.", +{ + "channels_channelDeleteFailed": "Не удалось удалить канал {name}.", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -9,757 +9,757 @@ }, "@@locale": "ru", "appTitle": "MeshCore Open", - "nav_contacts": "Контакты", - "nav_channels": "Каналы", - "nav_map": "Карта", - "common_cancel": "Отмена", + "nav_contacts": "Контакты", + "nav_channels": "Каналы", + "nav_map": "Карта", + "common_cancel": "Отмена", "common_ok": "OK", - "common_connect": "Коннект", - "common_unknownDevice": "Неизвестное устройство", - "common_save": "Сохранить", - "common_delete": "Удалить", - "common_close": "Закрыть", - "common_edit": "Изменить", - "common_add": "Добавить", - "common_settings": "Настройки", - "common_disconnect": "Отключить", - "common_connected": "Подключено", - "common_disconnected": "Отключено", - "common_create": "Создать", - "common_continue": "Продолжить", - "common_share": "Поделиться", - "common_copy": "Копировать", - "common_retry": "Повторить", - "common_hide": "Скрыть", - "common_remove": "Убрать", - "common_enable": "Включить", - "common_disable": "Выключить", - "common_reboot": "Перезагрузить", - "common_loading": "Загрузка...", - "common_notAvailable": "—", - "common_voltageValue": "{volts} В", + "common_connect": "Коннект", + "common_unknownDevice": "Неизвестное устройство", + "common_save": "Сохранить", + "common_delete": "Удалить", + "common_close": "Закрыть", + "common_edit": "Изменить", + "common_add": "Добавить", + "common_settings": "Настройки", + "common_disconnect": "Отключить", + "common_connected": "Подключено", + "common_disconnected": "Отключено", + "common_create": "Создать", + "common_continue": "Продолжить", + "common_share": "Поделиться", + "common_copy": "Копировать", + "common_retry": "Повторить", + "common_hide": "Скрыть", + "common_remove": "Убрать", + "common_enable": "Включить", + "common_disable": "Выключить", + "common_reboot": "Перезагрузить", + "common_loading": "Загрузка...", + "common_notAvailable": "—", + "common_voltageValue": "{volts} Ð’", "common_percentValue": "{percent}%", "scanner_title": "MeshCore Open", - "scanner_scanning": "Поиск устройств...", - "scanner_connecting": "Подключение...", - "scanner_disconnecting": "Отключение...", - "scanner_notConnected": "Не подключено", - "scanner_connectedTo": "Подключено к {deviceName}", - "scanner_searchingDevices": "Поиск устройств MeshCore...", - "scanner_tapToScan": "Нажмите для поиска MeshCore устройств", - "scanner_connectionFailed": "Подключение не удалось: {error}", - "scanner_stop": "Стоп", - "scanner_scan": "Сканирование", - "device_quickSwitch": "Быстрое переключение", + "scanner_scanning": "Поиск устройств...", + "scanner_connecting": "Подключение...", + "scanner_disconnecting": "Отключение...", + "scanner_notConnected": "Не подключено", + "scanner_connectedTo": "Подключено к {deviceName}", + "scanner_searchingDevices": "Поиск устройств MeshCore...", + "scanner_tapToScan": "Нажмите для поиска MeshCore устройств", + "scanner_connectionFailed": "Подключение не удалось: {error}", + "scanner_stop": "Стоп", + "scanner_scan": "Сканирование", + "device_quickSwitch": "Быстрое переключение", "device_meshcore": "MeshCore", - "settings_title": "Настройки", - "settings_deviceInfo": "Информация об устройстве", - "settings_appSettings": "Настройки приложения", - "settings_appSettingsSubtitle": "Уведомления, сообщения и настройки карты", - "settings_nodeSettings": "Настройки ноды", - "settings_nodeName": "Имя ноды", - "settings_nodeNameNotSet": "Не установлено", - "settings_nodeNameHint": "Введите имя ноды", - "settings_nodeNameUpdated": "Имя обновлено", - "settings_radioSettings": "Настройки радио", - "settings_radioSettingsSubtitle": "Частота, мощность и коэффициент распространения", - "settings_radioSettingsUpdated": "Настройки радио обновлены", - "settings_location": "Позиция", - "settings_locationSubtitle": "Координаты GPS", - "settings_locationUpdated": "Позиция и настройки GPS обновлены", - "settings_locationBothRequired": "Введите широту и долготу.", - "settings_locationInvalid": "Неверная широта или долгота.", - "settings_locationGPSEnable": "Включить GPS", - "settings_locationGPSEnableSubtitle": "Включение GPS для автоматического обновления позиции.", - "settings_locationIntervalSec": "Интервал для позиционирования GPS (секунды)", - "settings_locationIntervalInvalid": "Интервал должен составлять не менее 60 секунд и не более 86400 секунд.", - "settings_latitude": "Широта", - "settings_longitude": "Долгота", - "settings_privacyMode": "Режим конфиденциальности", - "settings_privacyModeSubtitle": "Скрыть имя/позицию в анонсировании", - "settings_privacyModeToggle": "Включите режим конфиденциальности, чтобы скрыть свое имя и местоположение в анонсировании.", - "settings_privacyModeEnabled": "Режим конфиденциальности включен", - "settings_privacyModeDisabled": "Режим конфиденциальности выключен", - "settings_actions": "Действия", - "settings_sendAdvertisement": "Отправить анонсирование", - "settings_sendAdvertisementSubtitle": "Отправить анонсирование о присутствии сейчас", - "settings_advertisementSent": "Анонсирование отправлено", - "settings_syncTime": "Синхронизация времени", - "settings_syncTimeSubtitle": "Синхронизировать время с телефоном", - "settings_timeSynchronized": "Время синхронизировано", - "settings_refreshContacts": "Обновить контакты", - "settings_refreshContactsSubtitle": "Перезагрузить список контактов с устройства", - "settings_rebootDevice": "Перезагрузить устройство", - "settings_rebootDeviceSubtitle": "Перезапустить устройство MeshCore", - "settings_rebootDeviceConfirm": "Вы уверены, что хотите перезагрузить устройство? Вы будете отключены.", - "settings_debug": "Отладка", - "settings_bleDebugLog": "Журнал отладки BLE", - "settings_bleDebugLogSubtitle": "Команды BLE, ответы и сырые данные", - "settings_appDebugLog": "Журнал отладки приложения", - "settings_appDebugLogSubtitle": "Сообщения отладки приложения", - "settings_about": "О программе", + "settings_title": "Настройки", + "settings_deviceInfo": "Информация об устройстве", + "settings_appSettings": "Настройки приложения", + "settings_appSettingsSubtitle": "Уведомления, сообщения и настройки карты", + "settings_nodeSettings": "Настройки ноды", + "settings_nodeName": "Имя ноды", + "settings_nodeNameNotSet": "Не установлено", + "settings_nodeNameHint": "Введите имя ноды", + "settings_nodeNameUpdated": "Имя обновлено", + "settings_radioSettings": "Настройки радио", + "settings_radioSettingsSubtitle": "Частота, мощность и коэффициент распространения", + "settings_radioSettingsUpdated": "Настройки радио обновлены", + "settings_location": "Позиция", + "settings_locationSubtitle": "Координаты GPS", + "settings_locationUpdated": "Позиция и настройки GPS обновлены", + "settings_locationBothRequired": "Введите широту и долготу.", + "settings_locationInvalid": "Неверная широта или долгота.", + "settings_locationGPSEnable": "Включить GPS", + "settings_locationGPSEnableSubtitle": "Включение GPS для автоматического обновления позиции.", + "settings_locationIntervalSec": "Интервал для позиционирования GPS (секунды)", + "settings_locationIntervalInvalid": "Интервал должен составлять не менее 60 секунд и не более 86400 секунд.", + "settings_latitude": "Широта", + "settings_longitude": "Долгота", + "settings_privacyMode": "Режим конфиденциальности", + "settings_privacyModeSubtitle": "Скрыть имя/позицию в анонсировании", + "settings_privacyModeToggle": "Включите режим конфиденциальности, чтобы скрыть свое имя и местоположение в анонсировании.", + "settings_privacyModeEnabled": "Режим конфиденциальности включен", + "settings_privacyModeDisabled": "Режим конфиденциальности выключен", + "settings_actions": "Действия", + "settings_sendAdvertisement": "Отправить анонсирование", + "settings_sendAdvertisementSubtitle": "Отправить анонсирование о присутствии сейчас", + "settings_advertisementSent": "Анонсирование отправлено", + "settings_syncTime": "Синхронизация времени", + "settings_syncTimeSubtitle": "Синхронизировать время с телефоном", + "settings_timeSynchronized": "Время синхронизировано", + "settings_refreshContacts": "Обновить контакты", + "settings_refreshContactsSubtitle": "Перезагрузить список контактов с устройства", + "settings_rebootDevice": "Перезагрузить устройство", + "settings_rebootDeviceSubtitle": "Перезапустить устройство MeshCore", + "settings_rebootDeviceConfirm": "Ð’Ñ‹ уверены, что хотите перезагрузить устройство? Ð’Ñ‹ будете отключены.", + "settings_debug": "Отладка", + "settings_bleDebugLog": "Журнал отладки BLE", + "settings_bleDebugLogSubtitle": "Команды BLE, ответы и сырые данные", + "settings_appDebugLog": "Журнал отладки приложения", + "settings_appDebugLogSubtitle": "Сообщения отладки приложения", + "settings_about": "О программе", "settings_aboutVersion": "MeshCore Open v{version}", "settings_aboutLegalese": "2026 MeshCore Open Source Project", - "settings_aboutDescription": "Открытое клиентское приложение на Flutter для устройств MeshCore с LoRa-сетями.", - "settings_infoName": "Имя", + "settings_aboutDescription": "Открытое клиентское приложение на Flutter для устройств MeshCore с LoRa-сетями.", + "settings_infoName": "Имя", "settings_infoId": "ID", - "settings_infoStatus": "Статус", - "settings_infoBattery": "Батарея", - "settings_infoPublicKey": "Публичный ключ", - "settings_infoContactsCount": "Количество контактов", - "settings_infoChannelCount": "Количество каналов", - "settings_presets": "Пресеты", - "settings_frequency": "Частота (МГц)", - "settings_frequencyHelper": "300.0 – 2500.0", - "settings_frequencyInvalid": "Недопустимая частота (300–2500 МГц)", - "settings_bandwidth": "Полоса пропускания", - "settings_spreadingFactor": "Коэффициент расширения", - "settings_codingRate": "Коэффициент кодирования", - "settings_txPower": "Мощность передачи (дБм)", - "settings_txPowerHelper": "0 – 22", - "settings_txPowerInvalid": "Недопустимая мощность передачи (0–22 дБм)", - "settings_error": "Ошибка: {message}", - "appSettings_title": "Настройки приложения", - "appSettings_appearance": "Внешний вид", - "appSettings_theme": "Тема", - "appSettings_themeSystem": "Как в системе", - "appSettings_themeLight": "Светлая", - "appSettings_themeDark": "Тёмная", - "appSettings_language": "Язык", - "appSettings_languageSystem": "Как в системе", - "appSettings_languageEn": "Английский", - "appSettings_languageFr": "Французский", - "appSettings_languageEs": "Испанский", - "appSettings_languageDe": "Немецкий", - "appSettings_languagePl": "Польский", - "appSettings_languageSl": "Словенский", - "appSettings_languagePt": "Португальский", - "appSettings_languageIt": "Итальянский", - "appSettings_languageZh": "Китайский", - "appSettings_languageSv": "Шведский", - "appSettings_languageNl": "Нидерландский", - "appSettings_languageSk": "Словацкий", - "appSettings_languageBg": "Болгарский", - "appSettings_languageRu": "Русский", - "appSettings_notifications": "Уведомления", - "appSettings_enableNotifications": "Включить уведомления", - "appSettings_enableNotificationsSubtitle": "Получать уведомления о сообщениях и оповещениях", - "appSettings_notificationPermissionDenied": "Разрешение на уведомления отклонено", - "appSettings_notificationsEnabled": "Уведомления включены", - "appSettings_notificationsDisabled": "Уведомления отключены", - "appSettings_messageNotifications": "Уведомления о сообщениях", - "appSettings_messageNotificationsSubtitle": "Показывать уведомление при получении новых сообщений", - "appSettings_channelMessageNotifications": "Уведомления о сообщениях в каналах", - "appSettings_channelMessageNotificationsSubtitle": "Показывать уведомление при получении сообщений в каналах", - "appSettings_advertisementNotifications": "Уведомления об анонсированиях", - "appSettings_advertisementNotificationsSubtitle": "Показывать уведомление при обнаружении новых нод", - "appSettings_messaging": "Обмен сообщениями", - "appSettings_clearPathOnMaxRetry": "Сбросить маршрут после максимального числа попыток", - "appSettings_clearPathOnMaxRetrySubtitle": "Сбросить маршрут контакта после 5 неудачных попыток отправки", - "appSettings_pathsWillBeCleared": "Маршруты будут сброшены после 5 неудачных попыток", - "appSettings_pathsWillNotBeCleared": "Маршруты не будут автоматически сбрасываться", - "appSettings_autoRouteRotation": "Автоматическое переключение маршрутов", - "appSettings_autoRouteRotationSubtitle": "Циклически переключаться между лучшими маршрутами и режимом рассылки", - "appSettings_autoRouteRotationEnabled": "Автоматическое переключение маршрутов включено", - "appSettings_autoRouteRotationDisabled": "Автоматическое переключение маршрутов отключено", - "appSettings_battery": "Батарея", - "appSettings_batteryChemistry": "Химия батареи", - "appSettings_batteryChemistryPerDevice": "Установить для устройства ({deviceName})", - "appSettings_batteryChemistryConnectFirst": "Подключитесь к устройству, чтобы выбрать", - "appSettings_batteryNmc": "18650 NMC (3.0–4.2 В)", - "appSettings_batteryLifepo4": "LiFePO4 (2.6–3.65 В)", - "appSettings_batteryLipo": "LiPo (3.0–4.2 В)", - "appSettings_mapDisplay": "Отображение карты", - "appSettings_showRepeaters": "Показывать репитеры", - "appSettings_showRepeatersSubtitle": "Отображать репитеры на карте", - "appSettings_showChatNodes": "Показывать чат-ноды", - "appSettings_showChatNodesSubtitle": "Отображать чат-ноды на карте", - "appSettings_showOtherNodes": "Показывать другие ноды", - "appSettings_showOtherNodesSubtitle": "Отображать другие типы нод на карте", - "appSettings_timeFilter": "Фильтр по времени", - "appSettings_timeFilterShowAll": "Показывать все ноды", - "appSettings_timeFilterShowLast": "Показывать ноды за последние {hours} ч", - "appSettings_mapTimeFilter": "Временной фильтр карты", - "appSettings_showNodesDiscoveredWithin": "Показывать ноды, обнаруженные за:", - "appSettings_allTime": "Всё время", - "appSettings_lastHour": "Последний час", - "appSettings_last6Hours": "Последние 6 часов", - "appSettings_last24Hours": "Последние 24 часа", - "appSettings_lastWeek": "Последнюю неделю", - "appSettings_offlineMapCache": "Кэш офлайн-карты", - "appSettings_noAreaSelected": "Область не выбрана", - "appSettings_areaSelectedZoom": "Область выбрана (масштаб {minZoom}–{maxZoom})", - "appSettings_debugCard": "Отладка", - "appSettings_appDebugLogging": "Журнал отладки приложения", - "appSettings_appDebugLoggingSubtitle": "Записывать отладочные сообщения приложения для диагностики", - "appSettings_appDebugLoggingEnabled": "Журнал отладки приложения включён", - "appSettings_appDebugLoggingDisabled": "Журнал отладки приложения отключён", - "contacts_title": "Контакты", - "contacts_noContacts": "Контактов пока нет", - "contacts_contactsWillAppear": "Контакты появятся, когда устройства начнут рассылать оповещения", - "contacts_searchContacts": "Поиск контактов...", - "contacts_noUnreadContacts": "Нет непрочитанных контактов", - "contacts_noContactsFound": "Контакты или группы не найдены", - "contacts_deleteContact": "Удалить контакт", - "contacts_removeConfirm": "Удалить {contactName} из контактов?", - "contacts_manageRepeater": "Управление репитером", - "contacts_manageRoom": "Управление сервером комнат", - "contacts_roomLogin": "Вход на сервер комнат", - "contacts_openChat": "Открыть чат", - "contacts_editGroup": "Изменить группу", - "contacts_deleteGroup": "Удалить группу", - "contacts_deleteGroupConfirm": "Удалить \"{groupName}\"?", - "contacts_newGroup": "Новая группа", - "contacts_groupName": "Имя группы", - "contacts_groupNameRequired": "Имя группы обязательно", - "contacts_groupAlreadyExists": "Группа \"{name}\" уже существует", - "contacts_filterContacts": "Фильтр контактов...", - "contacts_noContactsMatchFilter": "Нет контактов, соответствующих фильтру", - "contacts_noMembers": "Нет участников", - "contacts_lastSeenNow": "Видели только что", - "contacts_lastSeenMinsAgo": "Видели {minutes} мин назад", - "contacts_lastSeenHourAgo": "Видели 1 час назад", - "contacts_lastSeenHoursAgo": "Видели {hours} ч назад", - "contacts_lastSeenDayAgo": "Видели 1 день назад", - "contacts_lastSeenDaysAgo": "Видели {days} дн. назад", - "channels_title": "Каналы", - "channels_noChannelsConfigured": "Каналы не настроены", - "channels_addPublicChannel": "Добавить публичный канал", - "channels_searchChannels": "Поиск каналов...", - "channels_noChannelsFound": "Каналы не найдены", - "channels_channelIndex": "Канал {index}", - "channels_hashtagChannel": "Хэштег-канал", - "channels_public": "Публичный", - "channels_private": "Приватный", - "channels_publicChannel": "Публичный канал", - "channels_privateChannel": "Приватный канал", - "channels_editChannel": "Изменить канал", - "channels_muteChannel": "Отключить уведомления канала", - "channels_unmuteChannel": "Включить уведомления канала", - "channels_deleteChannel": "Удалить канал", - "channels_deleteChannelConfirm": "Удалить \"{name}\"? Это действие нельзя отменить.", - "channels_channelDeleted": "Канал \"{name}\" удалён", - "channels_addChannel": "Добавить канал", - "channels_channelIndexLabel": "Индекс канала", - "channels_channelName": "Имя канала", - "channels_usePublicChannel": "Использовать публичный канал", - "channels_standardPublicPsk": "Стандартный публичный PSK", + "settings_infoStatus": "Статус", + "settings_infoBattery": "Батарея", + "settings_infoPublicKey": "Публичный ключ", + "settings_infoContactsCount": "Количество контактов", + "settings_infoChannelCount": "Количество каналов", + "settings_presets": "Пресеты", + "settings_frequency": "Частота (МГц)", + "settings_frequencyHelper": "300.0 – 2500.0", + "settings_frequencyInvalid": "Недопустимая частота (300–2500 МГц)", + "settings_bandwidth": "Полоса пропускания", + "settings_spreadingFactor": "Коэффициент расширения", + "settings_codingRate": "Коэффициент кодирования", + "settings_txPower": "Мощность передачи (дБм)", + "settings_txPowerHelper": "0 – 22", + "settings_txPowerInvalid": "Недопустимая мощность передачи (0–22 дБм)", + "settings_error": "Ошибка: {message}", + "appSettings_title": "Настройки приложения", + "appSettings_appearance": "Внешний вид", + "appSettings_theme": "Тема", + "appSettings_themeSystem": "Как в системе", + "appSettings_themeLight": "Светлая", + "appSettings_themeDark": "Тёмная", + "appSettings_language": "Язык", + "appSettings_languageSystem": "Как в системе", + "appSettings_languageEn": "Английский", + "appSettings_languageFr": "Французский", + "appSettings_languageEs": "Испанский", + "appSettings_languageDe": "Немецкий", + "appSettings_languagePl": "Польский", + "appSettings_languageSl": "Словенский", + "appSettings_languagePt": "Португальский", + "appSettings_languageIt": "Итальянский", + "appSettings_languageZh": "Китайский", + "appSettings_languageSv": "Шведский", + "appSettings_languageNl": "Нидерландский", + "appSettings_languageSk": "Словацкий", + "appSettings_languageBg": "Болгарский", + "appSettings_languageRu": "Русский", + "appSettings_notifications": "Уведомления", + "appSettings_enableNotifications": "Включить уведомления", + "appSettings_enableNotificationsSubtitle": "Получать уведомления о сообщениях и оповещениях", + "appSettings_notificationPermissionDenied": "Разрешение на уведомления отклонено", + "appSettings_notificationsEnabled": "Уведомления включены", + "appSettings_notificationsDisabled": "Уведомления отключены", + "appSettings_messageNotifications": "Уведомления о сообщениях", + "appSettings_messageNotificationsSubtitle": "Показывать уведомление при получении новых сообщений", + "appSettings_channelMessageNotifications": "Уведомления о сообщениях в каналах", + "appSettings_channelMessageNotificationsSubtitle": "Показывать уведомление при получении сообщений в каналах", + "appSettings_advertisementNotifications": "Уведомления об анонсированиях", + "appSettings_advertisementNotificationsSubtitle": "Показывать уведомление при обнаружении новых нод", + "appSettings_messaging": "Обмен сообщениями", + "appSettings_clearPathOnMaxRetry": "Сбросить маршрут после максимального числа попыток", + "appSettings_clearPathOnMaxRetrySubtitle": "Сбросить маршрут контакта после 5 неудачных попыток отправки", + "appSettings_pathsWillBeCleared": "Маршруты будут сброшены после 5 неудачных попыток", + "appSettings_pathsWillNotBeCleared": "Маршруты не будут автоматически сбрасываться", + "appSettings_autoRouteRotation": "Автоматическое переключение маршрутов", + "appSettings_autoRouteRotationSubtitle": "Циклически переключаться между лучшими маршрутами и режимом рассылки", + "appSettings_autoRouteRotationEnabled": "Автоматическое переключение маршрутов включено", + "appSettings_autoRouteRotationDisabled": "Автоматическое переключение маршрутов отключено", + "appSettings_battery": "Батарея", + "appSettings_batteryChemistry": "Химия батареи", + "appSettings_batteryChemistryPerDevice": "Установить для устройства ({deviceName})", + "appSettings_batteryChemistryConnectFirst": "Подключитесь к устройству, чтобы выбрать", + "appSettings_batteryNmc": "18650 NMC (3.0–4.2 Ð’)", + "appSettings_batteryLifepo4": "LiFePO4 (2.6–3.65 Ð’)", + "appSettings_batteryLipo": "LiPo (3.0–4.2 Ð’)", + "appSettings_mapDisplay": "Отображение карты", + "appSettings_showRepeaters": "Показывать репитеры", + "appSettings_showRepeatersSubtitle": "Отображать репитеры на карте", + "appSettings_showChatNodes": "Показывать чат-ноды", + "appSettings_showChatNodesSubtitle": "Отображать чат-ноды на карте", + "appSettings_showOtherNodes": "Показывать другие ноды", + "appSettings_showOtherNodesSubtitle": "Отображать другие типы нод на карте", + "appSettings_timeFilter": "Фильтр по времени", + "appSettings_timeFilterShowAll": "Показывать все ноды", + "appSettings_timeFilterShowLast": "Показывать ноды за последние {hours} ч", + "appSettings_mapTimeFilter": "Временной фильтр карты", + "appSettings_showNodesDiscoveredWithin": "Показывать ноды, обнаруженные за:", + "appSettings_allTime": "Всё время", + "appSettings_lastHour": "Последний час", + "appSettings_last6Hours": "Последние 6 часов", + "appSettings_last24Hours": "Последние 24 часа", + "appSettings_lastWeek": "Последнюю неделю", + "appSettings_offlineMapCache": "Кэш офлайн-карты", + "appSettings_noAreaSelected": "Область не выбрана", + "appSettings_areaSelectedZoom": "Область выбрана (масштаб {minZoom}–{maxZoom})", + "appSettings_debugCard": "Отладка", + "appSettings_appDebugLogging": "Журнал отладки приложения", + "appSettings_appDebugLoggingSubtitle": "Записывать отладочные сообщения приложения для диагностики", + "appSettings_appDebugLoggingEnabled": "Журнал отладки приложения включён", + "appSettings_appDebugLoggingDisabled": "Журнал отладки приложения отключён", + "contacts_title": "Контакты", + "contacts_noContacts": "Контактов пока нет", + "contacts_contactsWillAppear": "Контакты появятся, когда устройства начнут рассылать оповещения", + "contacts_searchContacts": "Поиск контактов...", + "contacts_noUnreadContacts": "Нет непрочитанных контактов", + "contacts_noContactsFound": "Контакты или группы не найдены", + "contacts_deleteContact": "Удалить контакт", + "contacts_removeConfirm": "Удалить {contactName} из контактов?", + "contacts_manageRepeater": "Управление репитером", + "contacts_manageRoom": "Управление сервером комнат", + "contacts_roomLogin": "Вход на сервер комнат", + "contacts_openChat": "Открыть чат", + "contacts_editGroup": "Изменить группу", + "contacts_deleteGroup": "Удалить группу", + "contacts_deleteGroupConfirm": "Удалить \"{groupName}\"?", + "contacts_newGroup": "Новая группа", + "contacts_groupName": "Имя группы", + "contacts_groupNameRequired": "Имя группы обязательно", + "contacts_groupAlreadyExists": "Группа \"{name}\" уже существует", + "contacts_filterContacts": "Фильтр контактов...", + "contacts_noContactsMatchFilter": "Нет контактов, соответствующих фильтру", + "contacts_noMembers": "Нет участников", + "contacts_lastSeenNow": "Видели только что", + "contacts_lastSeenMinsAgo": "Видели {minutes} мин назад", + "contacts_lastSeenHourAgo": "Видели 1 час назад", + "contacts_lastSeenHoursAgo": "Видели {hours} ч назад", + "contacts_lastSeenDayAgo": "Видели 1 день назад", + "contacts_lastSeenDaysAgo": "Видели {days} дн. назад", + "channels_title": "Каналы", + "channels_noChannelsConfigured": "Каналы не настроены", + "channels_addPublicChannel": "Добавить публичный канал", + "channels_searchChannels": "Поиск каналов...", + "channels_noChannelsFound": "Каналы не найдены", + "channels_channelIndex": "Канал {index}", + "channels_hashtagChannel": "Хэштег-канал", + "channels_public": "Публичный", + "channels_private": "Приватный", + "channels_publicChannel": "Публичный канал", + "channels_privateChannel": "Приватный канал", + "channels_editChannel": "Изменить канал", + "channels_muteChannel": "Отключить уведомления канала", + "channels_unmuteChannel": "Включить уведомления канала", + "channels_deleteChannel": "Удалить канал", + "channels_deleteChannelConfirm": "Удалить \"{name}\"? Это действие нельзя отменить.", + "channels_channelDeleted": "Канал \"{name}\" удалён", + "channels_addChannel": "Добавить канал", + "channels_channelIndexLabel": "Индекс канала", + "channels_channelName": "Имя канала", + "channels_usePublicChannel": "Использовать публичный канал", + "channels_standardPublicPsk": "Стандартный публичный PSK", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Сгенерировать случайный PSK", - "channels_enterChannelName": "Введите имя канала", - "channels_pskMustBe32Hex": "PSK должен содержать 32 шестнадцатеричных символа", - "channels_channelAdded": "Канал \"{name}\" добавлен", - "channels_editChannelTitle": "Изменить канал {index}", - "channels_smazCompression": "Сжатие SMAZ", - "channels_channelUpdated": "Канал \"{name}\" обновлён", - "channels_publicChannelAdded": "Публичный канал добавлен", - "channels_sortBy": "Сортировка", - "channels_sortManual": "Вручную", - "channels_sortAZ": "По алфавиту", - "channels_sortLatestMessages": "По последним сообщениям", - "channels_sortUnread": "По непрочитанным", - "channels_createPrivateChannel": "Создать приватный канал", - "channels_createPrivateChannelDesc": "Защищён секретным ключом.", - "channels_joinPrivateChannel": "Присоединиться к приватному каналу", - "channels_joinPrivateChannelDesc": "Введите секретный ключ вручную.", - "channels_joinPublicChannel": "Присоединиться к публичному каналу", - "channels_joinPublicChannelDesc": "К этому каналу может присоединиться любой.", - "channels_joinHashtagChannel": "Присоединиться к хэштег-каналу", - "channels_joinHashtagChannelDesc": "К хэштег-каналам может присоединиться любой.", - "channels_scanQrCode": "Сканировать QR-код", - "channels_scanQrCodeComingSoon": "Скоро будет", - "channels_enterHashtag": "Введите хэштег", - "channels_hashtagHint": "например, #команда", - "chat_noMessages": "Сообщений пока нет", - "chat_sendMessageToStart": "Отправьте сообщение, чтобы начать", - "chat_originalMessageNotFound": "Исходное сообщение не найдено", - "chat_replyingTo": "Ответ для {name}", - "chat_replyTo": "Ответить {name}", - "chat_location": "Местоположение", - "chat_sendMessageTo": "Отправить сообщение {contactName}", - "chat_typeMessage": "Напишите сообщение...", - "chat_messageTooLong": "Сообщение слишком длинное (макс. {maxBytes} байт).", - "chat_messageCopied": "Сообщение скопировано", - "chat_messageDeleted": "Сообщение удалено", - "chat_retryingMessage": "Повтор отправки сообщения", - "chat_retryCount": "Попытка {current}/{max}", - "chat_sendGif": "Отправить GIF", - "chat_reply": "Ответить", - "chat_addReaction": "Добавить реакцию", - "chat_me": "Я", - "emojiCategorySmileys": "Смайлы", - "emojiCategoryGestures": "Жесты", - "emojiCategoryHearts": "Сердечки", - "emojiCategoryObjects": "Предметы", - "gifPicker_title": "Выберите GIF", - "gifPicker_searchHint": "Поиск GIF...", - "gifPicker_poweredBy": "Работает на GIPHY", - "gifPicker_noGifsFound": "GIF не найдены", - "gifPicker_failedLoad": "Не удалось загрузить GIF", - "gifPicker_failedSearch": "Не удалось выполнить поиск GIF", - "gifPicker_noInternet": "Нет подключения к интернету", - "debugLog_appTitle": "Журнал отладки приложения", - "debugLog_bleTitle": "Журнал отладки BLE", - "debugLog_copyLog": "Копировать журнал", - "debugLog_clearLog": "Очистить журнал", - "debugLog_copied": "Журнал отладки скопирован", - "debugLog_bleCopied": "Журнал BLE скопирован", - "debugLog_noEntries": "Журнал отладки пока пуст", - "debugLog_enableInSettings": "Включите запись журнала отладки в настройках", - "debugLog_frames": "Фреймы", - "debugLog_rawLogRx": "Сырой журнал приёма", - "debugLog_noBleActivity": "Активность BLE пока отсутствует", - "debugFrame_length": "Длина фрейма: {count} байт", - "debugFrame_command": "Команда: 0x{value}", - "debugFrame_textMessageHeader": "Фрейм текстового сообщения:", - "debugFrame_destinationPubKey": "- Публичный ключ получателя: {pubKey}", - "debugFrame_timestamp": "- Временная метка: {timestamp}", - "debugFrame_flags": "- Флаги: 0x{value}", - "debugFrame_textType": "- Тип текста: {type} ({label})", + "channels_generateRandomPsk": "Сгенерировать случайный PSK", + "channels_enterChannelName": "Введите имя канала", + "channels_pskMustBe32Hex": "PSK должен содержать 32 шестнадцатеричных символа", + "channels_channelAdded": "Канал \"{name}\" добавлен", + "channels_editChannelTitle": "Изменить канал {index}", + "channels_smazCompression": "Сжатие SMAZ", + "channels_channelUpdated": "Канал \"{name}\" обновлён", + "channels_publicChannelAdded": "Публичный канал добавлен", + "channels_sortBy": "Сортировка", + "channels_sortManual": "Вручную", + "channels_sortAZ": "По алфавиту", + "channels_sortLatestMessages": "По последним сообщениям", + "channels_sortUnread": "По непрочитанным", + "channels_createPrivateChannel": "Создать приватный канал", + "channels_createPrivateChannelDesc": "Защищён секретным ключом.", + "channels_joinPrivateChannel": "Присоединиться к приватному каналу", + "channels_joinPrivateChannelDesc": "Введите секретный ключ вручную.", + "channels_joinPublicChannel": "Присоединиться к публичному каналу", + "channels_joinPublicChannelDesc": "К этому каналу может присоединиться любой.", + "channels_joinHashtagChannel": "Присоединиться к хэштег-каналу", + "channels_joinHashtagChannelDesc": "К хэштег-каналам может присоединиться любой.", + "channels_scanQrCode": "Сканировать QR-код", + "channels_scanQrCodeComingSoon": "Скоро будет", + "channels_enterHashtag": "Введите хэштег", + "channels_hashtagHint": "например, #команда", + "chat_noMessages": "Сообщений пока нет", + "chat_sendMessageToStart": "Отправьте сообщение, чтобы начать", + "chat_originalMessageNotFound": "Исходное сообщение не найдено", + "chat_replyingTo": "Ответ для {name}", + "chat_replyTo": "Ответить {name}", + "chat_location": "Местоположение", + "chat_sendMessageTo": "Отправить сообщение {contactName}", + "chat_typeMessage": "Напишите сообщение...", + "chat_messageTooLong": "Сообщение слишком длинное (макс. {maxBytes} байт).", + "chat_messageCopied": "Сообщение скопировано", + "chat_messageDeleted": "Сообщение удалено", + "chat_retryingMessage": "Повтор отправки сообщения", + "chat_retryCount": "Попытка {current}/{max}", + "chat_sendGif": "Отправить GIF", + "chat_reply": "Ответить", + "chat_addReaction": "Добавить реакцию", + "chat_me": "Я", + "emojiCategorySmileys": "Смайлы", + "emojiCategoryGestures": "Жесты", + "emojiCategoryHearts": "Сердечки", + "emojiCategoryObjects": "Предметы", + "gifPicker_title": "Выберите GIF", + "gifPicker_searchHint": "Поиск GIF...", + "gifPicker_poweredBy": "Работает на GIPHY", + "gifPicker_noGifsFound": "GIF не найдены", + "gifPicker_failedLoad": "Не удалось загрузить GIF", + "gifPicker_failedSearch": "Не удалось выполнить поиск GIF", + "gifPicker_noInternet": "Нет подключения к интернету", + "debugLog_appTitle": "Журнал отладки приложения", + "debugLog_bleTitle": "Журнал отладки BLE", + "debugLog_copyLog": "Копировать журнал", + "debugLog_clearLog": "Очистить журнал", + "debugLog_copied": "Журнал отладки скопирован", + "debugLog_bleCopied": "Журнал BLE скопирован", + "debugLog_noEntries": "Журнал отладки пока пуст", + "debugLog_enableInSettings": "Включите запись журнала отладки в настройках", + "debugLog_frames": "Фреймы", + "debugLog_rawLogRx": "Сырой журнал приёма", + "debugLog_noBleActivity": "Активность BLE пока отсутствует", + "debugFrame_length": "Длина фрейма: {count} байт", + "debugFrame_command": "Команда: 0x{value}", + "debugFrame_textMessageHeader": "Фрейм текстового сообщения:", + "debugFrame_destinationPubKey": "- Публичный ключ получателя: {pubKey}", + "debugFrame_timestamp": "- Временная метка: {timestamp}", + "debugFrame_flags": "- Флаги: 0x{value}", + "debugFrame_textType": "- Тип текста: {type} ({label})", "debugFrame_textTypeCli": "CLI", - "debugFrame_textTypePlain": "Обычный", - "debugFrame_text": "- Текст: \"{text}\"", - "debugFrame_hexDump": "Шестнадцатеричный дамп:", - "chat_pathManagement": "Управление маршрутами", - "chat_routingMode": "Режим маршрутизации", - "chat_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", - "chat_forceFloodMode": "Принудительный режим рассылки", - "chat_recentAckPaths": "Недавние подтверждённые маршруты (нажмите, чтобы использовать):", - "chat_pathHistoryFull": "История маршрутов заполнена. Удалите записи, чтобы добавить новые.", - "chat_hopSingular": "хоп", - "chat_hopPlural": "хопов", - "chat_hopsCount": "{count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", - "chat_successes": "успешно", - "chat_removePath": "Удалить маршрут", - "chat_noPathHistoryYet": "История маршрутов пока пуста.\nОтправьте сообщение, чтобы обнаружить маршруты.", - "chat_pathActions": "Действия с маршрутом:", - "chat_setCustomPath": "Указать маршрут вручную", - "chat_setCustomPathSubtitle": "Вручную задать маршрут передачи", - "chat_clearPath": "Очистить маршрут", - "chat_clearPathSubtitle": "Принудительно обновить маршрут при следующей отправке", - "chat_pathCleared": "Маршрут очищен. Следующее сообщение обновит маршрут.", - "chat_floodModeSubtitle": "Используйте переключатель маршрутизации в панели приложения", - "chat_floodModeEnabled": "Режим рассылки включён. Отключите через значок маршрутизации в панели приложения.", - "chat_fullPath": "Полный маршрут", - "chat_pathDetailsNotAvailable": "Детали маршрута ещё недоступны. Попробуйте отправить сообщение для обновления.", - "chat_pathSetHops": "Маршрут установлен: {hopCount} {hopCount, plural, one{хоп} few{хопа} many{хопов} other{хопов}} — {status}", - "chat_pathSavedLocally": "Сохранено локально. Подключитесь для синхронизации.", - "chat_pathDeviceConfirmed": "Подтверждено устройством.", - "chat_pathDeviceNotConfirmed": "Ещё не подтверждено устройством.", - "chat_type": "Тип", - "chat_path": "Маршрут", - "chat_publicKey": "Публичный ключ", - "chat_compressOutgoingMessages": "Сжимать исходящие сообщения", - "chat_floodForced": "Рассылка (принудительно)", - "chat_directForced": "Прямой (принудительно)", - "chat_hopsForced": "{count} хоп(ов) (принудительно)", - "chat_floodAuto": "Рассылка (авто)", - "chat_direct": "Прямой", - "chat_poiShared": "Точка интереса отправлена", - "chat_unread": "Непрочитанных: {count}", - "map_title": "Карта нод", - "map_noNodesWithLocation": "Нет нод с данными о местоположении", - "map_nodesNeedGps": "Ноды должны передавать свои GPS-координаты, чтобы отображаться на карте", - "map_nodesCount": "Нод: {count}", - "map_pinsCount": "Меток: {count}", - "map_chat": "Чат", - "map_repeater": "Репитер", - "map_room": "Комната", - "map_sensor": "Сенсор", - "map_pinDm": "Метка (ЛС)", - "map_pinPrivate": "Метка (Приватная)", - "map_pinPublic": "Метка (Публичная)", - "map_lastSeen": "Последнее появление", - "map_disconnectConfirm": "Вы уверены, что хотите отключиться от этого устройства?", - "map_from": "От", - "map_source": "Источник", - "map_flags": "Флаги", - "map_shareMarkerHere": "Поделиться меткой здесь", - "map_pinLabel": "Метка", - "map_label": "Подпись", - "map_pointOfInterest": "Точка интереса", - "map_sendToContact": "Отправить контакту", - "map_sendToChannel": "Отправить в канал", - "map_noChannelsAvailable": "Нет доступных каналов", - "map_publicLocationShare": "Публичная передача местоположения", - "map_publicLocationShareConfirm": "Вы собираетесь поделиться местоположением в {channelLabel}. Этот канал публичный, и любой, у кого есть PSK, сможет его увидеть.", - "map_connectToShareMarkers": "Подключитесь к устройству, чтобы делиться метками", - "map_filterNodes": "Фильтр нод", - "map_nodeTypes": "Типы нод", - "map_chatNodes": "Чат-ноды", - "map_repeaters": "Репитеры", - "map_otherNodes": "Другие ноды", - "map_keyPrefix": "Префикс ключа", - "map_filterByKeyPrefix": "Фильтр по префиксу ключа", - "map_publicKeyPrefix": "Префикс публичного ключа", - "map_markers": "Метки", - "map_showSharedMarkers": "Показывать общие метки", - "map_lastSeenTime": "Время последнего появления", - "map_sharedPin": "Общая метка", - "map_joinRoom": "Присоединиться к комнате", - "map_manageRepeater": "Управление репитером", - "mapCache_title": "Кэш офлайн-карты", - "mapCache_selectAreaFirst": "Сначала выберите область для кэширования", - "mapCache_noTilesToDownload": "Нет плиток для загрузки в этой области", - "mapCache_downloadTilesTitle": "Загрузить плитки", - "mapCache_downloadTilesPrompt": "Загрузить {count} плиток для офлайн-использования?", - "mapCache_downloadAction": "Загрузить", - "mapCache_cachedTiles": "Закэшировано {count} плиток", - "mapCache_cachedTilesWithFailed": "Закэшировано {downloaded} плиток ({failed} не загружено)", - "mapCache_clearOfflineCacheTitle": "Очистить офлайн-кэш", - "mapCache_clearOfflineCachePrompt": "Удалить все закэшированные плитки карты?", - "mapCache_offlineCacheCleared": "Офлайн-кэш очищен", - "mapCache_noAreaSelected": "Область не выбрана", - "mapCache_cacheArea": "Область кэширования", - "mapCache_useCurrentView": "Использовать текущий вид", - "mapCache_zoomRange": "Диапазон масштаба", - "mapCache_estimatedTiles": "Оценочное количество плиток: {count}", - "mapCache_downloadedTiles": "Загружено {completed} из {total}", - "mapCache_downloadTilesButton": "Загрузить плитки", - "mapCache_clearCacheButton": "Очистить кэш", - "mapCache_failedDownloads": "Неудачных загрузок: {count}", - "mapCache_boundsLabel": "С {north}, Ю {south}, В {east}, З {west}", - "time_justNow": "Только что", - "time_minutesAgo": "{minutes} мин назад", - "time_hoursAgo": "{hours} ч назад", - "time_daysAgo": "{days} дн. назад", - "time_hour": "час", - "time_hours": "часов", - "time_day": "день", - "time_days": "дней", - "time_week": "неделя", - "time_weeks": "недель", - "time_month": "месяц", - "time_months": "месяцев", - "time_minutes": "минут", - "time_allTime": "Всё время", - "dialog_disconnect": "Отключиться", - "dialog_disconnectConfirm": "Вы уверены, что хотите отключиться от этого устройства?", - "login_repeaterLogin": "Вход в репитер", - "login_roomLogin": "Вход на сервер комнат", - "login_password": "Пароль", - "login_enterPassword": "Введите пароль", - "login_savePassword": "Сохранить пароль", - "login_savePasswordSubtitle": "Пароль будет надёжно сохранён на этом устройстве", - "login_repeaterDescription": "Введите пароль репитера для доступа к настройкам и статусу.", - "login_roomDescription": "Введите пароль комнаты для доступа к настройкам и статусу.", - "login_routing": "Маршрутизация", - "login_routingMode": "Режим маршрутизации", - "login_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", - "login_forceFloodMode": "Принудительный режим рассылки", - "login_managePaths": "Управление маршрутами", - "login_login": "Войти", - "login_attempt": "Попытка {current}/{max}", - "login_failed": "Ошибка входа: {error}", - "login_failedMessage": "Не удалось войти. Либо пароль неверен, либо репитер недоступен.", - "common_reload": "Обновить", - "common_clear": "Очистить", - "path_currentPath": "Текущий маршрут: {path}", - "path_usingHopsPath": "Используется маршрут из {count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", - "path_enterCustomPath": "Введите маршрут вручную", - "path_currentPathLabel": "Текущий маршрут", - "path_hexPrefixInstructions": "Введите 2-символьные шестнадцатеричные префиксы для каждого хопа, разделённые запятыми.", - "path_hexPrefixExample": "Пример: A1,F2,3C (каждый узел использует первый байт своего публичного ключа)", - "path_labelHexPrefixes": "Маршрут (шестнадцатеричные префиксы)", - "path_helperMaxHops": "Максимум 64 хопа. Каждый префикс — 2 шестнадцатеричных символа (1 байт)", - "path_selectFromContacts": "Или выберите из контактов:", - "path_noRepeatersFound": "Репитеры или серверы комнат не найдены.", - "path_customPathsRequire": "Пользовательские маршруты требуют промежуточных узлов, способных ретранслировать сообщения.", - "path_invalidHexPrefixes": "Недопустимые шестнадцатеричные префиксы: {prefixes}", - "path_tooLong": "Маршрут слишком длинный. Максимум 64 хопа.", - "path_setPath": "Установить маршрут", - "repeater_management": "Управление репитером", - "room_management": "Управление сервером комнат", - "repeater_managementTools": "Инструменты управления", - "repeater_status": "Статус", - "repeater_statusSubtitle": "Просмотр статуса, статистики и соседей репитера", - "repeater_telemetry": "Телеметрия", - "repeater_telemetrySubtitle": "Просмотр телеметрии датчиков и системной статистики", + "debugFrame_textTypePlain": "Обычный", + "debugFrame_text": "- Текст: \"{text}\"", + "debugFrame_hexDump": "Шестнадцатеричный дамп:", + "chat_pathManagement": "Управление маршрутами", + "chat_routingMode": "Режим маршрутизации", + "chat_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", + "chat_forceFloodMode": "Принудительный режим рассылки", + "chat_recentAckPaths": "Недавние подтверждённые маршруты (нажмите, чтобы использовать):", + "chat_pathHistoryFull": "История маршрутов заполнена. Удалите записи, чтобы добавить новые.", + "chat_hopSingular": "хоп", + "chat_hopPlural": "хопов", + "chat_hopsCount": "{count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", + "chat_successes": "успешно", + "chat_removePath": "Удалить маршрут", + "chat_noPathHistoryYet": "История маршрутов пока пуста.\nОтправьте сообщение, чтобы обнаружить маршруты.", + "chat_pathActions": "Действия с маршрутом:", + "chat_setCustomPath": "Указать маршрут вручную", + "chat_setCustomPathSubtitle": "Вручную задать маршрут передачи", + "chat_clearPath": "Очистить маршрут", + "chat_clearPathSubtitle": "Принудительно обновить маршрут при следующей отправке", + "chat_pathCleared": "Маршрут очищен. Следующее сообщение обновит маршрут.", + "chat_floodModeSubtitle": "Используйте переключатель маршрутизации в панели приложения", + "chat_floodModeEnabled": "Режим рассылки включён. Отключите через значок маршрутизации в панели приложения.", + "chat_fullPath": "Полный маршрут", + "chat_pathDetailsNotAvailable": "Детали маршрута ещё недоступны. Попробуйте отправить сообщение для обновления.", + "chat_pathSetHops": "Маршрут установлен: {hopCount} {hopCount, plural, one{хоп} few{хопа} many{хопов} other{хопов}} — {status}", + "chat_pathSavedLocally": "Сохранено локально. Подключитесь для синхронизации.", + "chat_pathDeviceConfirmed": "Подтверждено устройством.", + "chat_pathDeviceNotConfirmed": "Ещё не подтверждено устройством.", + "chat_type": "Тип", + "chat_path": "Маршрут", + "chat_publicKey": "Публичный ключ", + "chat_compressOutgoingMessages": "Сжимать исходящие сообщения", + "chat_floodForced": "Рассылка (принудительно)", + "chat_directForced": "Прямой (принудительно)", + "chat_hopsForced": "{count} хоп(ов) (принудительно)", + "chat_floodAuto": "Рассылка (авто)", + "chat_direct": "Прямой", + "chat_poiShared": "Точка интереса отправлена", + "chat_unread": "Непрочитанных: {count}", + "map_title": "Карта нод", + "map_noNodesWithLocation": "Нет нод с данными о местоположении", + "map_nodesNeedGps": "Ноды должны передавать свои GPS-координаты, чтобы отображаться на карте", + "map_nodesCount": "Нод: {count}", + "map_pinsCount": "Меток: {count}", + "map_chat": "Чат", + "map_repeater": "Репитер", + "map_room": "Комната", + "map_sensor": "Сенсор", + "map_pinDm": "Метка (ЛС)", + "map_pinPrivate": "Метка (Приватная)", + "map_pinPublic": "Метка (Публичная)", + "map_lastSeen": "Последнее появление", + "map_disconnectConfirm": "Ð’Ñ‹ уверены, что хотите отключиться от этого устройства?", + "map_from": "От", + "map_source": "Источник", + "map_flags": "Флаги", + "map_shareMarkerHere": "Поделиться меткой здесь", + "map_pinLabel": "Метка", + "map_label": "Подпись", + "map_pointOfInterest": "Точка интереса", + "map_sendToContact": "Отправить контакту", + "map_sendToChannel": "Отправить в канал", + "map_noChannelsAvailable": "Нет доступных каналов", + "map_publicLocationShare": "Публичная передача местоположения", + "map_publicLocationShareConfirm": "Ð’Ñ‹ собираетесь поделиться местоположением в {channelLabel}. Этот канал публичный, и любой, у кого есть PSK, сможет его увидеть.", + "map_connectToShareMarkers": "Подключитесь к устройству, чтобы делиться метками", + "map_filterNodes": "Фильтр нод", + "map_nodeTypes": "Типы нод", + "map_chatNodes": "Чат-ноды", + "map_repeaters": "Репитеры", + "map_otherNodes": "Другие ноды", + "map_keyPrefix": "Префикс ключа", + "map_filterByKeyPrefix": "Фильтр по префиксу ключа", + "map_publicKeyPrefix": "Префикс публичного ключа", + "map_markers": "Метки", + "map_showSharedMarkers": "Показывать общие метки", + "map_lastSeenTime": "Время последнего появления", + "map_sharedPin": "Общая метка", + "map_joinRoom": "Присоединиться к комнате", + "map_manageRepeater": "Управление репитером", + "mapCache_title": "Кэш офлайн-карты", + "mapCache_selectAreaFirst": "Сначала выберите область для кэширования", + "mapCache_noTilesToDownload": "Нет плиток для загрузки в этой области", + "mapCache_downloadTilesTitle": "Загрузить плитки", + "mapCache_downloadTilesPrompt": "Загрузить {count} плиток для офлайн-использования?", + "mapCache_downloadAction": "Загрузить", + "mapCache_cachedTiles": "Закэшировано {count} плиток", + "mapCache_cachedTilesWithFailed": "Закэшировано {downloaded} плиток ({failed} не загружено)", + "mapCache_clearOfflineCacheTitle": "Очистить офлайн-кэш", + "mapCache_clearOfflineCachePrompt": "Удалить все закэшированные плитки карты?", + "mapCache_offlineCacheCleared": "Офлайн-кэш очищен", + "mapCache_noAreaSelected": "Область не выбрана", + "mapCache_cacheArea": "Область кэширования", + "mapCache_useCurrentView": "Использовать текущий вид", + "mapCache_zoomRange": "Диапазон масштаба", + "mapCache_estimatedTiles": "Оценочное количество плиток: {count}", + "mapCache_downloadedTiles": "Загружено {completed} из {total}", + "mapCache_downloadTilesButton": "Загрузить плитки", + "mapCache_clearCacheButton": "Очистить кэш", + "mapCache_failedDownloads": "Неудачных загрузок: {count}", + "mapCache_boundsLabel": "С {north}, Ю {south}, Ð’ {east}, З {west}", + "time_justNow": "Только что", + "time_minutesAgo": "{minutes} мин назад", + "time_hoursAgo": "{hours} ч назад", + "time_daysAgo": "{days} дн. назад", + "time_hour": "час", + "time_hours": "часов", + "time_day": "день", + "time_days": "дней", + "time_week": "неделя", + "time_weeks": "недель", + "time_month": "месяц", + "time_months": "месяцев", + "time_minutes": "минут", + "time_allTime": "Всё время", + "dialog_disconnect": "Отключиться", + "dialog_disconnectConfirm": "Ð’Ñ‹ уверены, что хотите отключиться от этого устройства?", + "login_repeaterLogin": "Вход в репитер", + "login_roomLogin": "Вход на сервер комнат", + "login_password": "Пароль", + "login_enterPassword": "Введите пароль", + "login_savePassword": "Сохранить пароль", + "login_savePasswordSubtitle": "Пароль будет надёжно сохранён на этом устройстве", + "login_repeaterDescription": "Введите пароль репитера для доступа к настройкам и статусу.", + "login_roomDescription": "Введите пароль комнаты для доступа к настройкам и статусу.", + "login_routing": "Маршрутизация", + "login_routingMode": "Режим маршрутизации", + "login_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", + "login_forceFloodMode": "Принудительный режим рассылки", + "login_managePaths": "Управление маршрутами", + "login_login": "Войти", + "login_attempt": "Попытка {current}/{max}", + "login_failed": "Ошибка входа: {error}", + "login_failedMessage": "Не удалось войти. Либо пароль неверен, либо репитер недоступен.", + "common_reload": "Обновить", + "common_clear": "Очистить", + "path_currentPath": "Текущий маршрут: {path}", + "path_usingHopsPath": "Используется маршрут из {count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", + "path_enterCustomPath": "Введите маршрут вручную", + "path_currentPathLabel": "Текущий маршрут", + "path_hexPrefixInstructions": "Введите 2-символьные шестнадцатеричные префиксы для каждого хопа, разделённые запятыми.", + "path_hexPrefixExample": "Пример: A1,F2,3C (каждый узел использует первый байт своего публичного ключа)", + "path_labelHexPrefixes": "Маршрут (шестнадцатеричные префиксы)", + "path_helperMaxHops": "Максимум 64 хопа. Каждый префикс — 2 шестнадцатеричных символа (1 байт)", + "path_selectFromContacts": "Или выберите из контактов:", + "path_noRepeatersFound": "Репитеры или серверы комнат не найдены.", + "path_customPathsRequire": "Пользовательские маршруты требуют промежуточных узлов, способных ретранслировать сообщения.", + "path_invalidHexPrefixes": "Недопустимые шестнадцатеричные префиксы: {prefixes}", + "path_tooLong": "Маршрут слишком длинный. Максимум 64 хопа.", + "path_setPath": "Установить маршрут", + "repeater_management": "Управление репитером", + "room_management": "Управление сервером комнат", + "repeater_managementTools": "Инструменты управления", + "repeater_status": "Статус", + "repeater_statusSubtitle": "Просмотр статуса, статистики и соседей репитера", + "repeater_telemetry": "Телеметрия", + "repeater_telemetrySubtitle": "Просмотр телеметрии датчиков и системной статистики", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Отправка команд репитеру", - "repeater_neighbors": "Соседи", - "repeater_neighborsSubtitle": "Просмотр соседей на нулевом хопе.", - "repeater_settings": "Настройки", - "repeater_settingsSubtitle": "Настройка параметров репитера", - "repeater_statusTitle": "Статус репитера", - "repeater_routingMode": "Режим маршрутизации", - "repeater_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", - "repeater_forceFloodMode": "Принудительный режим рассылки", - "repeater_pathManagement": "Управление маршрутами", - "repeater_refresh": "Обновить", - "repeater_statusRequestTimeout": "Время ожидания статуса истекло.", - "repeater_errorLoadingStatus": "Ошибка загрузки статуса: {error}", - "repeater_systemInformation": "Системная информация", - "repeater_battery": "Батарея", - "repeater_clockAtLogin": "Время (при входе)", - "repeater_uptime": "Время работы", - "repeater_queueLength": "Длина очереди", - "repeater_debugFlags": "Флаги отладки", - "repeater_radioStatistics": "Радиостатистика", - "repeater_lastRssi": "Последний RSSI", - "repeater_lastSnr": "Последний SNR", - "repeater_noiseFloor": "Уровень шума", - "repeater_txAirtime": "Время эфира (передача)", - "repeater_rxAirtime": "Время эфира (приём)", - "repeater_packetStatistics": "Статистика пакетов", - "repeater_sent": "Отправлено", - "repeater_received": "Получено", - "repeater_duplicates": "Дубликаты", - "repeater_daysHoursMinsSecs": "{days} дн. {hours}ч {minutes}м {seconds}с", - "repeater_packetTxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", - "repeater_packetRxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", - "repeater_duplicatesFloodDirect": "Рассылка: {flood}, Прямые: {direct}", - "repeater_duplicatesTotal": "Всего: {total}", - "repeater_settingsTitle": "Настройки репитера", - "repeater_basicSettings": "Основные настройки", - "repeater_repeaterName": "Имя репитера", - "repeater_repeaterNameHelper": "Отображаемое имя этого репитера", - "repeater_adminPassword": "Пароль администратора", - "repeater_adminPasswordHelper": "Пароль с полным доступом", - "repeater_guestPassword": "Гостевой пароль", - "repeater_guestPasswordHelper": "Пароль для доступа только для чтения", - "repeater_radioSettings": "Настройки радио", - "repeater_frequencyMhz": "Частота (МГц)", - "repeater_frequencyHelper": "300–2500 МГц", - "repeater_txPower": "Мощность передачи", - "repeater_txPowerHelper": "1–30 дБм", - "repeater_bandwidth": "Полоса пропускания", - "repeater_spreadingFactor": "Коэффициент расширения", - "repeater_codingRate": "Коэффициент кодирования", - "repeater_locationSettings": "Настройки местоположения", - "repeater_latitude": "Широта", - "repeater_latitudeHelper": "В десятичных градусах (напр., 37.7749)", - "repeater_longitude": "Долгота", - "repeater_longitudeHelper": "В десятичных градусах (напр., -122.4194)", - "repeater_features": "Функции", - "repeater_packetForwarding": "Пересылка пакетов", - "repeater_packetForwardingSubtitle": "Разрешить репитеру пересылать пакеты", - "repeater_guestAccess": "Гостевой доступ", - "repeater_guestAccessSubtitle": "Разрешить гостевой доступ только для чтения", - "repeater_privacyMode": "Режим конфиденциальности", - "repeater_privacyModeSubtitle": "Скрывать имя/местоположение в оповещениях", - "repeater_advertisementSettings": "Настройки анонсирования", - "repeater_localAdvertInterval": "Интервал локальных анонсирований", - "repeater_localAdvertIntervalMinutes": "{minutes} минут", - "repeater_floodAdvertInterval": "Интервал анонсирований рассылкой (flood)", - "repeater_floodAdvertIntervalHours": "{hours} часов", - "repeater_encryptedAdvertInterval": "Интервал зашифрованных анонсирований", - "repeater_dangerZone": "Опасная зона", - "repeater_rebootRepeater": "Перезагрузить репитер", - "repeater_rebootRepeaterSubtitle": "Перезапустить устройство репитера", - "repeater_rebootRepeaterConfirm": "Вы уверены, что хотите перезагрузить этот репитер?", - "repeater_regenerateIdentityKey": "Пересоздать ключ идентификации", - "repeater_regenerateIdentityKeySubtitle": "Сгенерировать новую пару публичного/приватного ключей", - "repeater_regenerateIdentityKeyConfirm": "Это создаст новую идентичность для репитера. Продолжить?", - "repeater_eraseFileSystem": "Стереть файловую систему", - "repeater_eraseFileSystemSubtitle": "Отформатировать файловую систему репитера", - "repeater_eraseFileSystemConfirm": "ВНИМАНИЕ: это удалит все данные на репитере. Действие нельзя отменить!", - "repeater_eraseSerialOnly": "Очистка доступна только через последовательную консоль.", - "repeater_commandSent": "Команда отправлена: {command}", - "repeater_errorSendingCommand": "Ошибка отправки команды: {error}", - "repeater_confirm": "Подтвердить", - "repeater_settingsSaved": "Настройки успешно сохранены", - "repeater_errorSavingSettings": "Ошибка сохранения настроек: {error}", - "repeater_refreshBasicSettings": "Обновить основные настройки", - "repeater_refreshRadioSettings": "Обновить настройки радио", - "repeater_refreshTxPower": "Обновить мощность передачи", - "repeater_refreshLocationSettings": "Обновить настройки местоположения", - "repeater_refreshPacketForwarding": "Обновить пересылку пакетов", - "repeater_refreshGuestAccess": "Обновить гостевой доступ", - "repeater_refreshPrivacyMode": "Обновить режим конфиденциальности", - "repeater_refreshAdvertisementSettings": "Обновить настройки анонсирований", - "repeater_refreshed": "{label} обновлён", - "repeater_errorRefreshing": "Ошибка обновления {label}", - "repeater_cliTitle": "CLI репитера", - "repeater_debugNextCommand": "Отладка следующей команды", - "repeater_commandHelp": "Справка по командам", - "repeater_clearHistory": "Очистить историю", - "repeater_noCommandsSent": "Команды ещё не отправлялись", - "repeater_typeCommandOrUseQuick": "Введите команду ниже или используйте быстрые команды", - "repeater_enterCommandHint": "Введите команду...", - "repeater_previousCommand": "Предыдущая команда", - "repeater_nextCommand": "Следующая команда", - "repeater_enterCommandFirst": "Сначала введите команду", - "repeater_cliCommandFrameTitle": "Фрейм CLI-команды", - "repeater_cliCommandError": "Ошибка: {error}", - "repeater_cliQuickGetName": "Получить имя", - "repeater_cliQuickGetRadio": "Получить радио", - "repeater_cliQuickGetTx": "Получить TX", - "repeater_cliQuickNeighbors": "Соседи", - "repeater_cliQuickVersion": "Версия", - "repeater_cliQuickAdvertise": "Анонсировать", - "repeater_cliQuickClock": "Время", - "repeater_cliHelpAdvert": "Отправляет пакет анонсирования", - "repeater_cliHelpReboot": "Перезагружает устройство. (обычно вы получите «Тайм-аут» — это нормально)", - "repeater_cliHelpClock": "Показывает текущее время по часам устройства.", - "repeater_cliHelpPassword": "Устанавливает новый пароль администратора для устройства.", - "repeater_cliHelpVersion": "Показывает версию устройства и дату сборки прошивки.", - "repeater_cliHelpClearStats": "Сбрасывает различные счётчики статистики в ноль.", - "repeater_cliHelpSetAf": "Устанавливает коэффициент времени в эфире.", - "repeater_cliHelpSetTx": "Устанавливает мощность передачи LoRa в дБм. (требуется перезагрузка)", - "repeater_cliHelpSetRepeat": "Включает или отключает роль репитера для этой ноды.", - "repeater_cliHelpSetAllowReadOnly": "(Сервер комнат) Если «on», то вход без пароля разрешён, но публиковать в комнату нельзя (только чтение)", - "repeater_cliHelpSetFloodMax": "Устанавливает максимальное число хопов для входящих пакетов в режиме рассылки (если >= макс., пакет не пересылается)", - "repeater_cliHelpSetIntThresh": "Устанавливает порог интерференции (в дБ). По умолчанию 14. Установите 0, чтобы отключить обнаружение помех.", - "repeater_cliHelpSetAgcResetInterval": "Устанавливает интервал сброса автоматической регулировки усиления. Установите 0, чтобы отключить.", - "repeater_cliHelpSetMultiAcks": "Включает или отключает функцию «двойных ACK».", - "repeater_cliHelpSetAdvertInterval": "Устанавливает интервал (в минутах) отправки локального (нулевой хоп) анонсирования. Установите 0, чтобы отключить.", - "repeater_cliHelpSetFloodAdvertInterval": "Устанавливает интервал (в часах) отправки анонсирований рассылкой. Установите 0, чтобы отключить.", - "repeater_cliHelpSetGuestPassword": "Устанавливает/обновляет гостевой пароль. (для репитеров гости могут отправлять запрос «Get Stats»)", - "repeater_cliHelpSetName": "Устанавливает имя в оповещениях.", - "repeater_cliHelpSetLat": "Устанавливает широту для карты в оповещениях. (десятичные градусы)", - "repeater_cliHelpSetLon": "Устанавливает долготу для карты в оповещениях. (десятичные градусы)", - "repeater_cliHelpSetRadio": "Устанавливает полностью новые параметры радио и сохраняет их в настройки. Требуется команда «reboot» для применения.", - "repeater_cliHelpSetRxDelay": "Устанавливает (экспериментально) базовую задержку (>1 для эффекта) для принятых пакетов на основе качества сигнала. Установите 0, чтобы отключить.", - "repeater_cliHelpSetTxDelay": "Устанавливает множитель времени в эфире для пакета в режиме рассылки и применяет случайную задержку перед пересылкой (чтобы уменьшить коллизии).", - "repeater_cliHelpSetDirectTxDelay": "То же, что txdelay, но для случайной задержки пересылки пакетов в прямом режиме.", - "repeater_cliHelpSetBridgeEnabled": "Включить/выключить мост.", - "repeater_cliHelpSetBridgeDelay": "Установить задержку перед ретрансляцией пакетов.", - "repeater_cliHelpSetBridgeSource": "Выбрать, будет ли мост ретранслировать полученные или отправленные пакеты.", - "repeater_cliHelpSetBridgeBaud": "Установить скорость последовательного соединения для мостов RS232.", - "repeater_cliHelpSetBridgeSecret": "Установить секрет моста для мостов ESP-NOW.", - "repeater_cliHelpSetAdcMultiplier": "Устанавливает пользовательский коэффициент коррекции напряжения батареи (поддерживается только на некоторых платах).", - "repeater_cliHelpTempRadio": "Устанавливает временные параметры радио на заданное число минут, затем возвращает исходные. (НЕ сохраняется в настройки).", - "repeater_cliHelpSetPerm": "Изменяет ACL. Удаляет запись (по префиксу публичного ключа), если «permissions» равен нулю. Добавляет новую запись, если указан полный ключ и он отсутствует в ACL. Обновляет запись по совпадению префикса. Биты прав зависят от роли прошивки, но младшие 2 бита: 0 (Гость), 1 (Только чтение), 2 (Чтение/запись), 3 (Админ)", - "repeater_cliHelpGetBridgeType": "Получает тип моста: none, rs232, espnow", - "repeater_cliHelpLogStart": "Начинает запись пакетов в файловую систему.", - "repeater_cliHelpLogStop": "Останавливает запись пакетов в файловую систему.", - "repeater_cliHelpLogErase": "Удаляет журналы пакетов из файловой системы.", - "repeater_cliHelpNeighbors": "Показывает список других репитеров, услышанных через оповещения нулевого хопа. Каждая строка: префикс-id-в-hex:временная-метка:snr×4", - "repeater_cliHelpNeighborRemove": "Удаляет первую подходящую запись (по префиксу публичного ключа в hex) из списка соседей.", - "repeater_cliHelpRegion": "(только через последовательный порт) Показывает все определённые регионы и текущие права на рассылку.", - "repeater_cliHelpRegionLoad": "ПРИМЕЧАНИЕ: это специальная многострочная команда. Каждая следующая строка — имя региона (с отступом пробелами для указания иерархии, минимум один пробел). Завершается пустой строкой.", - "repeater_cliHelpRegionGet": "Ищет регион по префиксу имени (или «*» для глобальной области). Отвечает: «-> имя-региона (родитель) 'F'»", - "repeater_cliHelpRegionPut": "Добавляет или обновляет определение региона с заданным именем.", - "repeater_cliHelpRegionRemove": "Удаляет определение региона с заданным именем. (должно точно совпадать и не иметь дочерних регионов)", - "repeater_cliHelpRegionAllowf": "Разрешает рассылку («F»lood) для заданного региона. («*» для глобальной/устаревшей области)", - "repeater_cliHelpRegionDenyf": "Запрещает рассылку («F»lood) для заданного региона. (НЕ рекомендуется для глобальной области!)", - "repeater_cliHelpRegionHome": "Показывает текущий «домашний» регион. (Пока не используется, зарезервировано на будущее)", - "repeater_cliHelpRegionHomeSet": "Устанавливает «домашний» регион.", - "repeater_cliHelpRegionSave": "Сохраняет список/карту регионов в память.", - "repeater_cliHelpGps": "Показывает статус GPS. Если GPS выключен — отвечает только «off». Если включён — показывает статус, фиксацию, количество спутников.", - "repeater_cliHelpGpsOnOff": "Переключает состояние питания GPS.", - "repeater_cliHelpGpsSync": "Синхронизирует время ноды с часами GPS.", - "repeater_cliHelpGpsSetLoc": "Устанавливает позицию ноды по координатам GPS и сохраняет в настройки.", - "repeater_cliHelpGpsAdvert": "Показывает конфигурацию передачи местоположения в анонсированиях:\n- none: не включать местоположение\n- share: передавать GPS-координаты (из SensorManager)\n- prefs: передавать координаты из настроек", - "repeater_cliHelpGpsAdvertSet": "Устанавливает конфигурацию передачи местоположения.", - "repeater_commandsListTitle": "Список команд", - "repeater_commandsListNote": "ПРИМЕЧАНИЕ: для большинства команд «set ...» существуют соответствующие команды «get ...».", - "repeater_general": "Общие", - "repeater_settingsCategory": "Настройки", - "repeater_bridge": "Мост", - "repeater_logging": "Журналирование", - "repeater_neighborsRepeaterOnly": "Соседи (только для репитеров)", - "repeater_regionManagementRepeaterOnly": "Управление регионами (только для репитеров)", - "repeater_regionNote": "Команды регионов введены для управления определениями регионов и правами доступа.", - "repeater_gpsManagement": "Управление GPS", - "repeater_gpsNote": "Команда gps введена для управления параметрами, связанными с местоположением.", - "telemetry_receivedData": "Полученные телеметрические данные", - "telemetry_requestTimeout": "Время ожидания телеметрии истекло.", - "telemetry_errorLoading": "Ошибка загрузки телеметрии: {error}", - "telemetry_noData": "Данные телеметрии недоступны.", - "telemetry_channelTitle": "Канал {channel}", - "telemetry_batteryLabel": "Батарея", - "telemetry_voltageLabel": "Напряжение", - "telemetry_mcuTemperatureLabel": "Температура МК", - "telemetry_temperatureLabel": "Температура", - "telemetry_currentLabel": "Ток", - "telemetry_batteryValue": "{percent}% / {volts}В", - "telemetry_voltageValue": "{volts}В", - "telemetry_currentValue": "{amps}А", - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", - "neighbors_receivedData": "Полученные данные о соседях", - "neighbors_requestTimedOut": "Время ожидания данных о соседях истекло.", - "neighbors_errorLoading": "Ошибка загрузки соседей: {error}", - "neighbors_repeatersNeighbors": "Соседи репитеров", - "neighbors_noData": "Данные о соседях недоступны.", - "neighbors_unknownContact": "Неизвестный {pubkey}", - "neighbors_heardA ago": "Слышали: {time} назад", - "channelPath_title": "Путь пакета", - "channelPath_viewMap": "Посмотреть на карте", - "channelPath_otherObservedPaths": "Другие наблюдаемые пути", - "channelPath_repeaterHops": "Хопы через репитеры", - "channelPath_noHopDetails": "Детали хопов для этого пакета не предоставлены.", - "channelPath_messageDetails": "Детали сообщения", - "channelPath_senderLabel": "Отправитель", - "channelPath_timeLabel": "Время", - "channelPath_repeatsLabel": "Повторы", - "channelPath_pathLabel": "Путь {index}", - "channelPath_observedLabel": "Наблюдаемый", - "channelPath_observedPathTitle": "Наблюдаемый путь {index} • {hops}", - "channelPath_noLocationData": "Нет данных о местоположении", + "repeater_cliSubtitle": "Отправка команд репитеру", + "repeater_neighbors": "Соседи", + "repeater_neighborsSubtitle": "Просмотр соседей на нулевом хопе.", + "repeater_settings": "Настройки", + "repeater_settingsSubtitle": "Настройка параметров репитера", + "repeater_statusTitle": "Статус репитера", + "repeater_routingMode": "Режим маршрутизации", + "repeater_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", + "repeater_forceFloodMode": "Принудительный режим рассылки", + "repeater_pathManagement": "Управление маршрутами", + "repeater_refresh": "Обновить", + "repeater_statusRequestTimeout": "Время ожидания статуса истекло.", + "repeater_errorLoadingStatus": "Ошибка загрузки статуса: {error}", + "repeater_systemInformation": "Системная информация", + "repeater_battery": "Батарея", + "repeater_clockAtLogin": "Время (при входе)", + "repeater_uptime": "Время работы", + "repeater_queueLength": "Длина очереди", + "repeater_debugFlags": "Флаги отладки", + "repeater_radioStatistics": "Радиостатистика", + "repeater_lastRssi": "Последний RSSI", + "repeater_lastSnr": "Последний SNR", + "repeater_noiseFloor": "Уровень шума", + "repeater_txAirtime": "Время эфира (передача)", + "repeater_rxAirtime": "Время эфира (приём)", + "repeater_packetStatistics": "Статистика пакетов", + "repeater_sent": "Отправлено", + "repeater_received": "Получено", + "repeater_duplicates": "Дубликаты", + "repeater_daysHoursMinsSecs": "{days} дн. {hours}ч {minutes}м {seconds}с", + "repeater_packetTxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", + "repeater_packetRxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", + "repeater_duplicatesFloodDirect": "Рассылка: {flood}, Прямые: {direct}", + "repeater_duplicatesTotal": "Всего: {total}", + "repeater_settingsTitle": "Настройки репитера", + "repeater_basicSettings": "Основные настройки", + "repeater_repeaterName": "Имя репитера", + "repeater_repeaterNameHelper": "Отображаемое имя этого репитера", + "repeater_adminPassword": "Пароль администратора", + "repeater_adminPasswordHelper": "Пароль с полным доступом", + "repeater_guestPassword": "Гостевой пароль", + "repeater_guestPasswordHelper": "Пароль для доступа только для чтения", + "repeater_radioSettings": "Настройки радио", + "repeater_frequencyMhz": "Частота (МГц)", + "repeater_frequencyHelper": "300–2500 МГц", + "repeater_txPower": "Мощность передачи", + "repeater_txPowerHelper": "1–30 дБм", + "repeater_bandwidth": "Полоса пропускания", + "repeater_spreadingFactor": "Коэффициент расширения", + "repeater_codingRate": "Коэффициент кодирования", + "repeater_locationSettings": "Настройки местоположения", + "repeater_latitude": "Широта", + "repeater_latitudeHelper": "Ð’ десятичных градусах (напр., 37.7749)", + "repeater_longitude": "Долгота", + "repeater_longitudeHelper": "Ð’ десятичных градусах (напр., -122.4194)", + "repeater_features": "Функции", + "repeater_packetForwarding": "Пересылка пакетов", + "repeater_packetForwardingSubtitle": "Разрешить репитеру пересылать пакеты", + "repeater_guestAccess": "Гостевой доступ", + "repeater_guestAccessSubtitle": "Разрешить гостевой доступ только для чтения", + "repeater_privacyMode": "Режим конфиденциальности", + "repeater_privacyModeSubtitle": "Скрывать имя/местоположение в оповещениях", + "repeater_advertisementSettings": "Настройки анонсирования", + "repeater_localAdvertInterval": "Интервал локальных анонсирований", + "repeater_localAdvertIntervalMinutes": "{minutes} минут", + "repeater_floodAdvertInterval": "Интервал анонсирований рассылкой (flood)", + "repeater_floodAdvertIntervalHours": "{hours} часов", + "repeater_encryptedAdvertInterval": "Интервал зашифрованных анонсирований", + "repeater_dangerZone": "Опасная зона", + "repeater_rebootRepeater": "Перезагрузить репитер", + "repeater_rebootRepeaterSubtitle": "Перезапустить устройство репитера", + "repeater_rebootRepeaterConfirm": "Ð’Ñ‹ уверены, что хотите перезагрузить этот репитер?", + "repeater_regenerateIdentityKey": "Пересоздать ключ идентификации", + "repeater_regenerateIdentityKeySubtitle": "Сгенерировать новую пару публичного/приватного ключей", + "repeater_regenerateIdentityKeyConfirm": "Это создаст новую идентичность для репитера. Продолжить?", + "repeater_eraseFileSystem": "Стереть файловую систему", + "repeater_eraseFileSystemSubtitle": "Отформатировать файловую систему репитера", + "repeater_eraseFileSystemConfirm": "ВНИМАНИЕ: это удалит все данные на репитере. Действие нельзя отменить!", + "repeater_eraseSerialOnly": "Очистка доступна только через последовательную консоль.", + "repeater_commandSent": "Команда отправлена: {command}", + "repeater_errorSendingCommand": "Ошибка отправки команды: {error}", + "repeater_confirm": "Подтвердить", + "repeater_settingsSaved": "Настройки успешно сохранены", + "repeater_errorSavingSettings": "Ошибка сохранения настроек: {error}", + "repeater_refreshBasicSettings": "Обновить основные настройки", + "repeater_refreshRadioSettings": "Обновить настройки радио", + "repeater_refreshTxPower": "Обновить мощность передачи", + "repeater_refreshLocationSettings": "Обновить настройки местоположения", + "repeater_refreshPacketForwarding": "Обновить пересылку пакетов", + "repeater_refreshGuestAccess": "Обновить гостевой доступ", + "repeater_refreshPrivacyMode": "Обновить режим конфиденциальности", + "repeater_refreshAdvertisementSettings": "Обновить настройки анонсирований", + "repeater_refreshed": "{label} обновлён", + "repeater_errorRefreshing": "Ошибка обновления {label}", + "repeater_cliTitle": "CLI репитера", + "repeater_debugNextCommand": "Отладка следующей команды", + "repeater_commandHelp": "Справка по командам", + "repeater_clearHistory": "Очистить историю", + "repeater_noCommandsSent": "Команды ещё не отправлялись", + "repeater_typeCommandOrUseQuick": "Введите команду ниже или используйте быстрые команды", + "repeater_enterCommandHint": "Введите команду...", + "repeater_previousCommand": "Предыдущая команда", + "repeater_nextCommand": "Следующая команда", + "repeater_enterCommandFirst": "Сначала введите команду", + "repeater_cliCommandFrameTitle": "Фрейм CLI-команды", + "repeater_cliCommandError": "Ошибка: {error}", + "repeater_cliQuickGetName": "Получить имя", + "repeater_cliQuickGetRadio": "Получить радио", + "repeater_cliQuickGetTx": "Получить TX", + "repeater_cliQuickNeighbors": "Соседи", + "repeater_cliQuickVersion": "Версия", + "repeater_cliQuickAdvertise": "Анонсировать", + "repeater_cliQuickClock": "Время", + "repeater_cliHelpAdvert": "Отправляет пакет анонсирования", + "repeater_cliHelpReboot": "Перезагружает устройство. (обычно вы получите «Тайм-аут» — это нормально)", + "repeater_cliHelpClock": "Показывает текущее время по часам устройства.", + "repeater_cliHelpPassword": "Устанавливает новый пароль администратора для устройства.", + "repeater_cliHelpVersion": "Показывает версию устройства и дату сборки прошивки.", + "repeater_cliHelpClearStats": "Сбрасывает различные счётчики статистики в ноль.", + "repeater_cliHelpSetAf": "Устанавливает коэффициент времени в эфире.", + "repeater_cliHelpSetTx": "Устанавливает мощность передачи LoRa в дБм. (требуется перезагрузка)", + "repeater_cliHelpSetRepeat": "Включает или отключает роль репитера для этой ноды.", + "repeater_cliHelpSetAllowReadOnly": "(Сервер комнат) Если «on», то вход без пароля разрешён, но публиковать в комнату нельзя (только чтение)", + "repeater_cliHelpSetFloodMax": "Устанавливает максимальное число хопов для входящих пакетов в режиме рассылки (если >= макс., пакет не пересылается)", + "repeater_cliHelpSetIntThresh": "Устанавливает порог интерференции (в дБ). По умолчанию 14. Установите 0, чтобы отключить обнаружение помех.", + "repeater_cliHelpSetAgcResetInterval": "Устанавливает интервал сброса автоматической регулировки усиления. Установите 0, чтобы отключить.", + "repeater_cliHelpSetMultiAcks": "Включает или отключает функцию «двойных ACK».", + "repeater_cliHelpSetAdvertInterval": "Устанавливает интервал (в минутах) отправки локального (нулевой хоп) анонсирования. Установите 0, чтобы отключить.", + "repeater_cliHelpSetFloodAdvertInterval": "Устанавливает интервал (в часах) отправки анонсирований рассылкой. Установите 0, чтобы отключить.", + "repeater_cliHelpSetGuestPassword": "Устанавливает/обновляет гостевой пароль. (для репитеров гости могут отправлять запрос «Get Stats»)", + "repeater_cliHelpSetName": "Устанавливает имя в оповещениях.", + "repeater_cliHelpSetLat": "Устанавливает широту для карты в оповещениях. (десятичные градусы)", + "repeater_cliHelpSetLon": "Устанавливает долготу для карты в оповещениях. (десятичные градусы)", + "repeater_cliHelpSetRadio": "Устанавливает полностью новые параметры радио и сохраняет их в настройки. Требуется команда «reboot» для применения.", + "repeater_cliHelpSetRxDelay": "Устанавливает (экспериментально) базовую задержку (>1 для эффекта) для принятых пакетов на основе качества сигнала. Установите 0, чтобы отключить.", + "repeater_cliHelpSetTxDelay": "Устанавливает множитель времени в эфире для пакета в режиме рассылки и применяет случайную задержку перед пересылкой (чтобы уменьшить коллизии).", + "repeater_cliHelpSetDirectTxDelay": "То же, что txdelay, но для случайной задержки пересылки пакетов в прямом режиме.", + "repeater_cliHelpSetBridgeEnabled": "Включить/выключить мост.", + "repeater_cliHelpSetBridgeDelay": "Установить задержку перед ретрансляцией пакетов.", + "repeater_cliHelpSetBridgeSource": "Выбрать, будет ли мост ретранслировать полученные или отправленные пакеты.", + "repeater_cliHelpSetBridgeBaud": "Установить скорость последовательного соединения для мостов RS232.", + "repeater_cliHelpSetBridgeSecret": "Установить секрет моста для мостов ESP-NOW.", + "repeater_cliHelpSetAdcMultiplier": "Устанавливает пользовательский коэффициент коррекции напряжения батареи (поддерживается только на некоторых платах).", + "repeater_cliHelpTempRadio": "Устанавливает временные параметры радио на заданное число минут, затем возвращает исходные. (НЕ сохраняется в настройки).", + "repeater_cliHelpSetPerm": "Изменяет ACL. Удаляет запись (по префиксу публичного ключа), если «permissions» равен нулю. Добавляет новую запись, если указан полный ключ и он отсутствует в ACL. Обновляет запись по совпадению префикса. Биты прав зависят от роли прошивки, но младшие 2 бита: 0 (Гость), 1 (Только чтение), 2 (Чтение/запись), 3 (Админ)", + "repeater_cliHelpGetBridgeType": "Получает тип моста: none, rs232, espnow", + "repeater_cliHelpLogStart": "Начинает запись пакетов в файловую систему.", + "repeater_cliHelpLogStop": "Останавливает запись пакетов в файловую систему.", + "repeater_cliHelpLogErase": "Удаляет журналы пакетов из файловой системы.", + "repeater_cliHelpNeighbors": "Показывает список других репитеров, услышанных через оповещения нулевого хопа. Каждая строка: префикс-id-в-hex:временная-метка:snr×4", + "repeater_cliHelpNeighborRemove": "Удаляет первую подходящую запись (по префиксу публичного ключа в hex) из списка соседей.", + "repeater_cliHelpRegion": "(только через последовательный порт) Показывает все определённые регионы и текущие права на рассылку.", + "repeater_cliHelpRegionLoad": "ПРИМЕЧАНИЕ: это специальная многострочная команда. Каждая следующая строка — имя региона (с отступом пробелами для указания иерархии, минимум один пробел). Завершается пустой строкой.", + "repeater_cliHelpRegionGet": "Ищет регион по префиксу имени (или «*» для глобальной области). Отвечает: «-> имя-региона (родитель) 'F'»", + "repeater_cliHelpRegionPut": "Добавляет или обновляет определение региона с заданным именем.", + "repeater_cliHelpRegionRemove": "Удаляет определение региона с заданным именем. (должно точно совпадать и не иметь дочерних регионов)", + "repeater_cliHelpRegionAllowf": "Разрешает рассылку («F»lood) для заданного региона. («*» для глобальной/устаревшей области)", + "repeater_cliHelpRegionDenyf": "Запрещает рассылку («F»lood) для заданного региона. (НЕ рекомендуется для глобальной области!)", + "repeater_cliHelpRegionHome": "Показывает текущий «домашний» регион. (Пока не используется, зарезервировано на будущее)", + "repeater_cliHelpRegionHomeSet": "Устанавливает «домашний» регион.", + "repeater_cliHelpRegionSave": "Сохраняет список/карту регионов в память.", + "repeater_cliHelpGps": "Показывает статус GPS. Если GPS выключен — отвечает только «off». Если включён — показывает статус, фиксацию, количество спутников.", + "repeater_cliHelpGpsOnOff": "Переключает состояние питания GPS.", + "repeater_cliHelpGpsSync": "Синхронизирует время ноды с часами GPS.", + "repeater_cliHelpGpsSetLoc": "Устанавливает позицию ноды по координатам GPS и сохраняет в настройки.", + "repeater_cliHelpGpsAdvert": "Показывает конфигурацию передачи местоположения в анонсированиях:\n- none: не включать местоположение\n- share: передавать GPS-координаты (из SensorManager)\n- prefs: передавать координаты из настроек", + "repeater_cliHelpGpsAdvertSet": "Устанавливает конфигурацию передачи местоположения.", + "repeater_commandsListTitle": "Список команд", + "repeater_commandsListNote": "ПРИМЕЧАНИЕ: для большинства команд «set ...» существуют соответствующие команды «get ...».", + "repeater_general": "Общие", + "repeater_settingsCategory": "Настройки", + "repeater_bridge": "Мост", + "repeater_logging": "Журналирование", + "repeater_neighborsRepeaterOnly": "Соседи (только для репитеров)", + "repeater_regionManagementRepeaterOnly": "Управление регионами (только для репитеров)", + "repeater_regionNote": "Команды регионов введены для управления определениями регионов и правами доступа.", + "repeater_gpsManagement": "Управление GPS", + "repeater_gpsNote": "Команда gps введена для управления параметрами, связанными с местоположением.", + "telemetry_receivedData": "Полученные телеметрические данные", + "telemetry_requestTimeout": "Время ожидания телеметрии истекло.", + "telemetry_errorLoading": "Ошибка загрузки телеметрии: {error}", + "telemetry_noData": "Данные телеметрии недоступны.", + "telemetry_channelTitle": "Канал {channel}", + "telemetry_batteryLabel": "Батарея", + "telemetry_voltageLabel": "Напряжение", + "telemetry_mcuTemperatureLabel": "Температура МК", + "telemetry_temperatureLabel": "Температура", + "telemetry_currentLabel": "Ток", + "telemetry_batteryValue": "{percent}% / {volts}Ð’", + "telemetry_voltageValue": "{volts}Ð’", + "telemetry_currentValue": "{amps}А", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "neighbors_receivedData": "Полученные данные о соседях", + "neighbors_requestTimedOut": "Время ожидания данных о соседях истекло.", + "neighbors_errorLoading": "Ошибка загрузки соседей: {error}", + "neighbors_repeatersNeighbors": "Соседи репитеров", + "neighbors_noData": "Данные о соседях недоступны.", + "neighbors_unknownContact": "Неизвестный {pubkey}", + "neighbors_heardA ago": "Слышали: {time} назад", + "channelPath_title": "Путь пакета", + "channelPath_viewMap": "Посмотреть на карте", + "channelPath_otherObservedPaths": "Другие наблюдаемые пути", + "channelPath_repeaterHops": "Хопы через репитеры", + "channelPath_noHopDetails": "Детали хопов для этого пакета не предоставлены.", + "channelPath_messageDetails": "Детали сообщения", + "channelPath_senderLabel": "Отправитель", + "channelPath_timeLabel": "Время", + "channelPath_repeatsLabel": "Повторы", + "channelPath_pathLabel": "Путь {index}", + "channelPath_observedLabel": "Наблюдаемый", + "channelPath_observedPathTitle": "Наблюдаемый путь {index} • {hops}", + "channelPath_noLocationData": "Нет данных о местоположении", "channelPath_timeWithDate": "{day}/{month} {time}", "channelPath_timeOnly": "{time}", - "channelPath_unknownPath": "Неизвестный", - "channelPath_floodPath": "Рассылка", - "channelPath_directPath": "Прямой", - "channelPath_observedZeroOf": "0 из {total} хопов", - "channelPath_observedSomeOf": "{observed} из {total} хопов", - "channelPath_mapTitle": "Карта пути", - "channelPath_noRepeaterLocations": "Нет данных о местоположении репитеров для этого пути.", - "channelPath_primaryPath": "Путь {index} (Основной)", - "channelPath_pathLabelTitle": "Путь", - "channelPath_observedPathHeader": "Наблюдаемый путь", - "channelPath_selectedPathLabel": "{label} • {prefixes}", - "channelPath_noHopDetailsAvailable": "Детали хопов для этого пакета недоступны.", - "channelPath_unknownRepeater": "Неизвестный репитер", - "community_title": "Сообщество", - "community_create": "Создать сообщество", - "community_createDesc": "Создать новое сообщество и поделиться через QR-код.", - "community_join": "Присоединиться", - "community_joinTitle": "Присоединиться к сообществу", - "community_joinConfirmation": "Вы хотите присоединиться к сообществу \"{name}\"?", - "community_scanQr": "Сканировать QR-код сообщества", - "community_scanInstructions": "Наведите камеру на QR-код сообщества", - "community_showQr": "Показать QR-код", - "community_publicChannel": "Публичный канал сообщества", - "community_hashtagChannel": "Хэштег-канал сообщества", - "community_name": "Имя сообщества", - "community_enterName": "Введите имя сообщества", - "community_created": "Сообщество \"{name}\" создано", - "community_joined": "Присоединились к сообществу \"{name}\"", - "community_qrTitle": "Поделиться сообществом", - "community_qrInstructions": "Отсканируйте этот QR-код, чтобы присоединиться к \"{name}\"", - "community_hashtagPrivacyHint": "Хэштег-каналы сообщества доступны только его участникам", - "community_invalidQrCode": "Недопустимый QR-код сообщества", - "community_alreadyMember": "Уже участник", - "community_alreadyMemberMessage": "Вы уже участник сообщества \"{name}\".", - "community_addPublicChannel": "Добавить публичный канал сообщества", - "community_addPublicChannelHint": "Автоматически добавить публичный канал для этого сообщества", - "community_noCommunities": "Вы ещё не присоединились ни к одному сообществу", - "community_scanOrCreate": "Отсканируйте QR-код или создайте сообщество, чтобы начать", - "community_manageCommunities": "Управление сообществами", - "community_delete": "Покинуть сообщество", - "community_deleteConfirm": "Покинуть \"{name}\"?", - "community_deleteChannelsWarning": "Это также удалит {count} канал(ов) и их сообщения.", - "community_deleted": "Покинули сообщество \"{name}\"", - "community_regenerateSecret": "Пересоздать секрет", - "community_regenerateSecretConfirm": "Пересоздать секретный ключ для \"{name}\"? Все участники должны будут отсканировать новый QR-код для продолжения общения.", - "community_regenerate": "Пересоздать", - "community_secretRegenerated": "Секрет пересоздан для \"{name}\"", - "community_updateSecret": "Обновить секрет", - "community_secretUpdated": "Секрет обновлён для \"{name}\"", - "community_scanToUpdateSecret": "Отсканируйте новый QR-код, чтобы обновить секрет для \"{name}\"", - "community_addHashtagChannel": "Добавить хэштег-канал сообщества", - "community_addHashtagChannelDesc": "Добавить хэштег-канал для этого сообщества", - "community_selectCommunity": "Выбрать сообщество", - "community_regularHashtag": "Обычный хэштег", - "community_regularHashtagDesc": "Публичный хэштег (любой может присоединиться)", - "community_communityHashtag": "Хэштег сообщества", - "community_communityHashtagDesc": "Доступен только участникам сообщества", - "community_forCommunity": "Для {name}", - "listFilter_tooltip": "Фильтр и сортировка", - "listFilter_sortBy": "Сортировка по", - "listFilter_latestMessages": "Последние сообщения", - "listFilter_heardRecently": "Слышали недавно", - "listFilter_az": "По алфавиту", - "listFilter_filters": "Фильтры", - "listFilter_all": "Все", - "listFilter_users": "Пользователи", - "listFilter_repeaters": "Репитеры", - "listFilter_roomServers": "Серверы комнат", - "listFilter_unreadOnly": "Только непрочитанные", - "listFilter_newGroup": "Новая группа", + "channelPath_unknownPath": "Неизвестный", + "channelPath_floodPath": "Рассылка", + "channelPath_directPath": "Прямой", + "channelPath_observedZeroOf": "0 из {total} хопов", + "channelPath_observedSomeOf": "{observed} из {total} хопов", + "channelPath_mapTitle": "Карта пути", + "channelPath_noRepeaterLocations": "Нет данных о местоположении репитеров для этого пути.", + "channelPath_primaryPath": "Путь {index} (Основной)", + "channelPath_pathLabelTitle": "Путь", + "channelPath_observedPathHeader": "Наблюдаемый путь", + "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_noHopDetailsAvailable": "Детали хопов для этого пакета недоступны.", + "channelPath_unknownRepeater": "Неизвестный репитер", + "community_title": "Сообщество", + "community_create": "Создать сообщество", + "community_createDesc": "Создать новое сообщество и поделиться через QR-код.", + "community_join": "Присоединиться", + "community_joinTitle": "Присоединиться к сообществу", + "community_joinConfirmation": "Ð’Ñ‹ хотите присоединиться к сообществу \"{name}\"?", + "community_scanQr": "Сканировать QR-код сообщества", + "community_scanInstructions": "Наведите камеру на QR-код сообщества", + "community_showQr": "Показать QR-код", + "community_publicChannel": "Публичный канал сообщества", + "community_hashtagChannel": "Хэштег-канал сообщества", + "community_name": "Имя сообщества", + "community_enterName": "Введите имя сообщества", + "community_created": "Сообщество \"{name}\" создано", + "community_joined": "Присоединились к сообществу \"{name}\"", + "community_qrTitle": "Поделиться сообществом", + "community_qrInstructions": "Отсканируйте этот QR-код, чтобы присоединиться к \"{name}\"", + "community_hashtagPrivacyHint": "Хэштег-каналы сообщества доступны только его участникам", + "community_invalidQrCode": "Недопустимый QR-код сообщества", + "community_alreadyMember": "Уже участник", + "community_alreadyMemberMessage": "Ð’Ñ‹ уже участник сообщества \"{name}\".", + "community_addPublicChannel": "Добавить публичный канал сообщества", + "community_addPublicChannelHint": "Автоматически добавить публичный канал для этого сообщества", + "community_noCommunities": "Ð’Ñ‹ ещё не присоединились ни к одному сообществу", + "community_scanOrCreate": "Отсканируйте QR-код или создайте сообщество, чтобы начать", + "community_manageCommunities": "Управление сообществами", + "community_delete": "Покинуть сообщество", + "community_deleteConfirm": "Покинуть \"{name}\"?", + "community_deleteChannelsWarning": "Это также удалит {count} канал(ов) и их сообщения.", + "community_deleted": "Покинули сообщество \"{name}\"", + "community_regenerateSecret": "Пересоздать секрет", + "community_regenerateSecretConfirm": "Пересоздать секретный ключ для \"{name}\"? Все участники должны будут отсканировать новый QR-код для продолжения общения.", + "community_regenerate": "Пересоздать", + "community_secretRegenerated": "Секрет пересоздан для \"{name}\"", + "community_updateSecret": "Обновить секрет", + "community_secretUpdated": "Секрет обновлён для \"{name}\"", + "community_scanToUpdateSecret": "Отсканируйте новый QR-код, чтобы обновить секрет для \"{name}\"", + "community_addHashtagChannel": "Добавить хэштег-канал сообщества", + "community_addHashtagChannelDesc": "Добавить хэштег-канал для этого сообщества", + "community_selectCommunity": "Выбрать сообщество", + "community_regularHashtag": "Обычный хэштег", + "community_regularHashtagDesc": "Публичный хэштег (любой может присоединиться)", + "community_communityHashtag": "Хэштег сообщества", + "community_communityHashtagDesc": "Доступен только участникам сообщества", + "community_forCommunity": "Для {name}", + "listFilter_tooltip": "Фильтр и сортировка", + "listFilter_sortBy": "Сортировка по", + "listFilter_latestMessages": "Последние сообщения", + "listFilter_heardRecently": "Слышали недавно", + "listFilter_az": "По алфавиту", + "listFilter_filters": "Фильтры", + "listFilter_all": "Все", + "listFilter_users": "Пользователи", + "listFilter_repeaters": "Репитеры", + "listFilter_roomServers": "Серверы комнат", + "listFilter_unreadOnly": "Только непрочитанные", + "listFilter_newGroup": "Новая группа", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -774,12 +774,12 @@ } } }, - "chat_open": "Открыть", - "chat_couldNotOpenLink": "Не удалось открыть ссылку: {url}", - "chat_openLink": "Открыть ссылку?", - "chat_openLinkConfirmation": "Хотите открыть эту ссылку в вашем браузере?", - "neighbors_heardAgo": "Слушал(а): {time} назад", - "chat_invalidLink": "Неправильный формат ссылки", + "chat_open": "Открыть", + "chat_couldNotOpenLink": "Не удалось открыть ссылку: {url}", + "chat_openLink": "Открыть ссылку?", + "chat_openLinkConfirmation": "Хотите открыть эту ссылку в вашем браузере?", + "neighbors_heardAgo": "Слушал(а): {time} назад", + "chat_invalidLink": "Неправильный формат ссылки", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -787,81 +787,81 @@ } } }, - "pathTrace_you": "Вы", - "pathTrace_failed": "Путь трассировки не выполнен.", - "pathTrace_notAvailable": "Трассировка пути недоступна.", - "pathTrace_refreshTooltip": "Обновить Path Trace", - "contacts_pathTrace": "Трассировка пути", - "contacts_ping": "Пинговать", - "contacts_repeaterPathTrace": "Отследить путь к ретранслятору", - "contacts_repeaterPing": "Пинговать повторитель", - "contacts_roomPathTrace": "Трассировка пути к серверу комнаты", - "contacts_roomPing": "Пинговать сервер комнаты", - "contacts_chatTraceRoute": "Трассировка маршрута", - "contacts_pathTraceTo": "Показать маршрут к {name}", - "contacts_contactImported": "Контакт был импортирован", - "contacts_contactImportFailed": "Контакт не удалось импортировать", - "contacts_invalidAdvertFormat": "Недействительные контактные данные", - "contacts_zeroHopAdvert": "Реклама Zero Hop", - "appSettings_languageUk": "Українська", - "appSettings_enableMessageTracing": "Включить трассировку сообщений", - "appSettings_enableMessageTracingSubtitle": "Показывать подробные метаданные о маршрутизации и времени для сообщений", - "contacts_floodAdvert": "Рекламный поток", - "contacts_clipboardEmpty": "Буфер обмена пуст.", - "contacts_copyAdvertToClipboard": "Копировать рекламу в буфер обмена", - "contacts_ShareContact": "Копировать контакт в буфер обмена", - "contacts_zeroHopContactAdvertFailed": "Не удалось отправить контакт.", - "contacts_contactAdvertCopied": "Реклама скопирована в буфер обмена.", - "contacts_contactAdvertCopyFailed": "Копирование рекламы в буфер обмена не удалось.", - "contacts_addContactFromClipboard": "Добавить контакт из буфера обмена", - "contacts_ShareContactZeroHop": "Поделиться контактом по объявлению", - "contacts_zeroHopContactAdvertSent": "Отправлено сообщение по объявлению.", - "notification_activityTitle": "Активность MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{сообщение} few{сообщения} many{сообщений} other{сообщений}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{сообщение канала} few{сообщения канала} many{сообщений канала} other{сообщений канала}}", - "notification_newNodesCount": "{count} {count, plural, =1{новый узел} few{новых узла} many{новых узлов} other{новых узлов}}", - "notification_newTypeDiscovered": "Обнаружен новый {contactType}", - "notification_receivedNewMessage": "Получено новое сообщение", - "settings_gpxExportRepeaters": "Экспортировать рипитеры / сервер комнаты в GPX", - "settings_gpxExportRepeatersSubtitle": "Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.", - "settings_gpxExportContacts": "Экспортировать спутников в GPX", - "settings_gpxExportNotAvailable": "Не поддерживается на вашем устройстве/ОС", - "settings_gpxExportError": "Произошла ошибка при экспорте.", - "settings_gpxExportRepeatersRoom": "Местоположения повторителей и серверов комнат", - "settings_gpxExportChat": "Местоположения спутников", - "settings_gpxExportContactsSubtitle": "Экспортирует спутников с местоположением в файл GPX.", - "settings_gpxExportAll": "Экспортировать все контакты в GPX", - "settings_gpxExportAllSubtitle": "Экспортирует все контакты с местоположением в файл GPX.", - "settings_gpxExportAllContacts": "Все местоположения контактов", - "settings_gpxExportSuccess": "Успешно экспортирован файл GPX.", - "settings_gpxExportNoContacts": "Нет контактов для экспорта.", - "settings_gpxExportShareText": "Данные карты экспортированы из meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open экспорт данных карты GPX", - "pathTrace_someHopsNoLocation": "Одному или нескольким хмелям не указано местоположение!", - "map_tapToAdd": "Нажимайте на узлы, чтобы добавить их в путь.", - "map_removeLast": "Удалить последний", - "map_pathTraceCancelled": "Отмена трассировки пути", - "pathTrace_clearTooltip": "Очистить путь", - "map_runTrace": "Запустить трассировку пути", - "scanner_enableBluetooth": "Включите Bluetooth", - "scanner_bluetoothOff": "Bluetooth выключен", - "scanner_bluetoothOffMessage": "Пожалуйста, включите Bluetooth, чтобы найти устройства.", - "scanner_chromeRequired": "Требуется браузер Chrome", - "scanner_chromeRequiredMessage": "Для поддержки Bluetooth в этом веб-приложении требуется Google Chrome или браузер на базе Chromium.", - "snrIndicator_nearByRepeaters": "Ближайшие ретрансляторы", - "snrIndicator_lastSeen": "Последний раз видели", - "chat_ShowAllPaths": "Показать все пути", - "settings_clientRepeatFreqWarning": "Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.", - "settings_clientRepeatSubtitle": "Позвольте этому устройству повторять пакеты данных для других устройств.", - "settings_clientRepeat": "Повторение \"вне сети\"", - "settings_aboutOpenMeteoAttribution": "Данные о высоте LOS: Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "Единицы", - "appSettings_unitsMetric": "Метрическая (м/км)", - "appSettings_unitsImperial": "Имперская (ft / mi)", - "map_lineOfSight": "Линия видимости", - "map_losScreenTitle": "Линия видимости", - "losSelectStartEnd": "Выберите начальный и конечный узлы для LOS.", - "losRunFailed": "Проверка прямой видимости не удалась: {error}", + "pathTrace_you": "Ð’Ñ‹", + "pathTrace_failed": "Путь трассировки не выполнен.", + "pathTrace_notAvailable": "Трассировка пути недоступна.", + "pathTrace_refreshTooltip": "Обновить Path Trace", + "contacts_pathTrace": "Трассировка пути", + "contacts_ping": "Пинговать", + "contacts_repeaterPathTrace": "Отследить путь к ретранслятору", + "contacts_repeaterPing": "Пинговать повторитель", + "contacts_roomPathTrace": "Трассировка пути к серверу комнаты", + "contacts_roomPing": "Пинговать сервер комнаты", + "contacts_chatTraceRoute": "Трассировка маршрута", + "contacts_pathTraceTo": "Показать маршрут к {name}", + "contacts_contactImported": "Контакт был импортирован", + "contacts_contactImportFailed": "Контакт не удалось импортировать", + "contacts_invalidAdvertFormat": "Недействительные контактные данные", + "contacts_zeroHopAdvert": "Реклама Zero Hop", + "appSettings_languageUk": "Українська", + "appSettings_enableMessageTracing": "Включить трассировку сообщений", + "appSettings_enableMessageTracingSubtitle": "Показывать подробные метаданные о маршрутизации и времени для сообщений", + "contacts_floodAdvert": "Рекламный поток", + "contacts_clipboardEmpty": "Буфер обмена пуст.", + "contacts_copyAdvertToClipboard": "Копировать рекламу в буфер обмена", + "contacts_ShareContact": "Копировать контакт в буфер обмена", + "contacts_zeroHopContactAdvertFailed": "Не удалось отправить контакт.", + "contacts_contactAdvertCopied": "Реклама скопирована в буфер обмена.", + "contacts_contactAdvertCopyFailed": "Копирование рекламы в буфер обмена не удалось.", + "contacts_addContactFromClipboard": "Добавить контакт из буфера обмена", + "contacts_ShareContactZeroHop": "Поделиться контактом по объявлению", + "contacts_zeroHopContactAdvertSent": "Отправлено сообщение по объявлению.", + "notification_activityTitle": "Активность MeshCore", + "notification_messagesCount": "{count} {count, plural, =1{сообщение} few{сообщения} many{сообщений} other{сообщений}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{сообщение канала} few{сообщения канала} many{сообщений канала} other{сообщений канала}}", + "notification_newNodesCount": "{count} {count, plural, =1{новый узел} few{новых узла} many{новых узлов} other{новых узлов}}", + "notification_newTypeDiscovered": "Обнаружен новый {contactType}", + "notification_receivedNewMessage": "Получено новое сообщение", + "settings_gpxExportRepeaters": "Экспортировать рипитеры / сервер комнаты в GPX", + "settings_gpxExportRepeatersSubtitle": "Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.", + "settings_gpxExportContacts": "Экспортировать спутников в GPX", + "settings_gpxExportNotAvailable": "Не поддерживается на вашем устройстве/ОС", + "settings_gpxExportError": "Произошла ошибка при экспорте.", + "settings_gpxExportRepeatersRoom": "Местоположения повторителей и серверов комнат", + "settings_gpxExportChat": "Местоположения спутников", + "settings_gpxExportContactsSubtitle": "Экспортирует спутников с местоположением в файл GPX.", + "settings_gpxExportAll": "Экспортировать все контакты в GPX", + "settings_gpxExportAllSubtitle": "Экспортирует все контакты с местоположением в файл GPX.", + "settings_gpxExportAllContacts": "Все местоположения контактов", + "settings_gpxExportSuccess": "Успешно экспортирован файл GPX.", + "settings_gpxExportNoContacts": "Нет контактов для экспорта.", + "settings_gpxExportShareText": "Данные карты экспортированы из meshcore-open", + "settings_gpxExportShareSubject": "meshcore-open экспорт данных карты GPX", + "pathTrace_someHopsNoLocation": "Одному или нескольким хмелям не указано местоположение!", + "map_tapToAdd": "Нажимайте на узлы, чтобы добавить их в путь.", + "map_removeLast": "Удалить последний", + "map_pathTraceCancelled": "Отмена трассировки пути", + "pathTrace_clearTooltip": "Очистить путь", + "map_runTrace": "Запустить трассировку пути", + "scanner_enableBluetooth": "Включите Bluetooth", + "scanner_bluetoothOff": "Bluetooth выключен", + "scanner_bluetoothOffMessage": "Пожалуйста, включите Bluetooth, чтобы найти устройства.", + "scanner_chromeRequired": "Требуется браузер Chrome", + "scanner_chromeRequiredMessage": "Для поддержки Bluetooth в этом веб-приложении требуется Google Chrome или браузер на базе Chromium.", + "snrIndicator_nearByRepeaters": "Ближайшие ретрансляторы", + "snrIndicator_lastSeen": "Последний раз видели", + "chat_ShowAllPaths": "Показать все пути", + "settings_clientRepeatFreqWarning": "Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.", + "settings_clientRepeatSubtitle": "Позвольте этому устройству повторять пакеты данных для других устройств.", + "settings_clientRepeat": "Повторение \"вне сети\"", + "settings_aboutOpenMeteoAttribution": "Данные о высоте LOS: Open-Meteo (CC BY 4.0)", + "appSettings_unitsTitle": "Единицы", + "appSettings_unitsMetric": "Метрическая (м/км)", + "appSettings_unitsImperial": "Имперская (ft / mi)", + "map_lineOfSight": "Линия видимости", + "map_losScreenTitle": "Линия видимости", + "losSelectStartEnd": "Выберите начальный и конечный узлы для LOS.", + "losRunFailed": "Проверка прямой видимости не удалась: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -869,13 +869,13 @@ } } }, - "losClearAllPoints": "Очистить все точки", - "losRunToViewElevationProfile": "Запустите LOS, чтобы просмотреть профиль высот.", - "losMenuTitle": "ЛОС Меню", - "losMenuSubtitle": "Коснитесь узлов или нажмите и удерживайте карту для выбора пользовательских точек.", - "losShowDisplayNodes": "Показать узлы отображения", - "losCustomPoints": "Пользовательские точки", - "losCustomPointLabel": "Пользовательский {index}", + "losClearAllPoints": "Очистить все точки", + "losRunToViewElevationProfile": "Запустите LOS, чтобы просмотреть профиль высот.", + "losMenuTitle": "ЛОС Меню", + "losMenuSubtitle": "Коснитесь узлов или нажмите и удерживайте карту для выбора пользовательских точек.", + "losShowDisplayNodes": "Показать узлы отображения", + "losCustomPoints": "Пользовательские точки", + "losCustomPointLabel": "Пользовательский {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -883,9 +883,9 @@ } } }, - "losPointA": "Точка А", - "losPointB": "Точка Б", - "losAntennaA": "Антенна А: {value} {unit}", + "losPointA": "Точка А", + "losPointB": "Точка Б", + "losAntennaA": "Антенна А: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -896,7 +896,7 @@ } } }, - "losAntennaB": "Антенна Б: {value} {unit}", + "losAntennaB": "Антенна Б: {value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -907,9 +907,9 @@ } } }, - "losRun": "Запустить ЛОС", - "losNoElevationData": "Нет данных о высоте", - "losProfileClear": "{distance} {distanceUnit}, свободная зона видимости, минимальный зазор {clearance} {heightUnit}", + "losRun": "Запустить ЛОС", + "losNoElevationData": "Нет данных о высоте", + "losProfileClear": "{distance} {distanceUnit}, свободная зона видимости, минимальный зазор {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -926,7 +926,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit}, заблокирован {obstruction} {heightUnit}", + "losProfileBlocked": "{distance} {distanceUnit}, заблокирован {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { @@ -943,9 +943,9 @@ } } }, - "losStatusChecking": "ЛОС: проверяю...", - "losStatusNoData": "ЛОС: нет данных", - "losStatusSummary": "LOS: {clear}/{total} очищено, {blocked} заблокировано, {unknown} неизвестно.", + "losStatusChecking": "ЛОС: проверяю...", + "losStatusNoData": "ЛОС: нет данных", + "losStatusSummary": "LOS: {clear}/{total} очищено, {blocked} заблокировано, {unknown} неизвестно.", "@losStatusSummary": { "placeholders": { "clear": { @@ -962,20 +962,20 @@ } } }, - "losErrorElevationUnavailable": "Данные о высоте недоступны для одного или нескольких образцов.", - "losErrorInvalidInput": "Неверные данные о точках/высоте для расчета LOS.", - "losRenameCustomPoint": "Переименовать пользовательскую точку", - "losPointName": "Имя точки", - "losShowPanelTooltip": "Показать панель LOS", - "losHidePanelTooltip": "Скрыть панель LOS", - "losElevationAttribution": "Данные о высоте: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Радиогоризонт", - "losLegendLosBeam": "Линия прямой видимости", - "losLegendTerrain": "Рельеф", - "losFrequencyLabel": "Частота", - "losFrequencyInfoTooltip": "Просмотреть детали расчёта", - "losFrequencyDialogTitle": "Расчёт радиогоризонта", - "losFrequencyDialogDescription": "Начиная с k={baselineK} на частоте {baselineFreq} МГц, расчет корректирует коэффициент k для текущего диапазона {frequencyMHz} МГц, который определяет изогнутую границу радиогоризонта.", + "losErrorElevationUnavailable": "Данные о высоте недоступны для одного или нескольких образцов.", + "losErrorInvalidInput": "Неверные данные о точках/высоте для расчета LOS.", + "losRenameCustomPoint": "Переименовать пользовательскую точку", + "losPointName": "Имя точки", + "losShowPanelTooltip": "Показать панель LOS", + "losHidePanelTooltip": "Скрыть панель LOS", + "losElevationAttribution": "Данные о высоте: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Радиогоризонт", + "losLegendLosBeam": "Линия прямой видимости", + "losLegendTerrain": "Рельеф", + "losFrequencyLabel": "Частота", + "losFrequencyInfoTooltip": "Просмотреть детали расчёта", + "losFrequencyDialogTitle": "Расчёт радиогоризонта", + "losFrequencyDialogDescription": "Начиная с k={baselineK} на частоте {baselineFreq} МГц, расчет корректирует коэффициент k для текущего диапазона {frequencyMHz} МГц, который определяет изогнутую границу радиогоризонта.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -993,9 +993,9 @@ } } }, - "listFilter_addToFavorites": "Добавить в избранное", - "listFilter_favorites": "Избранное", - "listFilter_removeFromFavorites": "Удалить из избранного", + "listFilter_addToFavorites": "Добавить в избранное", + "listFilter_favorites": "Избранное", + "listFilter_removeFromFavorites": "Удалить из избранного", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1036,19 +1036,17 @@ } } }, - "contacts_searchRepeaters": "Поиск {number}{str} ретрансляторов...", - "contacts_searchContactsNoNumber": "Поиск контактов...", - "contacts_unread": "Непрочитанное", - "contacts_searchRoomServers": "Поиск {number}{str} серверов комнат...", - "contacts_searchFavorites": "Поиск {number}{str} избранного...", - "contacts_searchUsers": "Поиск {number}{str} пользователей...", - "connectionChoiceSubtitle": "Выберите, каким способом вы хотите получить свой устройство MeshCore.", - "connectionChoiceTitle": "Выберите способ подключения", + "contacts_searchRepeaters": "Поиск {number}{str} ретрансляторов...", + "contacts_searchContactsNoNumber": "Поиск контактов...", + "contacts_unread": "Непрочитанное", + "contacts_searchRoomServers": "Поиск {number}{str} серверов комнат...", + "contacts_searchFavorites": "Поиск {number}{str} избранного...", + "contacts_searchUsers": "Поиск {number}{str} пользователей...", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", - "usbScreenSubtitle": "Выберите обнаруженное устройство с последовательным интерфейсом и подключите его напрямую к вашему узлу MeshCore.", - "usbScreenNote": "USB-серийный порт активен на поддерживаемых устройствах Android и на настольных платформах.", - "usbScreenStatus": "Выберите USB-устройство", - "usbScreenTitle": "Подключение через USB", - "usbScreenEmptyState": "Не обнаружено устройств USB. Подключите одно из них и обновите список." + "usbScreenSubtitle": "Выберите обнаруженное устройство с последовательным интерфейсом и подключите его напрямую к вашему узлу MeshCore.", + "usbScreenNote": "USB-серийный порт активен на поддерживаемых устройствах Android и на настольных платформах.", + "usbScreenStatus": "Выберите USB-устройство", + "usbScreenTitle": "Подключение через USB", + "usbScreenEmptyState": "Не обнаружено устройств USB. Подключите одно из них и обновите список." } diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb index 46fe7e7..183f2fc 100644 --- a/lib/l10n/app_sk.arb +++ b/lib/l10n/app_sk.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Kanál \"{name}\" sa nepodarilo odstrániť", +{ + "channels_channelDeleteFailed": "Kanál \"{name}\" sa nepodarilo odstrániÅ¥", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -10,32 +10,32 @@ "@@locale": "sk", "appTitle": "MeshCore Open", "nav_contacts": "Kontakty", - "nav_channels": "Kanály", + "nav_channels": "Kanály", "nav_map": "Mapa", - "common_cancel": "Zrušiť", - "common_connect": "Pripojiť", - "common_unknownDevice": "Neznáme zariadenie", - "common_save": "Uložiť", - "common_delete": "Odstrániť", - "common_close": "Zavrieť", - "common_edit": "Upraviť", - "common_add": "Pridať", + "common_cancel": "ZruÅ¡iÅ¥", + "common_connect": "PripojiÅ¥", + "common_unknownDevice": "Neznáme zariadenie", + "common_save": "UložiÅ¥", + "common_delete": "OdstrániÅ¥", + "common_close": "ZavrieÅ¥", + "common_edit": "UpraviÅ¥", + "common_add": "PridaÅ¥", "common_settings": "Nastavenia", - "common_disconnect": "Odpojiť", - "common_connected": "Pripojené", - "common_disconnected": "Odpojené", - "common_create": "Vytvoriť", - "common_continue": "Pokračovať", - "common_share": "Zdieľať", - "common_copy": "Kopírovať", - "common_retry": "Pokusť znova", - "common_hide": "Skryť", - "common_remove": "Odstrániť", + "common_disconnect": "OdpojiÅ¥", + "common_connected": "Pripojené", + "common_disconnected": "Odpojené", + "common_create": "VytvoriÅ¥", + "common_continue": "PokračovaÅ¥", + "common_share": "ZdieľaÅ¥", + "common_copy": "KopírovaÅ¥", + "common_retry": "PokusÅ¥ znova", + "common_hide": "SkryÅ¥", + "common_remove": "OdstrániÅ¥", "common_enable": "Povolit", - "common_disable": "Zakázať", - "common_reboot": "Restartovať", - "common_loading": "Načítavanie...", - "common_notAvailable": "—", + "common_disable": "ZakázaÅ¥", + "common_reboot": "RestartovaÅ¥", + "common_loading": "Načítavanie...", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,11 +53,11 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Skrívania zariadení...", + "scanner_scanning": "Skrívania zariadení...", "scanner_connecting": "Pripojujem sa...", "scanner_disconnecting": "Odpojuje sa...", - "scanner_notConnected": "Nezriadené", - "scanner_connectedTo": "Pripojené k {deviceName}", + "scanner_notConnected": "Nezriadené", + "scanner_connectedTo": "Pripojené k {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -65,8 +65,8 @@ } } }, - "scanner_searchingDevices": "Hľadám zariadenia MeshCore...", - "scanner_tapToScan": "Stlač skenovanie na nájdenie zariadení MeshCore.", + "scanner_searchingDevices": "Hľadám zariadenia MeshCore...", + "scanner_tapToScan": "Stlač skenovanie na nájdenie zariadení MeshCore.", "scanner_connectionFailed": "Pripojenie zlyhalo: {error}", "@scanner_connectionFailed": { "placeholders": { @@ -76,51 +76,51 @@ } }, "scanner_stop": "Zastavte", - "scanner_scan": "Skončiť", - "device_quickSwitch": "Rýchle prepínač", + "scanner_scan": "SkončiÅ¥", + "device_quickSwitch": "Rýchle prepínač", "device_meshcore": "MeshCore", "settings_title": "Nastavenia", - "settings_deviceInfo": "Informácie o zariadení", - "settings_appSettings": "Nastavenia aplikácie", - "settings_appSettingsSubtitle": "Upozornenia, správy a nastavenia mapy", + "settings_deviceInfo": "Informácie o zariadení", + "settings_appSettings": "Nastavenia aplikácie", + "settings_appSettingsSubtitle": "Upozornenia, správy a nastavenia mapy", "settings_nodeSettings": "Nastavenia uzla", - "settings_nodeName": "Názov uzla", - "settings_nodeNameNotSet": "Nezriadené", - "settings_nodeNameHint": "Zadajte názov uzla", - "settings_nodeNameUpdated": "Meno aktualizované", - "settings_radioSettings": "Nastavenia rádia", - "settings_radioSettingsSubtitle": "Frekvencia, výkon, rozptylovací faktor", - "settings_radioSettingsUpdated": "Nastavenia rádia aktualizované", + "settings_nodeName": "Názov uzla", + "settings_nodeNameNotSet": "Nezriadené", + "settings_nodeNameHint": "Zadajte názov uzla", + "settings_nodeNameUpdated": "Meno aktualizované", + "settings_radioSettings": "Nastavenia rádia", + "settings_radioSettingsSubtitle": "Frekvencia, výkon, rozptylovací faktor", + "settings_radioSettingsUpdated": "Nastavenia rádia aktualizované", "settings_location": "Lokalita", - "settings_locationSubtitle": "GPS súradnice", - "settings_locationUpdated": "Lokalita aktualizovaná", - "settings_locationBothRequired": "Zadajte obidve zložky zemyslenia a zložky meracieho kruhu.", - "settings_locationInvalid": "Neplatná šírka alebo dĺžka.", - "settings_latitude": "Súradnica", - "settings_longitude": "Dĺžka", - "settings_privacyMode": "Režim ochrany súkromia", - "settings_privacyModeSubtitle": "Skryť meno/poloha v reklamách", - "settings_privacyModeToggle": "Prepínač súkromného režimu skryje vaše meno a polohu v reklamách.", - "settings_privacyModeEnabled": "Ochranný režim je povolený.", - "settings_privacyModeDisabled": "Ochranný režim je vypnutý", - "settings_actions": "Možné akcie", - "settings_sendAdvertisement": "Odoslať reklamu", - "settings_sendAdvertisementSubtitle": "Momentálne priezornejšie.", - "settings_advertisementSent": "Reklama odeslaná", - "settings_syncTime": "Čas synchronizácie", - "settings_syncTimeSubtitle": "Nastaviť hodiny zariadenia na čas telefónu", - "settings_timeSynchronized": "Čas synchronizovaný", - "settings_refreshContacts": "Načítať Kontakty", - "settings_refreshContactsSubtitle": "Načítať zoznam kontaktov z zariadenia", - "settings_rebootDevice": "Restartovať zariadenie", + "settings_locationSubtitle": "GPS súradnice", + "settings_locationUpdated": "Lokalita aktualizovaná", + "settings_locationBothRequired": "Zadajte obidve zložky zemyslenia a zložky meracieho kruhu.", + "settings_locationInvalid": "Neplatná šírka alebo dĺžka.", + "settings_latitude": "Súradnica", + "settings_longitude": "Dĺžka", + "settings_privacyMode": "Režim ochrany súkromia", + "settings_privacyModeSubtitle": "SkryÅ¥ meno/poloha v reklamách", + "settings_privacyModeToggle": "Prepínač súkromného režimu skryje vaÅ¡e meno a polohu v reklamách.", + "settings_privacyModeEnabled": "Ochranný režim je povolený.", + "settings_privacyModeDisabled": "Ochranný režim je vypnutý", + "settings_actions": "Možné akcie", + "settings_sendAdvertisement": "OdoslaÅ¥ reklamu", + "settings_sendAdvertisementSubtitle": "Momentálne priezornejÅ¡ie.", + "settings_advertisementSent": "Reklama odeslaná", + "settings_syncTime": "ÄŒas synchronizácie", + "settings_syncTimeSubtitle": "NastaviÅ¥ hodiny zariadenia na čas telefónu", + "settings_timeSynchronized": "ÄŒas synchronizovaný", + "settings_refreshContacts": "NačítaÅ¥ Kontakty", + "settings_refreshContactsSubtitle": "NačítaÅ¥ zoznam kontaktov z zariadenia", + "settings_rebootDevice": "RestartovaÅ¥ zariadenie", "settings_rebootDeviceSubtitle": "Restartujte zariadenie MeshCore.", - "settings_rebootDeviceConfirm": "Ste si istý, že chcete zariadenie reštartovať? Budete odpojení.", + "settings_rebootDeviceConfirm": "Ste si istý, že chcete zariadenie reÅ¡tartovaÅ¥? Budete odpojení.", "settings_debug": "Ladenie", "settings_bleDebugLog": "Log BLE Debug", - "settings_bleDebugLogSubtitle": "Príkazy BLE, odpovede a surové dáta", - "settings_appDebugLog": "Záznam ladenia aplikácie", - "settings_appDebugLogSubtitle": "Správy z ladenia aplikácie", - "settings_about": "O nás", + "settings_bleDebugLogSubtitle": "Príkazy BLE, odpovede a surové dáta", + "settings_appDebugLog": "Záznam ladenia aplikácie", + "settings_appDebugLogSubtitle": "Správy z ladenia aplikácie", + "settings_about": "O nás", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -130,24 +130,24 @@ } }, "settings_aboutLegalese": "MeshCore Open Source Projekt 2024", - "settings_aboutDescription": "Otvorený zdrojový Flutter klient pre MeshCore LoRa sieťové zariadenia.", + "settings_aboutDescription": "Otvorený zdrojový Flutter klient pre MeshCore LoRa sieÅ¥ové zariadenia.", "settings_infoName": "Meno", "settings_infoId": "ID", "settings_infoStatus": "Status", - "settings_infoBattery": "Batéria", - "settings_infoPublicKey": "Verejný kľúč", - "settings_infoContactsCount": "Počet kontaktov", - "settings_infoChannelCount": "Počet kanálov", + "settings_infoBattery": "Batéria", + "settings_infoPublicKey": "Verejný kľúč", + "settings_infoContactsCount": "Počet kontaktov", + "settings_infoChannelCount": "Počet kanálov", "settings_presets": "Prednastavenia", "settings_frequency": "Frekvencia (MHz)", - "settings_frequencyHelper": "300,0 – 2500,0", - "settings_frequencyInvalid": "Neplatná frekvencia (300-2500 MHz)", - "settings_bandwidth": "Šírka pásma", - "settings_spreadingFactor": "Rozptýľovací faktor", - "settings_codingRate": "Cenový kurz pre programovanie", - "settings_txPower": "TX Výkon (dBm)", + "settings_frequencyHelper": "300,0 – 2500,0", + "settings_frequencyInvalid": "Neplatná frekvencia (300-2500 MHz)", + "settings_bandwidth": "Šírka pásma", + "settings_spreadingFactor": "Rozptýľovací faktor", + "settings_codingRate": "Cenový kurz pre programovanie", + "settings_txPower": "TX Výkon (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Neplatná hodnota výkonu TX (0-22 dBm)", + "settings_txPowerInvalid": "Neplatná hodnota výkonu TX (0-22 dBm)", "settings_error": "Chyba: {message}", "@settings_error": { "placeholders": { @@ -156,50 +156,50 @@ } } }, - "appSettings_title": "Nastavenia aplikácie", - "appSettings_appearance": "Vzhľad", - "appSettings_theme": "Téma", - "appSettings_themeSystem": "Predvolený systém", + "appSettings_title": "Nastavenia aplikácie", + "appSettings_appearance": "Vzhľad", + "appSettings_theme": "Téma", + "appSettings_themeSystem": "Predvolený systém", "appSettings_themeLight": "Svetlo", - "appSettings_themeDark": "Tmavé", + "appSettings_themeDark": "Tmavé", "appSettings_language": "Jazyk", - "appSettings_languageSystem": "Predvolený systém", + "appSettings_languageSystem": "Predvolený systém", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Upozornenia", - "appSettings_enableNotifications": "Povolte Notifikácie", - "appSettings_enableNotificationsSubtitle": "Zísť o upozornenia na správy a inzeráty", - "appSettings_notificationPermissionDenied": "Odmietená povolenie notifikácií", - "appSettings_notificationsEnabled": "Upozornenia povolené", - "appSettings_notificationsDisabled": "Upozornenia sú vypnuté", - "appSettings_messageNotifications": "Správy od upozornení", - "appSettings_messageNotificationsSubtitle": "Zobraziť upozornenie pri prijímaní nových správ", - "appSettings_channelMessageNotifications": "Notifikácie z kanálov", - "appSettings_channelMessageNotificationsSubtitle": "Zobraziť upozornenie pri prijímaní správ z kanálu", + "appSettings_enableNotifications": "Povolte Notifikácie", + "appSettings_enableNotificationsSubtitle": "ZísÅ¥ o upozornenia na správy a inzeráty", + "appSettings_notificationPermissionDenied": "Odmietená povolenie notifikácií", + "appSettings_notificationsEnabled": "Upozornenia povolené", + "appSettings_notificationsDisabled": "Upozornenia sú vypnuté", + "appSettings_messageNotifications": "Správy od upozornení", + "appSettings_messageNotificationsSubtitle": "ZobraziÅ¥ upozornenie pri prijímaní nových správ", + "appSettings_channelMessageNotifications": "Notifikácie z kanálov", + "appSettings_channelMessageNotificationsSubtitle": "ZobraziÅ¥ upozornenie pri prijímaní správ z kanálu", "appSettings_advertisementNotifications": "Upozornenia na reklamy", - "appSettings_advertisementNotificationsSubtitle": "Zobraziť upozornenie, keď sa objavia nové uzly.", - "appSettings_messaging": "Správy", - "appSettings_clearPathOnMaxRetry": "Vyčisti cestu na Max Retry", - "appSettings_clearPathOnMaxRetrySubtitle": "Resetovať kontaktný priebeh po 5 neúspešných pokusoch o doručenie", - "appSettings_pathsWillBeCleared": "Cesty budú vymazané po 5 neúspešných pokusoch.", - "appSettings_pathsWillNotBeCleared": "Cesty sa automaticky nevymazávajú.", - "appSettings_autoRouteRotation": "Automatické prechodové trasy", - "appSettings_autoRouteRotationSubtitle": "Striedajte sa medzi najlepšími trasami a režimom povodňovej analýzy.", - "appSettings_autoRouteRotationEnabled": "Automatické otáčanie trasy povolené", - "appSettings_autoRouteRotationDisabled": "Automatické prekladanie trás pozastavené", - "appSettings_battery": "Batéria", - "appSettings_batteryChemistry": "Chemická zloženie batérie", + "appSettings_advertisementNotificationsSubtitle": "ZobraziÅ¥ upozornenie, keď sa objavia nové uzly.", + "appSettings_messaging": "Správy", + "appSettings_clearPathOnMaxRetry": "Vyčisti cestu na Max Retry", + "appSettings_clearPathOnMaxRetrySubtitle": "ResetovaÅ¥ kontaktný priebeh po 5 neúspeÅ¡ných pokusoch o doručenie", + "appSettings_pathsWillBeCleared": "Cesty budú vymazané po 5 neúspeÅ¡ných pokusoch.", + "appSettings_pathsWillNotBeCleared": "Cesty sa automaticky nevymazávajú.", + "appSettings_autoRouteRotation": "Automatické prechodové trasy", + "appSettings_autoRouteRotationSubtitle": "Striedajte sa medzi najlepšími trasami a režimom povodňovej analýzy.", + "appSettings_autoRouteRotationEnabled": "Automatické otáčanie trasy povolené", + "appSettings_autoRouteRotationDisabled": "Automatické prekladanie trás pozastavené", + "appSettings_battery": "Batéria", + "appSettings_batteryChemistry": "Chemická zloženie batérie", "appSettings_batteryChemistryPerDevice": "Nastavenie pre {deviceName}", "@appSettings_batteryChemistryPerDevice": { "placeholders": { @@ -208,20 +208,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Pripojte sa k zariadeniu na výber", + "appSettings_batteryChemistryConnectFirst": "Pripojte sa k zariadeniu na výber", "appSettings_batteryNmc": "18650 NMC (3,0-4,2V)", - "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65V)", + "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65V)", "appSettings_batteryLipo": "LiPo (3,0-4,2V)", "appSettings_mapDisplay": "Zobrazenie mapy", - "appSettings_showRepeaters": "Zobraziť opakovače", - "appSettings_showRepeatersSubtitle": "Zobraziť opakujúce sa uzly na mape", - "appSettings_showChatNodes": "Zobraziť uzly chatových správ", - "appSettings_showChatNodesSubtitle": "Zobraziť chatové uzly na mape", - "appSettings_showOtherNodes": "Zobraziť ďalšie uzly", - "appSettings_showOtherNodesSubtitle": "Zobraziť ostatné typy uzlov na mape", - "appSettings_timeFilter": "Filtrovacie Časové Obdoby", - "appSettings_timeFilterShowAll": "Zobraziť všetky uzly", - "appSettings_timeFilterShowLast": "Zobraziť uzly z posledných {hours} hodín", + "appSettings_showRepeaters": "ZobraziÅ¥ opakovače", + "appSettings_showRepeatersSubtitle": "ZobraziÅ¥ opakujúce sa uzly na mape", + "appSettings_showChatNodes": "ZobraziÅ¥ uzly chatových správ", + "appSettings_showChatNodesSubtitle": "ZobraziÅ¥ chatové uzly na mape", + "appSettings_showOtherNodes": "ZobraziÅ¥ ďalÅ¡ie uzly", + "appSettings_showOtherNodesSubtitle": "ZobraziÅ¥ ostatné typy uzlov na mape", + "appSettings_timeFilter": "Filtrovacie ÄŒasové Obdoby", + "appSettings_timeFilterShowAll": "ZobraziÅ¥ vÅ¡etky uzly", + "appSettings_timeFilterShowLast": "ZobraziÅ¥ uzly z posledných {hours} hodín", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -229,16 +229,16 @@ } } }, - "appSettings_mapTimeFilter": "Filtračný čas mapy", - "appSettings_showNodesDiscoveredWithin": "Zobraziť uzly objavené v:", - "appSettings_allTime": "Všetky časy", - "appSettings_lastHour": "Posledná hodina", - "appSettings_last6Hours": "Posledné 6 hodín", - "appSettings_last24Hours": "Posledných 24 hodín", - "appSettings_lastWeek": "Minul týždeň", - "appSettings_offlineMapCache": "Offline Mapa Pamäť", - "appSettings_noAreaSelected": "Neoznačila sa žiadna oblasť", - "appSettings_areaSelectedZoom": "Vyberená oblasť (zoom {minZoom}-{maxZoom})", + "appSettings_mapTimeFilter": "Filtračný čas mapy", + "appSettings_showNodesDiscoveredWithin": "ZobraziÅ¥ uzly objavené v:", + "appSettings_allTime": "VÅ¡etky časy", + "appSettings_lastHour": "Posledná hodina", + "appSettings_last6Hours": "Posledné 6 hodín", + "appSettings_last24Hours": "Posledných 24 hodín", + "appSettings_lastWeek": "Minul týždeň", + "appSettings_offlineMapCache": "Offline Mapa Pamäť", + "appSettings_noAreaSelected": "Neoznačila sa žiadna oblasÅ¥", + "appSettings_areaSelectedZoom": "Vyberená oblasÅ¥ (zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -250,18 +250,18 @@ } }, "appSettings_debugCard": "Ladenie", - "appSettings_appDebugLogging": "Záznamy ladenia aplikácie", - "appSettings_appDebugLoggingSubtitle": "Logovací správy aplikácie pre ladenie", - "appSettings_appDebugLoggingEnabled": "Aplikácia povolila ladenie protokolmi", - "appSettings_appDebugLoggingDisabled": "Zabudované ladenie aplikácie je vypnuté.", + "appSettings_appDebugLogging": "Záznamy ladenia aplikácie", + "appSettings_appDebugLoggingSubtitle": "Logovací správy aplikácie pre ladenie", + "appSettings_appDebugLoggingEnabled": "Aplikácia povolila ladenie protokolmi", + "appSettings_appDebugLoggingDisabled": "Zabudované ladenie aplikácie je vypnuté.", "contacts_title": "Kontakty", - "contacts_noContacts": "Zatiaľ žiadne kontakty.", - "contacts_contactsWillAppear": "Kontakty sa zobrazia, keď zariadenia spúšťajú reklamu.", - "contacts_searchContacts": "Vyhľadávajte kontakty...", - "contacts_noUnreadContacts": "Žiadne neprečítané kontakty", - "contacts_noContactsFound": "Neboli nájdených žiadnych kontaktov ani skupiny.", - "contacts_deleteContact": "Odstrániť kontakt", - "contacts_removeConfirm": "Odstrániť {contactName} z kontaktov?", + "contacts_noContacts": "Zatiaľ žiadne kontakty.", + "contacts_contactsWillAppear": "Kontakty sa zobrazia, keď zariadenia spúšťajú reklamu.", + "contacts_searchContacts": "Vyhľadávajte kontakty...", + "contacts_noUnreadContacts": "Žiadne neprečítané kontakty", + "contacts_noContactsFound": "Neboli nájdených žiadnych kontaktov ani skupiny.", + "contacts_deleteContact": "OdstrániÅ¥ kontakt", + "contacts_removeConfirm": "OdstrániÅ¥ {contactName} z kontaktov?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -269,12 +269,12 @@ } } }, - "contacts_manageRepeater": "Spravovať opakované zoznamy", - "contacts_roomLogin": "Prihlásenie do miestnosti", - "contacts_openChat": "Otvorené Chat", - "contacts_editGroup": "Upraviť skupinu", - "contacts_deleteGroup": "Vymažť skupinu", - "contacts_deleteGroupConfirm": "Odstrániť \"{groupName}\"?", + "contacts_manageRepeater": "SpravovaÅ¥ opakované zoznamy", + "contacts_roomLogin": "Prihlásenie do miestnosti", + "contacts_openChat": "Otvorené Chat", + "contacts_editGroup": "UpraviÅ¥ skupinu", + "contacts_deleteGroup": "Vymažť skupinu", + "contacts_deleteGroupConfirm": "OdstrániÅ¥ \"{groupName}\"?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -282,10 +282,10 @@ } } }, - "contacts_newGroup": "Nová skupina", - "contacts_groupName": "Názov skupiny", - "contacts_groupNameRequired": "Skupina musí mať názov.", - "contacts_groupAlreadyExists": "Skupina \"{name}\" už existuje", + "contacts_newGroup": "Nová skupina", + "contacts_groupName": "Názov skupiny", + "contacts_groupNameRequired": "Skupina musí maÅ¥ názov.", + "contacts_groupAlreadyExists": "Skupina \"{name}\" už existuje", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -293,11 +293,11 @@ } } }, - "contacts_filterContacts": "Filtrovať kontakty...", - "contacts_noContactsMatchFilter": "Žiadne kontakty neodídu vášmu filtru.", - "contacts_noMembers": "Žiadni členovia", - "contacts_lastSeenNow": "Posledné zreteľné zobrazenie teraz", - "contacts_lastSeenMinsAgo": "Posledné zobrazenie {minutes} min. dozadu", + "contacts_filterContacts": "FiltrovaÅ¥ kontakty...", + "contacts_noContactsMatchFilter": "Žiadne kontakty neodídu vášmu filtru.", + "contacts_noMembers": "Žiadni členovia", + "contacts_lastSeenNow": "Posledné zreteľné zobrazenie teraz", + "contacts_lastSeenMinsAgo": "Posledné zobrazenie {minutes} min. dozadu", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Zobral/Zabral poslednýkrát pred hodinou.", - "contacts_lastSeenHoursAgo": "Posledné zobrazenie {hours} hodín dozadu", + "contacts_lastSeenHourAgo": "Zobral/Zabral poslednýkrát pred hodinou.", + "contacts_lastSeenHoursAgo": "Posledné zobrazenie {hours} hodín dozadu", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Zobral/Zabral posledný raz pred 1 dňom.", - "contacts_lastSeenDaysAgo": "Posledné zobrazenie {days} dní dozadu", + "contacts_lastSeenDayAgo": "Zobral/Zabral posledný raz pred 1 dňom.", + "contacts_lastSeenDaysAgo": "Posledné zobrazenie {days} dní dozadu", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -323,12 +323,12 @@ } } }, - "channels_title": "Kanály", - "channels_noChannelsConfigured": "Neobsiahnuté žiadne kanály", - "channels_addPublicChannel": "Pridať verejný kanál", - "channels_searchChannels": "Vyhľadávajte kanály...", - "channels_noChannelsFound": "Neobsiahlo sa žiadnych kanálov.", - "channels_channelIndex": "Kanál {index}", + "channels_title": "Kanály", + "channels_noChannelsConfigured": "Neobsiahnuté žiadne kanály", + "channels_addPublicChannel": "PridaÅ¥ verejný kanál", + "channels_searchChannels": "Vyhľadávajte kanály...", + "channels_noChannelsFound": "Neobsiahlo sa žiadnych kanálov.", + "channels_channelIndex": "Kanál {index}", "@channels_channelIndex": { "placeholders": { "index": { @@ -336,16 +336,16 @@ } } }, - "channels_hashtagChannel": "Kanál s hashtagom", - "channels_public": "Veľké verejné", - "channels_private": "Osobné", - "channels_publicChannel": "Veľké verejne kanály", - "channels_privateChannel": "Osobné kanál", - "channels_editChannel": "Upraviť kanál", - "channels_muteChannel": "Stlmiť kanál", - "channels_unmuteChannel": "Zrušiť stlmenie kanála", - "channels_deleteChannel": "Odstrániť kanál", - "channels_deleteChannelConfirm": "Odstrániť \"{name}\"? To sa nedá zrušiť.", + "channels_hashtagChannel": "Kanál s hashtagom", + "channels_public": "Veľké verejné", + "channels_private": "Osobné", + "channels_publicChannel": "Veľké verejne kanály", + "channels_privateChannel": "Osobné kanál", + "channels_editChannel": "UpraviÅ¥ kanál", + "channels_muteChannel": "StlmiÅ¥ kanál", + "channels_unmuteChannel": "ZruÅ¡iÅ¥ stlmenie kanála", + "channels_deleteChannel": "OdstrániÅ¥ kanál", + "channels_deleteChannelConfirm": "OdstrániÅ¥ \"{name}\"? To sa nedá zruÅ¡iÅ¥.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -353,7 +353,7 @@ } } }, - "channels_channelDeleted": "Kanál \"{name}\" bol odstránený", + "channels_channelDeleted": "Kanál \"{name}\" bol odstránený", "@channels_channelDeleted": { "placeholders": { "name": { @@ -361,16 +361,16 @@ } } }, - "channels_addChannel": "Pridať kanál", - "channels_channelIndexLabel": "Index kanála", - "channels_channelName": "Názov kanálu", - "channels_usePublicChannel": "Použite verejný kanál", - "channels_standardPublicPsk": "Štandardný verejný PSK", - "channels_pskHex": "PSK (Šifrovacia kľúčik)", - "channels_generateRandomPsk": "Generovať náhodný PSK", - "channels_enterChannelName": "Prosím, zadajte názov kanála.", - "channels_pskMustBe32Hex": "PSK musí mať 32 hexadecimálových znakov.", - "channels_channelAdded": "Kanál \"{name}\" pridaný", + "channels_addChannel": "PridaÅ¥ kanál", + "channels_channelIndexLabel": "Index kanála", + "channels_channelName": "Názov kanálu", + "channels_usePublicChannel": "Použite verejný kanál", + "channels_standardPublicPsk": "Å tandardný verejný PSK", + "channels_pskHex": "PSK (Å ifrovacia kľúčik)", + "channels_generateRandomPsk": "GenerovaÅ¥ náhodný PSK", + "channels_enterChannelName": "Prosím, zadajte názov kanála.", + "channels_pskMustBe32Hex": "PSK musí maÅ¥ 32 hexadecimálových znakov.", + "channels_channelAdded": "Kanál \"{name}\" pridaný", "@channels_channelAdded": { "placeholders": { "name": { @@ -378,7 +378,7 @@ } } }, - "channels_editChannelTitle": "Upraviť kanál {index}", + "channels_editChannelTitle": "UpraviÅ¥ kanál {index}", "@channels_editChannelTitle": { "placeholders": { "index": { @@ -386,8 +386,8 @@ } } }, - "channels_smazCompression": "Odstránenie kompresie SMAZ", - "channels_channelUpdated": "Kanál \"{name}\" bol aktualizovaný", + "channels_smazCompression": "Odstránenie kompresie SMAZ", + "channels_channelUpdated": "Kanál \"{name}\" bol aktualizovaný", "@channels_channelUpdated": { "placeholders": { "name": { @@ -395,16 +395,16 @@ } } }, - "channels_publicChannelAdded": "Veľký kanál pridaný", - "channels_sortBy": "Triediť podľa", - "channels_sortManual": "Ručne", + "channels_publicChannelAdded": "Veľký kanál pridaný", + "channels_sortBy": "TriediÅ¥ podľa", + "channels_sortManual": "Ručne", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Posledné správy", - "channels_sortUnread": "Nezriadené", - "chat_noMessages": "Zatiaľ žiadne správy.", - "chat_sendMessageToStart": "Pošlite správu na začiatok", - "chat_originalMessageNotFound": "Neznámy pôvodný odkaz.", - "chat_replyingTo": "Odpovedám {name}", + "channels_sortLatestMessages": "Posledné správy", + "channels_sortUnread": "Nezriadené", + "chat_noMessages": "Zatiaľ žiadne správy.", + "chat_sendMessageToStart": "PoÅ¡lite správu na začiatok", + "chat_originalMessageNotFound": "Neznámy pôvodný odkaz.", + "chat_replyingTo": "Odpovedám {name}", "@chat_replyingTo": { "placeholders": { "name": { @@ -412,7 +412,7 @@ } } }, - "chat_replyTo": "Odpovedať {name}", + "chat_replyTo": "OdpovedaÅ¥ {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -421,7 +421,7 @@ } }, "chat_location": "Lokalita", - "chat_sendMessageTo": "Pošli správu {contactName}", + "chat_sendMessageTo": "PoÅ¡li správu {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -429,8 +429,8 @@ } } }, - "chat_typeMessage": "Napište správu...", - "chat_messageTooLong": "Správa je príliš dlhá (max {maxBytes} bytov).", + "chat_typeMessage": "NapiÅ¡te správu...", + "chat_messageTooLong": "Správa je príliÅ¡ dlhá (max {maxBytes} bytov).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -438,10 +438,10 @@ } } }, - "chat_messageCopied": "Správa skopírovaná", - "chat_messageDeleted": "Posolstvo odstránené", + "chat_messageCopied": "Správa skopírovaná", + "chat_messageDeleted": "Posolstvo odstránené", "chat_retryingMessage": "Pokus o obnovenie", - "chat_retryCount": "Skúsiť {current}/{max}", + "chat_retryCount": "SkúsiÅ¥ {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -452,33 +452,33 @@ } } }, - "chat_sendGif": "Odoslať GIF", - "chat_reply": "Odpovedať", - "chat_addReaction": "Pridať Reakciu", + "chat_sendGif": "OdoslaÅ¥ GIF", + "chat_reply": "OdpovedaÅ¥", + "chat_addReaction": "PridaÅ¥ Reakciu", "chat_me": "Mne", "emojiCategorySmileys": "Emoji", - "emojiCategoryGestures": "Gestá", + "emojiCategoryGestures": "Gestá", "emojiCategoryHearts": "Srdcia", "emojiCategoryObjects": "Objekty", "gifPicker_title": "Vyberte GIF", - "gifPicker_searchHint": "Vyhľadávajte GIFy...", - "gifPicker_poweredBy": "Napájané spoločnosťou GIPHY", - "gifPicker_noGifsFound": "Neboli nájdené žiadne GIFy.", - "gifPicker_failedLoad": "Nepodarilo sa načítať GIFy", - "gifPicker_failedSearch": "Nepodarilo sa vyhľadať GIFy", - "gifPicker_noInternet": "Žiadna internetová konektivita", - "debugLog_appTitle": "Záznam ladenia aplikácie", + "gifPicker_searchHint": "Vyhľadávajte GIFy...", + "gifPicker_poweredBy": "Napájané spoločnosÅ¥ou GIPHY", + "gifPicker_noGifsFound": "Neboli nájdené žiadne GIFy.", + "gifPicker_failedLoad": "Nepodarilo sa načítaÅ¥ GIFy", + "gifPicker_failedSearch": "Nepodarilo sa vyhľadaÅ¥ GIFy", + "gifPicker_noInternet": "Žiadna internetová konektivita", + "debugLog_appTitle": "Záznam ladenia aplikácie", "debugLog_bleTitle": "Log BLE Debug", - "debugLog_copyLog": "Kopírovať záznam", - "debugLog_clearLog": "Vymažať záznam", - "debugLog_copied": "Záznam ladenia skopírovaný", - "debugLog_bleCopied": "Kopírovaný záznam z BLE.", - "debugLog_noEntries": "Zatiaľ neboli zaznamenané žiadne debug logy.", - "debugLog_enableInSettings": "Povolte ladicové logy v nastaveniach", - "debugLog_frames": "Rámce", + "debugLog_copyLog": "KopírovaÅ¥ záznam", + "debugLog_clearLog": "VymažaÅ¥ záznam", + "debugLog_copied": "Záznam ladenia skopírovaný", + "debugLog_bleCopied": "Kopírovaný záznam z BLE.", + "debugLog_noEntries": "Zatiaľ neboli zaznamenané žiadne debug logy.", + "debugLog_enableInSettings": "Povolte ladicové logy v nastaveniach", + "debugLog_frames": "Rámce", "debugLog_rawLogRx": "Raw Log-RX", - "debugLog_noBleActivity": "Zatiaľ žiadna aktivita BLE.", - "debugFrame_length": "Dĺžka rámca: {count} bajtov", + "debugLog_noBleActivity": "Zatiaľ žiadna aktivita BLE.", + "debugFrame_length": "Dĺžka rámca: {count} bajtov", "@debugFrame_length": { "placeholders": { "count": { @@ -486,7 +486,7 @@ } } }, - "debugFrame_command": "Prikáž: 0x{value}", + "debugFrame_command": "PrikázÌŒ: 0x{value}", "@debugFrame_command": { "placeholders": { "value": { @@ -494,8 +494,8 @@ } } }, - "debugFrame_textMessageHeader": "Textová zvesť:", - "debugFrame_destinationPubKey": "- Cieľový PubKey: {pubKey}", + "debugFrame_textMessageHeader": "Textová zvesÅ¥:", + "debugFrame_destinationPubKey": "- Cieľový PubKey: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -503,7 +503,7 @@ } } }, - "debugFrame_timestamp": "- Časové označenie: {timestamp}", + "debugFrame_timestamp": "- ÄŒasové označenie: {timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -511,7 +511,7 @@ } } }, - "debugFrame_flags": "- Žiadne vlajky: 0x{value}", + "debugFrame_flags": "- Žiadne vlajky: 0x{value}", "@debugFrame_flags": { "placeholders": { "value": { @@ -531,7 +531,7 @@ } }, "debugFrame_textTypeCli": "CLI", - "debugFrame_textTypePlain": "Jednoduché", + "debugFrame_textTypePlain": "Jednoduché", "debugFrame_text": "- Text: \"{text}\"", "@debugFrame_text": { "placeholders": { @@ -541,14 +541,14 @@ } }, "debugFrame_hexDump": "Hex Dump:", - "chat_pathManagement": "Správa ciest", - "chat_routingMode": "Režim trasy", - "chat_autoUseSavedPath": "Použiť uloženú cestu", - "chat_forceFloodMode": "Zavrieť režim núdzového povodňového režimu", - "chat_recentAckPaths": "Nedávne cesty ACK (klepni na použitie):", - "chat_pathHistoryFull": "História ciest je plná. Odstráňte záznamy, aby ste mohli pridať nové.", + "chat_pathManagement": "Správa ciest", + "chat_routingMode": "Režim trasy", + "chat_autoUseSavedPath": "PoužiÅ¥ uloženú cestu", + "chat_forceFloodMode": "ZavrieÅ¥ režim núdzového povodňového režimu", + "chat_recentAckPaths": "Nedávne cesty ACK (klepni na použitie):", + "chat_pathHistoryFull": "História ciest je plná. Odstráňte záznamy, aby ste mohli pridaÅ¥ nové.", "chat_hopSingular": "Skok", - "chat_hopPlural": "Skákať", + "chat_hopPlural": "SkákaÅ¥", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", "@chat_hopsCount": { "placeholders": { @@ -557,20 +557,20 @@ } } }, - "chat_successes": "Úspechy", - "chat_removePath": "Odstrániť cestu", - "chat_noPathHistoryYet": "Zatiaľ žiadna história trás.\nPošlite správu a objavte trasy.", + "chat_successes": "Úspechy", + "chat_removePath": "OdstrániÅ¥ cestu", + "chat_noPathHistoryYet": "Zatiaľ žiadna história trás.\nPoÅ¡lite správu a objavte trasy.", "chat_pathActions": "Cesty:", - "chat_setCustomPath": "Nastaviť vlastnú cestu", - "chat_setCustomPathSubtitle": "Ručne zadajte trasu.", - "chat_clearPath": "Vyčistiš cestu", - "chat_clearPathSubtitle": "Znovu nájsť vynútene pri nasledujúcej pošlite", - "chat_pathCleared": "Cesta vyčistená. Nasledujúce prepočetné získa trasu znova.", - "chat_floodModeSubtitle": "Použite prepínanie trasy v navigačnom paneli.", - "chat_floodModeEnabled": "Odosporňovacia prevádzka je zapnutá. Vypnite ju znova cez ikonu routovania v navigačnom páse.", - "chat_fullPath": "Celá cesta", - "chat_pathDetailsNotAvailable": "Podrobnosti o ceste zatiaľ dostupné nie sú. Skúste poslať správu na obnovenie.", - "chat_pathSetHops": "Cesta nastavená: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", + "chat_setCustomPath": "NastaviÅ¥ vlastnú cestu", + "chat_setCustomPathSubtitle": "Ručne zadajte trasu.", + "chat_clearPath": "VyčistiÅ¡ cestu", + "chat_clearPathSubtitle": "Znovu nájsÅ¥ vynútene pri nasledujúcej poÅ¡lite", + "chat_pathCleared": "Cesta vyčistená. Nasledujúce prepočetné získa trasu znova.", + "chat_floodModeSubtitle": "Použite prepínanie trasy v navigačnom paneli.", + "chat_floodModeEnabled": "Odosporňovacia prevádzka je zapnutá. Vypnite ju znova cez ikonu routovania v navigačnom páse.", + "chat_fullPath": "Celá cesta", + "chat_pathDetailsNotAvailable": "Podrobnosti o ceste zatiaľ dostupné nie sú. Skúste poslaÅ¥ správu na obnovenie.", + "chat_pathSetHops": "Cesta nastavená: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -581,16 +581,16 @@ } } }, - "chat_pathSavedLocally": "Uložené lokálne. Spojte sa na synchronizáciu.", - "chat_pathDeviceConfirmed": "Zariadenie potvrdené.", - "chat_pathDeviceNotConfirmed": "Zariadenie zatiaľ nebolo potvrdené.", - "chat_type": "Napište", + "chat_pathSavedLocally": "Uložené lokálne. Spojte sa na synchronizáciu.", + "chat_pathDeviceConfirmed": "Zariadenie potvrdené.", + "chat_pathDeviceNotConfirmed": "Zariadenie zatiaľ nebolo potvrdené.", + "chat_type": "NapiÅ¡te", "chat_path": "Cesta", - "chat_publicKey": "Verejný kľúč", - "chat_compressOutgoingMessages": "Komprimovať odoslané správy", - "chat_floodForced": "Povodňová (nutená)", - "chat_directForced": "Priame (donútené)", - "chat_hopsForced": "{count} skokov (nutené)", + "chat_publicKey": "Verejný kľúč", + "chat_compressOutgoingMessages": "KomprimovaÅ¥ odoslané správy", + "chat_floodForced": "Povodňová (nutená)", + "chat_directForced": "Priame (donútené)", + "chat_hopsForced": "{count} skokov (nutené)", "@chat_hopsForced": { "placeholders": { "count": { @@ -600,8 +600,8 @@ }, "chat_floodAuto": "Povod (automaticky)", "chat_direct": "Priamo", - "chat_poiShared": "Zdieľané body záujmu", - "chat_unread": "Nezriadené: {count}", + "chat_poiShared": "Zdieľané body záujmu", + "chat_unread": "Nezriadené: {count}", "@chat_unread": { "placeholders": { "count": { @@ -609,10 +609,10 @@ } } }, - "chat_openLink": "Otvoriť odkaz?", - "chat_openLinkConfirmation": "Chcete otvoriť tento odkaz v prehliadači?", - "chat_open": "Otvoriť", - "chat_couldNotOpenLink": "Nepodarilo sa otvoriť odkaz: {url}", + "chat_openLink": "OtvoriÅ¥ odkaz?", + "chat_openLinkConfirmation": "Chcete otvoriÅ¥ tento odkaz v prehliadači?", + "chat_open": "OtvoriÅ¥", + "chat_couldNotOpenLink": "Nepodarilo sa otvoriÅ¥ odkaz: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,10 +620,10 @@ } } }, - "chat_invalidLink": "Neplatný formát odkazu", + "chat_invalidLink": "Neplatný formát odkazu", "map_title": "Mapa uzlov", - "map_noNodesWithLocation": "Žiadne uzly s údajmi o polohe", - "map_nodesNeedGps": "Uholníky musia zdieľať svoje GPS súradnice, aby sa zobrazili na mape.", + "map_noNodesWithLocation": "Žiadne uzly s údajmi o polohe", + "map_nodesNeedGps": "Uholníky musia zdieľaÅ¥ svoje GPS súradnice, aby sa zobrazili na mape.", "map_nodesCount": "Uzly: {count}", "@map_nodesCount": { "placeholders": { @@ -632,7 +632,7 @@ } } }, - "map_pinsCount": "Krúžky: {count}", + "map_pinsCount": "Krúžky: {count}", "@map_pinsCount": { "placeholders": { "count": { @@ -645,22 +645,22 @@ "map_room": "Izba", "map_sensor": "Senzor", "map_pinDm": "Zabudka (DM)", - "map_pinPrivate": "Zabudka (Osobná)", - "map_pinPublic": "Zablokovať (verejne)", - "map_lastSeen": "Posledné zreteľné zobrazenie", - "map_disconnectConfirm": "Ste si istý/á, že chcete odpojiť od tohto zariadenia?", + "map_pinPrivate": "Zabudka (Osobná)", + "map_pinPublic": "ZablokovaÅ¥ (verejne)", + "map_lastSeen": "Posledné zreteľné zobrazenie", + "map_disconnectConfirm": "Ste si istý/á, že chcete odpojiÅ¥ od tohto zariadenia?", "map_from": "Od", "map_source": "Zdroj", - "map_flags": "Zástavy", - "map_shareMarkerHere": "Zdieľte značku tu", - "map_pinLabel": "Označka upozornenia", - "map_label": "Značka", - "map_pointOfInterest": "Bod záujmu", - "map_sendToContact": "Pošleť na kontakt", - "map_sendToChannel": "Poslať do kanálu", - "map_noChannelsAvailable": "Неexistujú žiadne kanály.", - "map_publicLocationShare": "Zdieľiť verejnú lokalitu", - "map_publicLocationShareConfirm": "Čoskoro budete zdieľať polohu v {channelLabel}. Tento kanál je verejný a môže ho vidieť každý s PSK.", + "map_flags": "Zástavy", + "map_shareMarkerHere": "Zdieľte značku tu", + "map_pinLabel": "Označka upozornenia", + "map_label": "Značka", + "map_pointOfInterest": "Bod záujmu", + "map_sendToContact": "PoÅ¡leÅ¥ na kontakt", + "map_sendToChannel": "PoslaÅ¥ do kanálu", + "map_noChannelsAvailable": "Неexistujú žiadne kanály.", + "map_publicLocationShare": "ZdieľiÅ¥ verejnú lokalitu", + "map_publicLocationShareConfirm": "ÄŒoskoro budete zdieľaÅ¥ polohu v {channelLabel}. Tento kanál je verejný a môže ho vidieÅ¥ každý s PSK.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,26 +668,26 @@ } } }, - "map_connectToShareMarkers": "Pripojte sa k zariadeniu na zdieľanie značiek", - "map_filterNodes": "Filtrovať uzly", + "map_connectToShareMarkers": "Pripojte sa k zariadeniu na zdieľanie značiek", + "map_filterNodes": "FiltrovaÅ¥ uzly", "map_nodeTypes": "Typy uzlov", - "map_chatNodes": "Chatové uzly", - "map_repeaters": "Opakovadlá", - "map_otherNodes": "Ostatné uzly", - "map_keyPrefix": "Päťciferné predpona", - "map_filterByKeyPrefix": "Filtrovať podľa predponového kľúča", - "map_publicKeyPrefix": "Prefix verejného kľúča", - "map_markers": "Označkovače", - "map_showSharedMarkers": "Zobraziť zdieľané značky", - "map_lastSeenTime": "Posledný čas sledovania", - "map_sharedPin": "Zdieľaný PIN", - "map_joinRoom": "Pripojiť miestnosť", - "map_manageRepeater": "Spravovať Opakovanie", - "mapCache_title": "Offline Mapa Pamäť", - "mapCache_selectAreaFirst": "Vyberte si oblasť na predprerúčenie.", - "mapCache_noTilesToDownload": "Žiadne dlaždice na stiahnutie pre toto zóna", - "mapCache_downloadTilesTitle": "Stiahnuť dlaždice", - "mapCache_downloadTilesPrompt": "Stiahnuť {count} dlaždíc na offline použitie?", + "map_chatNodes": "Chatové uzly", + "map_repeaters": "Opakovadlá", + "map_otherNodes": "Ostatné uzly", + "map_keyPrefix": "Päťciferné predpona", + "map_filterByKeyPrefix": "FiltrovaÅ¥ podľa predponového kľúča", + "map_publicKeyPrefix": "Prefix verejného kľúča", + "map_markers": "Označkovače", + "map_showSharedMarkers": "ZobraziÅ¥ zdieľané značky", + "map_lastSeenTime": "Posledný čas sledovania", + "map_sharedPin": "Zdieľaný PIN", + "map_joinRoom": "PripojiÅ¥ miestnosÅ¥", + "map_manageRepeater": "SpravovaÅ¥ Opakovanie", + "mapCache_title": "Offline Mapa Pamäť", + "mapCache_selectAreaFirst": "Vyberte si oblasÅ¥ na predprerúčenie.", + "mapCache_noTilesToDownload": "Žiadne dlaždice na stiahnutie pre toto zóna", + "mapCache_downloadTilesTitle": "StiahnuÅ¥ dlaždice", + "mapCache_downloadTilesPrompt": "StiahnuÅ¥ {count} dlaždíc na offline použitie?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -695,8 +695,8 @@ } } }, - "mapCache_downloadAction": "Stiahnuť", - "mapCache_cachedTiles": "Zabudené {count} dlaždíc", + "mapCache_downloadAction": "StiahnuÅ¥", + "mapCache_cachedTiles": "Zabudené {count} dlaždíc", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -704,7 +704,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Uložené {downloaded} dlaždice ({failed} neúspešné)", + "mapCache_cachedTilesWithFailed": "Uložené {downloaded} dlaždice ({failed} neúspeÅ¡né)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -715,14 +715,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Vymazať offline uloženie", - "mapCache_clearOfflineCachePrompt": "Odstrániť všetky uložené mapové dlaždice?", - "mapCache_offlineCacheCleared": "Offline polia vymazaná", - "mapCache_noAreaSelected": "Neoznačila sa žiadna oblasť", - "mapCache_cacheArea": "Obdĺžková oblasť", - "mapCache_useCurrentView": "Použite aktuálny zobrazenie", - "mapCache_zoomRange": "Rozsah zväčšenia", - "mapCache_estimatedTiles": "Odhadnuté dlaždice: {count}", + "mapCache_clearOfflineCacheTitle": "VymazaÅ¥ offline uloženie", + "mapCache_clearOfflineCachePrompt": "OdstrániÅ¥ vÅ¡etky uložené mapové dlaždice?", + "mapCache_offlineCacheCleared": "Offline polia vymazaná", + "mapCache_noAreaSelected": "Neoznačila sa žiadna oblasÅ¥", + "mapCache_cacheArea": "Obdĺžková oblasÅ¥", + "mapCache_useCurrentView": "Použite aktuálny zobrazenie", + "mapCache_zoomRange": "Rozsah zväčšenia", + "mapCache_estimatedTiles": "Odhadnuté dlaždice: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -730,7 +730,7 @@ } } }, - "mapCache_downloadedTiles": "Stiahnuté {completed} / {total}", + "mapCache_downloadedTiles": "Stiahnuté {completed} / {total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -741,9 +741,9 @@ } } }, - "mapCache_downloadTilesButton": "Stiahnuť dlaždice", - "mapCache_clearCacheButton": "Vyprázdniť Vädsť", - "mapCache_failedDownloads": "Neúspešné stiahnutia: {count}", + "mapCache_downloadTilesButton": "StiahnuÅ¥ dlaždice", + "mapCache_clearCacheButton": "VyprázdniÅ¥ VädsÅ¥", + "mapCache_failedDownloads": "NeúspeÅ¡né stiahnutia: {count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -768,7 +768,7 @@ } } }, - "time_justNow": "Príbeh", + "time_justNow": "Príbeh", "time_minutesAgo": "{minutes} min dozadu", "@time_minutesAgo": { "placeholders": { @@ -785,7 +785,7 @@ } } }, - "time_daysAgo": "{days} dní dozadu", + "time_daysAgo": "{days} dní dozadu", "@time_daysAgo": { "placeholders": { "days": { @@ -795,31 +795,31 @@ }, "time_hour": "hodina", "time_hours": "hodiny", - "time_day": "deň", + "time_day": "deň", "time_days": "dni", - "time_week": "týždeň", - "time_weeks": "týždne", + "time_week": "týždeň", + "time_weeks": "týždne", "time_month": "mesiac", "time_months": "mesiace", - "time_minutes": "minúty", - "time_allTime": "Všetko Časom", - "dialog_disconnect": "Odpojiť", - "dialog_disconnectConfirm": "Ste si istý/á, že chcete odpojiť od tohto zariadenia?", - "login_repeaterLogin": "Opätovné prihlásenie", - "login_roomLogin": "Prihlásenie do miestnosti", + "time_minutes": "minúty", + "time_allTime": "VÅ¡etko ÄŒasom", + "dialog_disconnect": "OdpojiÅ¥", + "dialog_disconnectConfirm": "Ste si istý/á, že chcete odpojiÅ¥ od tohto zariadenia?", + "login_repeaterLogin": "Opätovné prihlásenie", + "login_roomLogin": "Prihlásenie do miestnosti", "login_password": "Heslo", "login_enterPassword": "Zadajte heslo", - "login_savePassword": "Uložiť heslo", - "login_savePasswordSubtitle": "Heslo bude bezpečne uložené na tomto zariadení.", - "login_repeaterDescription": "Zadajte heslo opakovača, aby ste získali prístup k nastaveniam a stavu.", - "login_roomDescription": "Zadajte heslo do miestnosti na prístup k nastaveniam a stavu.", - "login_routing": "Rútiace", - "login_routingMode": "Režim trasy", - "login_autoUseSavedPath": "Použiť uloženú cestu", - "login_forceFloodMode": "Zavrieť režim núdzového povodňového režimu", - "login_managePaths": "Spravovať Cesty", - "login_login": "Prihlásiť", - "login_attempt": "Skúšaj {current}/{max}", + "login_savePassword": "UložiÅ¥ heslo", + "login_savePasswordSubtitle": "Heslo bude bezpečne uložené na tomto zariadení.", + "login_repeaterDescription": "Zadajte heslo opakovača, aby ste získali prístup k nastaveniam a stavu.", + "login_roomDescription": "Zadajte heslo do miestnosti na prístup k nastaveniam a stavu.", + "login_routing": "Rútiace", + "login_routingMode": "Režim trasy", + "login_autoUseSavedPath": "PoužiÅ¥ uloženú cestu", + "login_forceFloodMode": "ZavrieÅ¥ režim núdzového povodňového režimu", + "login_managePaths": "SpravovaÅ¥ Cesty", + "login_login": "PrihlásiÅ¥", + "login_attempt": "Skúšaj {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -830,7 +830,7 @@ } } }, - "login_failed": "Prihlásenie zlyhalo: {error}", + "login_failed": "Prihlásenie zlyhalo: {error}", "@login_failed": { "placeholders": { "error": { @@ -838,10 +838,10 @@ } } }, - "login_failedMessage": "Prihlásenie zlyhalo. Heslo je nesprávne alebo je opakovač nedostupný.", - "common_reload": "Načítať", - "common_clear": "Zmazať", - "path_currentPath": "Aktívna cesta: {path}", + "login_failedMessage": "Prihlásenie zlyhalo. Heslo je nesprávne alebo je opakovač nedostupný.", + "common_reload": "NačítaÅ¥", + "common_clear": "ZmazaÅ¥", + "path_currentPath": "Aktívna cesta: {path}", "@path_currentPath": { "placeholders": { "path": { @@ -849,7 +849,7 @@ } } }, - "path_usingHopsPath": "Používa {count} {count, plural, =1{hop} other{hops}} cestu", + "path_usingHopsPath": "Používa {count} {count, plural, =1{hop} other{hops}} cestu", "@path_usingHopsPath": { "placeholders": { "count": { @@ -857,16 +857,16 @@ } } }, - "path_enterCustomPath": "Zadajte vlastný priebeh", - "path_currentPathLabel": "Aktuálny priebeh", - "path_hexPrefixInstructions": "Zadajte 2-miestne hexové predpony pre každú fázu, oddelené čiarkami.", - "path_hexPrefixExample": "A1,F2,3C (každý uzel používa prvý bajt svojho verejného kľúča)", - "path_labelHexPrefixes": "Cesty (hexové predpony)", - "path_helperMaxHops": "Max 64 skokov. Každý prefix je 2 hexadecimálne znaky (1 bajt).", + "path_enterCustomPath": "Zadajte vlastný priebeh", + "path_currentPathLabel": "Aktuálny priebeh", + "path_hexPrefixInstructions": "Zadajte 2-miestne hexové predpony pre každú fázu, oddelené čiarkami.", + "path_hexPrefixExample": "A1,F2,3C (každý uzel používa prvý bajt svojho verejného kľúča)", + "path_labelHexPrefixes": "Cesty (hexové predpony)", + "path_helperMaxHops": "Max 64 skokov. Každý prefix je 2 hexadecimálne znaky (1 bajt).", "path_selectFromContacts": "Vyberte sa z kontaktov:", - "path_noRepeatersFound": "Nenašli sa žiadne opakovače ani serverové miestnosti.", - "path_customPathsRequire": "Vlastné cesty vyžadujú medziletoch, ktoré môžu prenášať správky.", - "path_invalidHexPrefixes": "Neplatné hexové predpony: {prefixes}", + "path_noRepeatersFound": "NenaÅ¡li sa žiadne opakovače ani serverové miestnosti.", + "path_customPathsRequire": "Vlastné cesty vyžadujú medziletoch, ktoré môžu prenášaÅ¥ správky.", + "path_invalidHexPrefixes": "Neplatné hexové predpony: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,26 +874,26 @@ } } }, - "path_tooLong": "Cesta je príliš dlhá. Umožnené je maximum 64 skokov.", - "path_setPath": "Nastaviť cestu", - "repeater_management": "Správa opakérov", - "repeater_managementTools": "Nástroje na správu", + "path_tooLong": "Cesta je príliÅ¡ dlhá. Umožnené je maximum 64 skokov.", + "path_setPath": "NastaviÅ¥ cestu", + "repeater_management": "Správa opakérov", + "repeater_managementTools": "Nástroje na správu", "repeater_status": "Status", - "repeater_statusSubtitle": "Zobraziť stav, štatistiky a susedov repeatera", + "repeater_statusSubtitle": "ZobraziÅ¥ stav, Å¡tatistiky a susedov repeatera", "repeater_telemetry": "Telemetria", - "repeater_telemetrySubtitle": "Zobraziť telemetriu senzorov a systémových štatistík", + "repeater_telemetrySubtitle": "ZobraziÅ¥ telemetriu senzorov a systémových Å¡tatistík", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Pošlite príkazy opakovaču", + "repeater_cliSubtitle": "PoÅ¡lite príkazy opakovaču", "repeater_settings": "Nastavenia", - "repeater_settingsSubtitle": "Konfigurujte parametre opakovača", - "repeater_statusTitle": "Status opakého zboru", - "repeater_routingMode": "Režim trasy", - "repeater_autoUseSavedPath": "Použiť uloženú cestu", - "repeater_forceFloodMode": "Zavrieť režim núdzového povodňového režimu", - "repeater_pathManagement": "Správa trás", - "repeater_refresh": "Obnoviť", - "repeater_statusRequestTimeout": "Požiadavka stavu zlyhala.", - "repeater_errorLoadingStatus": "Chyba pri načítaní stavu: {error}", + "repeater_settingsSubtitle": "Konfigurujte parametre opakovača", + "repeater_statusTitle": "Status opakého zboru", + "repeater_routingMode": "Režim trasy", + "repeater_autoUseSavedPath": "PoužiÅ¥ uloženú cestu", + "repeater_forceFloodMode": "ZavrieÅ¥ režim núdzového povodňového režimu", + "repeater_pathManagement": "Správa trás", + "repeater_refresh": "ObnoviÅ¥", + "repeater_statusRequestTimeout": "Požiadavka stavu zlyhala.", + "repeater_errorLoadingStatus": "Chyba pri načítaní stavu: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -901,23 +901,23 @@ } } }, - "repeater_systemInformation": "Informácie o systéme", - "repeater_battery": "Batéria", - "repeater_clockAtLogin": "Čas (při přihlášení)", - "repeater_uptime": "Dostupnosť", - "repeater_queueLength": "Dĺžka fronty", - "repeater_debugFlags": "Kontrolné značky", - "repeater_radioStatistics": "Rádio Štatistiky", - "repeater_lastRssi": "Posledná RSSI", - "repeater_lastSnr": "Posledný SNR", - "repeater_noiseFloor": "Hladina šumu", + "repeater_systemInformation": "Informácie o systéme", + "repeater_battery": "Batéria", + "repeater_clockAtLogin": "ÄŒas (pÅ™i pÅ™ihlášení)", + "repeater_uptime": "DostupnosÅ¥", + "repeater_queueLength": "Dĺžka fronty", + "repeater_debugFlags": "Kontrolné značky", + "repeater_radioStatistics": "Rádio Å tatistiky", + "repeater_lastRssi": "Posledná RSSI", + "repeater_lastSnr": "Posledný SNR", + "repeater_noiseFloor": "Hladina Å¡umu", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", - "repeater_packetStatistics": "Statistiky balíka", - "repeater_sent": "Odoslané", - "repeater_received": "Prišlo", - "repeater_duplicates": "Duplikáty", - "repeater_daysHoursMinsSecs": "{days} dní {hours}h {minutes}m {seconds}s", + "repeater_packetStatistics": "Statistiky balíka", + "repeater_sent": "Odoslané", + "repeater_received": "PriÅ¡lo", + "repeater_duplicates": "Duplikáty", + "repeater_daysHoursMinsSecs": "{days} dní {hours}h {minutes}m {seconds}s", "@repeater_daysHoursMinsSecs": { "placeholders": { "days": { @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Celkem: {total}, Povodňový režim: {flood}, Priamy: {direct}", + "repeater_packetTxTotal": "Celkem: {total}, Povodňový režim: {flood}, Priamy: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Celkem: {total}, Povodňový režim: {flood}, Priamy: {direct}", + "repeater_packetRxTotal": "Celkem: {total}, Povodňový režim: {flood}, Priamy: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -981,37 +981,37 @@ } } }, - "repeater_settingsTitle": "Nastavenia Opakovača", - "repeater_basicSettings": "Základné nastavenia", - "repeater_repeaterName": "Opakovacia názov", - "repeater_repeaterNameHelper": "Zobrazenie názvu tohto opakovača", - "repeater_adminPassword": "Heslo administrátora", - "repeater_adminPasswordHelper": "Celý prístupový heslo", - "repeater_guestPassword": "Heslo hosťa", - "repeater_guestPasswordHelper": "Prístupový heslo iba na čítanie", - "repeater_radioSettings": "Nastavenia rádia", + "repeater_settingsTitle": "Nastavenia OpakovacÌŒa", + "repeater_basicSettings": "Základné nastavenia", + "repeater_repeaterName": "Opakovacia názov", + "repeater_repeaterNameHelper": "Zobrazenie názvu tohto opakovača", + "repeater_adminPassword": "Heslo administrátora", + "repeater_adminPasswordHelper": "Celý prístupový heslo", + "repeater_guestPassword": "Heslo hosÅ¥a", + "repeater_guestPasswordHelper": "Prístupový heslo iba na čítanie", + "repeater_radioSettings": "Nastavenia rádia", "repeater_frequencyMhz": "Frekvencia (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Power", "repeater_txPowerHelper": "1-30 dBm", - "repeater_bandwidth": "Šírka pásma", - "repeater_spreadingFactor": "Šírenie faktoru", - "repeater_codingRate": "Rýchlosť kódovania", + "repeater_bandwidth": "Šírka pásma", + "repeater_spreadingFactor": "Šírenie faktoru", + "repeater_codingRate": "RýchlosÅ¥ kódovania", "repeater_locationSettings": "Nastavenia polohy", - "repeater_latitude": "Súradnica", - "repeater_latitudeHelper": "Desatinné zložky (napr. 37.7749)", - "repeater_longitude": "Dĺžka", - "repeater_longitudeHelper": "Desatinné zložky (napr. -122.4194)", + "repeater_latitude": "Súradnica", + "repeater_latitudeHelper": "Desatinné zložky (napr. 37.7749)", + "repeater_longitude": "Dĺžka", + "repeater_longitudeHelper": "Desatinné zložky (napr. -122.4194)", "repeater_features": "Funkcie", "repeater_packetForwarding": "Riadenie prienikov", - "repeater_packetForwardingSubtitle": "Povolte opakovač na smerovanie paketov.", - "repeater_guestAccess": "Prístup pre hostí", - "repeater_guestAccessSubtitle": "Umožniť prístup hosta iba na čítanie.", - "repeater_privacyMode": "Režim ochrany súkromia", - "repeater_privacyModeSubtitle": "Skryť meno/poloha v reklamách", + "repeater_packetForwardingSubtitle": "Povolte opakovač na smerovanie paketov.", + "repeater_guestAccess": "Prístup pre hostí", + "repeater_guestAccessSubtitle": "UmožniÅ¥ prístup hosta iba na čítanie.", + "repeater_privacyMode": "Režim ochrany súkromia", + "repeater_privacyModeSubtitle": "SkryÅ¥ meno/poloha v reklamách", "repeater_advertisementSettings": "Nastavenia reklamy", - "repeater_localAdvertInterval": "Lokálna reklamná časová obdoba", - "repeater_localAdvertIntervalMinutes": "{minutes} minút", + "repeater_localAdvertInterval": "Lokálna reklamná časová obdoba", + "repeater_localAdvertIntervalMinutes": "{minutes} minút", "@repeater_localAdvertIntervalMinutes": { "placeholders": { "minutes": { @@ -1019,8 +1019,8 @@ } } }, - "repeater_floodAdvertInterval": "Interval reklamnej povodňovej reklamy", - "repeater_floodAdvertIntervalHours": "{hours} hodín", + "repeater_floodAdvertInterval": "Interval reklamnej povodňovej reklamy", + "repeater_floodAdvertIntervalHours": "{hours} hodín", "@repeater_floodAdvertIntervalHours": { "placeholders": { "hours": { @@ -1028,19 +1028,19 @@ } } }, - "repeater_encryptedAdvertInterval": "Šifrovaný reklamný interval", - "repeater_dangerZone": "Nebezpečná zóna", - "repeater_rebootRepeater": "Restart Repetér", - "repeater_rebootRepeaterSubtitle": "Resetovať vysielací prístroj", - "repeater_rebootRepeaterConfirm": "Ste si istý, že chcete tento opakovač restartovať?", - "repeater_regenerateIdentityKey": "Generovať kľúč identity", - "repeater_regenerateIdentityKeySubtitle": "Generovať nový pár verejných/privátnych kľúčov", - "repeater_regenerateIdentityKeyConfirm": "Toto vytvorí nový identitu pre opakovač. Pokračovať?", - "repeater_eraseFileSystem": "Vymažať Systémový Reťazec", - "repeater_eraseFileSystemSubtitle": "Formátovať systém opakujúcich sa súborov", - "repeater_eraseFileSystemConfirm": "VAROVANIE: Toto zmaže všetky dáta na opakovači. To sa nedá zrušiť!", - "repeater_eraseSerialOnly": "Odstránenie je dostupné len cez sériové rozhranie.", - "repeater_commandSent": "Poforovaný príkaz: {command}", + "repeater_encryptedAdvertInterval": "Å ifrovaný reklamný interval", + "repeater_dangerZone": "Nebezpečná zóna", + "repeater_rebootRepeater": "Restart Repetér", + "repeater_rebootRepeaterSubtitle": "ResetovaÅ¥ vysielací prístroj", + "repeater_rebootRepeaterConfirm": "Ste si istý, že chcete tento opakovač restartovaÅ¥?", + "repeater_regenerateIdentityKey": "GenerovaÅ¥ kľúč identity", + "repeater_regenerateIdentityKeySubtitle": "GenerovaÅ¥ nový pár verejných/privátnych kľúčov", + "repeater_regenerateIdentityKeyConfirm": "Toto vytvorí nový identitu pre opakovač. PokračovaÅ¥?", + "repeater_eraseFileSystem": "VymažaÅ¥ Systémový ReÅ¥azec", + "repeater_eraseFileSystemSubtitle": "FormátovaÅ¥ systém opakujúcich sa súborov", + "repeater_eraseFileSystemConfirm": "VAROVANIE: Toto zmaže vÅ¡etky dáta na opakovači. To sa nedá zruÅ¡iÅ¥!", + "repeater_eraseSerialOnly": "Odstránenie je dostupné len cez sériové rozhranie.", + "repeater_commandSent": "Poforovaný príkaz: {command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1048,7 +1048,7 @@ } } }, - "repeater_errorSendingCommand": "Chyba pri odeslaní príkazu: {error}", + "repeater_errorSendingCommand": "Chyba pri odeslaní príkazu: {error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1056,9 +1056,9 @@ } } }, - "repeater_confirm": "Potvrdiť", - "repeater_settingsSaved": "Nastavenia boli uložené úspešne.", - "repeater_errorSavingSettings": "Chyba pri ukladaní nastavení: {error}", + "repeater_confirm": "PotvrdiÅ¥", + "repeater_settingsSaved": "Nastavenia boli uložené úspeÅ¡ne.", + "repeater_errorSavingSettings": "Chyba pri ukladaní nastavení: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,15 +1066,15 @@ } } }, - "repeater_refreshBasicSettings": "Obnoviť základné nastavenia", - "repeater_refreshRadioSettings": "Obnoviť Nastavenia Rádií", - "repeater_refreshTxPower": "Obnoviť TX napájanie", - "repeater_refreshLocationSettings": "Obnoviť Nastavenia Miesta", - "repeater_refreshPacketForwarding": "Obnoviť smerovanie paketov", - "repeater_refreshGuestAccess": "Obnoviť prístup hosťa", - "repeater_refreshPrivacyMode": "Obnoviť Ochranný režim", - "repeater_refreshAdvertisementSettings": "Obnoviť nastavenia reklamy", - "repeater_refreshed": "{label} sa znova načítalo", + "repeater_refreshBasicSettings": "ObnoviÅ¥ základné nastavenia", + "repeater_refreshRadioSettings": "ObnoviÅ¥ Nastavenia Rádií", + "repeater_refreshTxPower": "ObnoviÅ¥ TX napájanie", + "repeater_refreshLocationSettings": "ObnoviÅ¥ Nastavenia Miesta", + "repeater_refreshPacketForwarding": "ObnoviÅ¥ smerovanie paketov", + "repeater_refreshGuestAccess": "ObnoviÅ¥ prístup hosÅ¥a", + "repeater_refreshPrivacyMode": "ObnoviÅ¥ Ochranný režim", + "repeater_refreshAdvertisementSettings": "ObnoviÅ¥ nastavenia reklamy", + "repeater_refreshed": "{label} sa znova načítalo", "@repeater_refreshed": { "placeholders": { "label": { @@ -1082,7 +1082,7 @@ } } }, - "repeater_errorRefreshing": "Chyba pri obnovení {label}", + "repeater_errorRefreshing": "Chyba pri obnovení {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1091,16 +1091,16 @@ } }, "repeater_cliTitle": "Opakovacia CLI", - "repeater_debugNextCommand": "Oprava Nasledujúceho Príkaz", + "repeater_debugNextCommand": "Oprava Nasledujúceho Príkaz", "repeater_commandHelp": "Pomoc", - "repeater_clearHistory": "Vymazať históriu", - "repeater_noCommandsSent": "Zatiaľ neboli odeslané žiadne príkazy.", - "repeater_typeCommandOrUseQuick": "Zadajte príkaz nižšie alebo použite rýchle príkazy", - "repeater_enterCommandHint": "Zadajte príkaz...", - "repeater_previousCommand": "Predchádzajúci príkaz", - "repeater_nextCommand": "Nasledujúci príkaz", - "repeater_enterCommandFirst": "Zadajte najprv príkaz", - "repeater_cliCommandFrameTitle": "Rámok Príkaz CLI", + "repeater_clearHistory": "VymazaÅ¥ históriu", + "repeater_noCommandsSent": "Zatiaľ neboli odeslané žiadne príkazy.", + "repeater_typeCommandOrUseQuick": "Zadajte príkaz nižšie alebo použite rýchle príkazy", + "repeater_enterCommandHint": "Zadajte príkaz...", + "repeater_previousCommand": "Predchádzajúci príkaz", + "repeater_nextCommand": "Nasledujúci príkaz", + "repeater_enterCommandFirst": "Zadajte najprv príkaz", + "repeater_cliCommandFrameTitle": "Rámok Príkaz CLI", "repeater_cliCommandError": "Chyba: {error}", "@repeater_cliCommandError": { "placeholders": { @@ -1109,81 +1109,81 @@ } } }, - "repeater_cliQuickGetName": "Zísť meno", - "repeater_cliQuickGetRadio": "Zísť po rádiu", - "repeater_cliQuickGetTx": "Zísť TX", - "repeater_cliQuickNeighbors": "Súsezný", + "repeater_cliQuickGetName": "ZísÅ¥ meno", + "repeater_cliQuickGetRadio": "ZísÅ¥ po rádiu", + "repeater_cliQuickGetTx": "ZísÅ¥ TX", + "repeater_cliQuickNeighbors": "Súsezný", "repeater_cliQuickVersion": "Verzia", "repeater_cliQuickAdvertise": "Reklama", "repeater_cliQuickClock": "Hodiny", - "repeater_cliHelpAdvert": "Odosiela reklamnú balíček.", - "repeater_cliHelpReboot": "Resetuje zariadenie. (pozor, môže dôjsť k 'Timeoutu', čo je normálne)", - "repeater_cliHelpClock": "Zobrazuje aktuálny čas podľa hodiniek zariadenia.", - "repeater_cliHelpPassword": "Nastaví nový administrátorský prístupový údaj pre zariadenie.", - "repeater_cliHelpVersion": "Zobrazuje verziu zariadenia a dátum zostavenia firmvéru.", - "repeater_cliHelpClearStats": "Resetuje rôzne štatistické počítadlá na nulu.", - "repeater_cliHelpSetAf": "Nastavuje časový faktor.", - "repeater_cliHelpSetTx": "Nastavenie vysielacej sily LoRa v dBm. (potrebuje sa reštart na aplikáciu)", - "repeater_cliHelpSetRepeat": "Umožňuje alebo vypína zopakovaný príspevok pre tento uzol.", - "repeater_cliHelpSetAllowReadOnly": "(Server miestnosti) Ak je 'zapnuté', potom bude povolený prístup s prázdnym heslom, ale nebude možné posielať správu do miestnosti. (iba čítať).", - "repeater_cliHelpSetFloodMax": "Nastavuje maximálny počet skokov pre vstupný povelový paket (ak je >= max, paket nie je preposlaný)", - "repeater_cliHelpSetIntThresh": "Nastavuje hranicu ruživeho ladenia (v dB). Predvolené je 14. Nastavením na 0 sa vypne detekcia ruživeho ladenia kanálu.", - "repeater_cliHelpSetAgcResetInterval": "Nastavuje interval na reštartovanie Auto Gain Controlleru. Nastavenie na 0 vypne funkciu.", - "repeater_cliHelpSetMultiAcks": "Povolí alebo pozastaví funkciiu \"dvojité potvrdenia\".", - "repeater_cliHelpSetAdvertInterval": "Nastavuje interval časovača v minútach na odošle miestny (bezprostredný) reklamný paket. Nastavenie na 0 vypne funkciu.", - "repeater_cliHelpSetFloodAdvertInterval": "Nastavuje interval časovača v hodinách na odeslanie reklamnej vlne. Nastavenie na 0 vypne.", - "repeater_cliHelpSetGuestPassword": "Nastavuje/aktualizuje heslo hosťa. (pre opakované pripojenia môžu hosťovské prihlásenia posielať požadanie \"Get Stats\")", - "repeater_cliHelpSetName": "Nastaví názov reklamy.", - "repeater_cliHelpSetLat": "Nastaví geografickú šírku reklamnej mapy. (desatinné stupne)", - "repeater_cliHelpSetLon": "Nastavuje longitudinu reklamnej mapy. (desatinné stupne)", - "repeater_cliHelpSetRadio": "Nastavuje úplne nové parametre rádia a uloží ich do preferencií. Požaduje príkaz \"reboot\" na aplikáciu.", - "repeater_cliHelpSetRxDelay": "Nastavenia (experimentálne) základné (musi byť > 1 pre účel) na aplikáciu mierneho onesenia prijatých paketov, na základe signálu/skóre. Nastavenie na 0 vypne.", - "repeater_cliHelpSetTxDelay": "Nastavuje faktor násobený časom na vzduchu pre paket v režime povodňovej vlny a s náhodným systémom slotov, aby sa oneskorene jeho prenosovanie (s cieľom znížiť pravdepodobnosť kolízii).", - "repeater_cliHelpSetDirectTxDelay": "Podobne ako txdelay, ale pre aplikáciu náhodného oneskorenia pri preposlaní paketov v režime priameho prenosu.", - "repeater_cliHelpSetBridgeEnabled": "Aktivovať/Zatvárať most.", - "repeater_cliHelpSetBridgeDelay": "Nastaviť odklad pred retransmisiou paketov.", - "repeater_cliHelpSetBridgeSource": "Zvolte, či bude most retransmitovať prijaté alebo vysielané balíčky.", - "repeater_cliHelpSetBridgeBaud": "Nastavte sériový link baudrate pre rs232 mosty.", - "repeater_cliHelpSetBridgeSecret": "Nastaviť tajomstvo mosta pre eshnow mosty.", - "repeater_cliHelpSetAdcMultiplier": "Nastavuje vlastný faktor na úpravu nahlásenej batériovej napätia (podporované len na vybraných doskách).", - "repeater_cliHelpTempRadio": "Nastaví dočasné rádiové parametre pre zadaný počet minút, po skončení sa vráti k pôvodným rádiovým parametrom. (nepočuva sa do preferencií).", - "repeater_cliHelpSetPerm": "Zmení ACL. Odstráni zodpovedný záznam (podľa prefixa pubkey), ak je \"permissions\" rovné 0. Pridá nový záznam, ak je pubkey-hex plnej dĺžky a momentálne sa nenachádza v ACL. Aktualizuje záznam podľa zodpovedajúceho prefixa pubkey. Bitové oprávnenia sa líšia podľa funkčnej roly, ale nízke 2 bity sú: 0 (Hostiteľ), 1 (Čítanie len), 2 (Čítanie a zápis), 3 (Správca).", - "repeater_cliHelpGetBridgeType": "Zísť typ mosta: žiadny, rs232, espnow", - "repeater_cliHelpLogStart": "Začína protokolovanie balíkov do systému súborov.", - "repeater_cliHelpLogStop": "Zastaví protokolovanie paketov do systémového súboru.", - "repeater_cliHelpLogErase": "Odstráni záznamy z balíkov z systému súborov.", - "repeater_cliHelpNeighbors": "Zobrazuje zoznam iných repeaterových uzlov zasielaných cez zero-hop reklamy. Každý riadok je id-prefix-hex:timestamp:snr-times-4", - "repeater_cliHelpNeighborRemove": "Odstráni prvú zhodujúcu položku (podľa prefixu pubkey (hex)) z zoznamu susedov.", - "repeater_cliHelpRegion": "(len sériál) Zobrazuje všetky definované regióny a aktuálne povolenia pre povodňové situácie.", - "repeater_cliHelpRegionLoad": "Poznámka: toto je špeciálna multi-príkázová inštancia. Každé nasledujúce príkaza je názov oblasti (zapustený s medzerami na indikáciu hierarchického pomeru, s minimálne jednou medzerou). Ukončené odeslaním prázdnej platnej linky/príkazu.", - "repeater_cliHelpRegionGet": "Hľadá región s daným príponou názvu (alebo \"\\\" pre globálny rozsah). Odpovedá \"-> región-název (rodič-název) 'F'\"", - "repeater_cliHelpRegionPut": "Pridá alebo aktualizuje definíciu regiónu s daným menom.", - "repeater_cliHelpRegionRemove": "Odstráni definíciu oblasti s daným názvom. (musí zodpovedať presne a nemala by mať podoblasti)", - "repeater_cliHelpRegionAllowf": "Nastavuje povolenie 'P'lávu pre zadanú oblasť. ('' pre globálny/dedičský rozsah)", - "repeater_cliHelpRegionDenyf": "Odstráni povolenie 'F'lood' pre zadanú oblasť. (UPOZORNENIE: v tejto fáze nie je odporúčané ho používať na globálnom/dedskom rozsahu!!).", - "repeater_cliHelpRegionHome": "Odpovedá s aktuálnou 'domovskou' oblasťou. (Poznámka aplikovaná zatiaľ nikde, vyhradené na budúce)", - "repeater_cliHelpRegionHomeSet": "Nastaví 'domovskú' oblasť.", - "repeater_cliHelpRegionSave": "Uloží zoznam/mapu regiónov do úložiska.", - "repeater_cliHelpGps": "Zobrazuje stav GPS. Ak je GPS vypnutý, odpovedá len \"off\", ak je zapnutý, odpovedá s \"on\", stavom, fixom a počtom satelitov.", - "repeater_cliHelpGpsOnOff": "Prepínač stavu GPS napájania.", - "repeater_cliHelpGpsSync": "Synchronizuje čas uzla s GPS hodinami.", - "repeater_cliHelpGpsSetLoc": "Nastaví polohu uzla na GPS súradnice a uloží preferencie.", - "repeater_cliHelpGpsAdvert": "Poskytuje konfiguráciu reklamy pre uzol:\n- žiadna: nezahrňte polohu do reklám\n- zdieľať: zdieľajte GPS polohu (z SensorManager)\n- nastavenia: zobrazujte polohu uloženú v nastaveniach", - "repeater_cliHelpGpsAdvertSet": "Nastavuje konfiguráciu reklamy na zadané miesto.", - "repeater_commandsListTitle": "Zoznam príkazov", - "repeater_commandsListNote": "Poznámka: pre rôzne príkazy \"set ...\" existuje aj príkaz \"get ...\".", - "repeater_general": "Obecné", + "repeater_cliHelpAdvert": "Odosiela reklamnú balíček.", + "repeater_cliHelpReboot": "Resetuje zariadenie. (pozor, môže dôjsÅ¥ k 'Timeoutu', čo je normálne)", + "repeater_cliHelpClock": "Zobrazuje aktuálny čas podľa hodiniek zariadenia.", + "repeater_cliHelpPassword": "Nastaví nový administrátorský prístupový údaj pre zariadenie.", + "repeater_cliHelpVersion": "Zobrazuje verziu zariadenia a dátum zostavenia firmvéru.", + "repeater_cliHelpClearStats": "Resetuje rôzne Å¡tatistické počítadlá na nulu.", + "repeater_cliHelpSetAf": "Nastavuje časový faktor.", + "repeater_cliHelpSetTx": "Nastavenie vysielacej sily LoRa v dBm. (potrebuje sa reÅ¡tart na aplikáciu)", + "repeater_cliHelpSetRepeat": "Umožňuje alebo vypína zopakovaný príspevok pre tento uzol.", + "repeater_cliHelpSetAllowReadOnly": "(Server miestnosti) Ak je 'zapnuté', potom bude povolený prístup s prázdnym heslom, ale nebude možné posielaÅ¥ správu do miestnosti. (iba čítaÅ¥).", + "repeater_cliHelpSetFloodMax": "Nastavuje maximálny počet skokov pre vstupný povelový paket (ak je >= max, paket nie je preposlaný)", + "repeater_cliHelpSetIntThresh": "Nastavuje hranicu ruživeho ladenia (v dB). Predvolené je 14. Nastavením na 0 sa vypne detekcia ruživeho ladenia kanálu.", + "repeater_cliHelpSetAgcResetInterval": "Nastavuje interval na reÅ¡tartovanie Auto Gain Controlleru. Nastavenie na 0 vypne funkciu.", + "repeater_cliHelpSetMultiAcks": "Povolí alebo pozastaví funkciiu \"dvojité potvrdenia\".", + "repeater_cliHelpSetAdvertInterval": "Nastavuje interval časovača v minútach na odoÅ¡le miestny (bezprostredný) reklamný paket. Nastavenie na 0 vypne funkciu.", + "repeater_cliHelpSetFloodAdvertInterval": "Nastavuje interval časovača v hodinách na odeslanie reklamnej vlne. Nastavenie na 0 vypne.", + "repeater_cliHelpSetGuestPassword": "Nastavuje/aktualizuje heslo hosÅ¥a. (pre opakované pripojenia môžu hosÅ¥ovské prihlásenia posielaÅ¥ požadanie \"Get Stats\")", + "repeater_cliHelpSetName": "Nastaví názov reklamy.", + "repeater_cliHelpSetLat": "Nastaví geografickú šírku reklamnej mapy. (desatinné stupne)", + "repeater_cliHelpSetLon": "Nastavuje longitudinu reklamnej mapy. (desatinné stupne)", + "repeater_cliHelpSetRadio": "Nastavuje úplne nové parametre rádia a uloží ich do preferencií. Požaduje príkaz \"reboot\" na aplikáciu.", + "repeater_cliHelpSetRxDelay": "Nastavenia (experimentálne) základné (musi byÅ¥ > 1 pre účel) na aplikáciu mierneho onesenia prijatých paketov, na základe signálu/skóre. Nastavenie na 0 vypne.", + "repeater_cliHelpSetTxDelay": "Nastavuje faktor násobený časom na vzduchu pre paket v režime povodňovej vlny a s náhodným systémom slotov, aby sa oneskorene jeho prenosovanie (s cieľom znížiÅ¥ pravdepodobnosÅ¥ kolízii).", + "repeater_cliHelpSetDirectTxDelay": "Podobne ako txdelay, ale pre aplikáciu náhodného oneskorenia pri preposlaní paketov v režime priameho prenosu.", + "repeater_cliHelpSetBridgeEnabled": "AktivovaÅ¥/ZatváraÅ¥ most.", + "repeater_cliHelpSetBridgeDelay": "NastaviÅ¥ odklad pred retransmisiou paketov.", + "repeater_cliHelpSetBridgeSource": "Zvolte, či bude most retransmitovaÅ¥ prijaté alebo vysielané balíčky.", + "repeater_cliHelpSetBridgeBaud": "Nastavte sériový link baudrate pre rs232 mosty.", + "repeater_cliHelpSetBridgeSecret": "NastaviÅ¥ tajomstvo mosta pre eshnow mosty.", + "repeater_cliHelpSetAdcMultiplier": "Nastavuje vlastný faktor na úpravu nahlásenej batériovej napätia (podporované len na vybraných doskách).", + "repeater_cliHelpTempRadio": "Nastaví dočasné rádiové parametre pre zadaný počet minút, po skončení sa vráti k pôvodným rádiovým parametrom. (nepočuva sa do preferencií).", + "repeater_cliHelpSetPerm": "Zmení ACL. Odstráni zodpovedný záznam (podľa prefixa pubkey), ak je \"permissions\" rovné 0. Pridá nový záznam, ak je pubkey-hex plnej dĺžky a momentálne sa nenachádza v ACL. Aktualizuje záznam podľa zodpovedajúceho prefixa pubkey. Bitové oprávnenia sa líšia podľa funkčnej roly, ale nízke 2 bity sú: 0 (Hostiteľ), 1 (Čítanie len), 2 (Čítanie a zápis), 3 (Správca).", + "repeater_cliHelpGetBridgeType": "ZísÅ¥ typ mosta: žiadny, rs232, espnow", + "repeater_cliHelpLogStart": "Začína protokolovanie balíkov do systému súborov.", + "repeater_cliHelpLogStop": "Zastaví protokolovanie paketov do systémového súboru.", + "repeater_cliHelpLogErase": "Odstráni záznamy z balíkov z systému súborov.", + "repeater_cliHelpNeighbors": "Zobrazuje zoznam iných repeaterových uzlov zasielaných cez zero-hop reklamy. Každý riadok je id-prefix-hex:timestamp:snr-times-4", + "repeater_cliHelpNeighborRemove": "Odstráni prvú zhodujúcu položku (podľa prefixu pubkey (hex)) z zoznamu susedov.", + "repeater_cliHelpRegion": "(len sériál) Zobrazuje vÅ¡etky definované regióny a aktuálne povolenia pre povodňové situácie.", + "repeater_cliHelpRegionLoad": "Poznámka: toto je Å¡peciálna multi-príkázová inÅ¡tancia. Každé nasledujúce príkaza je názov oblasti (zapustený s medzerami na indikáciu hierarchického pomeru, s minimálne jednou medzerou). Ukončené odeslaním prázdnej platnej linky/príkazu.", + "repeater_cliHelpRegionGet": "Hľadá región s daným príponou názvu (alebo \"\\\" pre globálny rozsah). Odpovedá \"-> región-název (rodič-název) 'F'\"", + "repeater_cliHelpRegionPut": "Pridá alebo aktualizuje definíciu regiónu s daným menom.", + "repeater_cliHelpRegionRemove": "Odstráni definíciu oblasti s daným názvom. (musí zodpovedaÅ¥ presne a nemala by maÅ¥ podoblasti)", + "repeater_cliHelpRegionAllowf": "Nastavuje povolenie 'P'lávu pre zadanú oblasÅ¥. ('' pre globálny/dedičský rozsah)", + "repeater_cliHelpRegionDenyf": "Odstráni povolenie 'F'lood' pre zadanú oblasÅ¥. (UPOZORNENIE: v tejto fáze nie je odporúčané ho používaÅ¥ na globálnom/dedskom rozsahu!!).", + "repeater_cliHelpRegionHome": "Odpovedá s aktuálnou 'domovskou' oblasÅ¥ou. (Poznámka aplikovaná zatiaľ nikde, vyhradené na budúce)", + "repeater_cliHelpRegionHomeSet": "Nastaví 'domovskú' oblasÅ¥.", + "repeater_cliHelpRegionSave": "Uloží zoznam/mapu regiónov do úložiska.", + "repeater_cliHelpGps": "Zobrazuje stav GPS. Ak je GPS vypnutý, odpovedá len \"off\", ak je zapnutý, odpovedá s \"on\", stavom, fixom a počtom satelitov.", + "repeater_cliHelpGpsOnOff": "Prepínač stavu GPS napájania.", + "repeater_cliHelpGpsSync": "Synchronizuje čas uzla s GPS hodinami.", + "repeater_cliHelpGpsSetLoc": "Nastaví polohu uzla na GPS súradnice a uloží preferencie.", + "repeater_cliHelpGpsAdvert": "Poskytuje konfiguráciu reklamy pre uzol:\n- žiadna: nezahrňte polohu do reklám\n- zdieľaÅ¥: zdieľajte GPS polohu (z SensorManager)\n- nastavenia: zobrazujte polohu uloženú v nastaveniach", + "repeater_cliHelpGpsAdvertSet": "Nastavuje konfiguráciu reklamy na zadané miesto.", + "repeater_commandsListTitle": "Zoznam príkazov", + "repeater_commandsListNote": "Poznámka: pre rôzne príkazy \"set ...\" existuje aj príkaz \"get ...\".", + "repeater_general": "Obecné", "repeater_settingsCategory": "Nastavenia", "repeater_bridge": "Most", - "repeater_logging": "Záznamy", - "repeater_neighborsRepeaterOnly": "Súseznýci (iba opakovač)", - "repeater_regionManagementRepeaterOnly": "Správa regiónov (iba opakovač)", - "repeater_regionNote": "Regionové príkazy boli zavádzané na správu regionálnych definícií a oprávnení.", - "repeater_gpsManagement": "Správa GPS", - "repeater_gpsNote": "GPS príkaz bol zavádzaný na riadenie lokalitných tém.", - "telemetry_receivedData": "Obdolené Telemetrické dáta", - "telemetry_requestTimeout": "Požiadavka telemetrie zlyhala.", - "telemetry_errorLoading": "Chyba pri načítaní telemetrie: {error}", + "repeater_logging": "Záznamy", + "repeater_neighborsRepeaterOnly": "Súseznýci (iba opakovač)", + "repeater_regionManagementRepeaterOnly": "Správa regiónov (iba opakovač)", + "repeater_regionNote": "Regionové príkazy boli zavádzané na správu regionálnych definícií a oprávnení.", + "repeater_gpsManagement": "Správa GPS", + "repeater_gpsNote": "GPS príkaz bol zavádzaný na riadenie lokalitných tém.", + "telemetry_receivedData": "Obdolené Telemetrické dáta", + "telemetry_requestTimeout": "Požiadavka telemetrie zlyhala.", + "telemetry_errorLoading": "Chyba pri načítaní telemetrie: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1191,8 +1191,8 @@ } } }, - "telemetry_noData": "Nejsú dostupné žiadne údaje z telemetrie.", - "telemetry_channelTitle": "Kanál {channel}", + "telemetry_noData": "Nejsú dostupné žiadne údaje z telemetrie.", + "telemetry_channelTitle": "Kanál {channel}", "@telemetry_channelTitle": { "placeholders": { "channel": { @@ -1200,11 +1200,11 @@ } } }, - "telemetry_batteryLabel": "Batéria", - "telemetry_voltageLabel": "Napätie", + "telemetry_batteryLabel": "Batéria", + "telemetry_voltageLabel": "Napätie", "telemetry_mcuTemperatureLabel": "MCU teplota", "telemetry_temperatureLabel": "Teplota", - "telemetry_currentLabel": "Aktuálne", + "telemetry_currentLabel": "Aktuálne", "telemetry_batteryValue": "{percent}% / {volts}V", "@telemetry_batteryValue": { "placeholders": { @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1243,18 +1243,18 @@ } } }, - "channelPath_title": "Cesta balíka", - "channelPath_viewMap": "Zobraziť mapu", - "channelPath_otherObservedPaths": "Ostatné pozorovacie cesty", - "channelPath_repeaterHops": "Skoky opakovača", - "channelPath_noHopDetails": "Podrobnosti o balíčku zatiaľ nie sú dostupné.", - "channelPath_messageDetails": "Podrobnosti o zprávach", - "channelPath_senderLabel": "Posielateľ", - "channelPath_timeLabel": "Čas", + "channelPath_title": "Cesta balíka", + "channelPath_viewMap": "ZobraziÅ¥ mapu", + "channelPath_otherObservedPaths": "Ostatné pozorovacie cesty", + "channelPath_repeaterHops": "Skoky opakovača", + "channelPath_noHopDetails": "Podrobnosti o balíčku zatiaľ nie sú dostupné.", + "channelPath_messageDetails": "Podrobnosti o zprávach", + "channelPath_senderLabel": "Posielateľ", + "channelPath_timeLabel": "ÄŒas", "channelPath_repeatsLabel": "Opakovanie", "channelPath_pathLabel": "Cesta {index}", - "channelPath_observedLabel": "Pozorované", - "channelPath_observedPathTitle": "Sledovaný postup {index} • {hops}", + "channelPath_observedLabel": "Pozorované", + "channelPath_observedPathTitle": "Sledovaný postup {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "Žiadne údaje o polohe", + "channelPath_noLocationData": "Žiadne údaje o polohe", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1288,8 +1288,8 @@ } } }, - "channelPath_unknownPath": "Neznáme", - "channelPath_floodPath": "Povodňová", + "channelPath_unknownPath": "Neznáme", + "channelPath_floodPath": "Povodňová", "channelPath_directPath": "Priamo", "channelPath_observedZeroOf": "0 z {total} skokov", "@channelPath_observedZeroOf": { @@ -1311,8 +1311,8 @@ } }, "channelPath_mapTitle": "Mapa Trasy", - "channelPath_noRepeaterLocations": "Pre túto cestu nie je dostupných žiadne polohy opakovačov.", - "channelPath_primaryPath": "Cesta {index} (Hlavná)", + "channelPath_noRepeaterLocations": "Pre túto cestu nie je dostupných žiadne polohy opakovačov.", + "channelPath_primaryPath": "Cesta {index} (Hlavná)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1328,8 +1328,8 @@ } }, "channelPath_pathLabelTitle": "Cesta", - "channelPath_observedPathHeader": "Sledovaná cesta", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_observedPathHeader": "Sledovaná cesta", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,20 +1340,20 @@ } } }, - "channelPath_noHopDetailsAvailable": "Pre toto balíček nie sú dostupné údaje o skokoch.", - "channelPath_unknownRepeater": "Neznáme opakovače", - "listFilter_tooltip": "Filtrovať a triediť", - "listFilter_sortBy": "Triediť podľa", - "listFilter_latestMessages": "Posledné správy", - "listFilter_heardRecently": "Nedávno počuli.", + "channelPath_noHopDetailsAvailable": "Pre toto balíček nie sú dostupné údaje o skokoch.", + "channelPath_unknownRepeater": "Neznáme opakovače", + "listFilter_tooltip": "FiltrovaÅ¥ a triediÅ¥", + "listFilter_sortBy": "TriediÅ¥ podľa", + "listFilter_latestMessages": "Posledné správy", + "listFilter_heardRecently": "Nedávno počuli.", "listFilter_az": "A-Z", "listFilter_filters": "Filtre", - "listFilter_all": "Všetko", - "listFilter_users": "Používatelia", - "listFilter_repeaters": "Opakovadlá", - "listFilter_roomServers": "Servéry miestnosti", - "listFilter_unreadOnly": "Nezaregistrované len", - "listFilter_newGroup": "Nová skupina", + "listFilter_all": "VÅ¡etko", + "listFilter_users": "Používatelia", + "listFilter_repeaters": "Opakovadlá", + "listFilter_roomServers": "Servéry miestnosti", + "listFilter_unreadOnly": "Nezaregistrované len", + "listFilter_newGroup": "Nová skupina", "@neighbors_errorLoading": { "placeholders": { "error": { @@ -1361,25 +1361,25 @@ } } }, - "repeater_neighborsSubtitle": "Zobraziť susedné body bez skokov.", - "neighbors_requestTimedOut": "Súďia žiadajú o časové ukončenie.", - "neighbors_receivedData": "Obdielo dáta suseda", - "repeater_neighbors": "Súsezný", - "neighbors_errorLoading": "Chyba pri načítaní susedov: {error}", - "neighbors_repeatersNeighbors": "Opakovadlá Súsezná", - "neighbors_noData": "Nie je dostupná žiadna informácia o susedoch.", - "channels_createPrivateChannel": "Vytvorte súkromný kanál", - "channels_joinPrivateChannel": "Pripojiť sa k súkromnému kanálu", - "channels_joinPrivateChannelDesc": "Ručne zadajte tajný kľúč.", - "channels_createPrivateChannelDesc": "Zabezpečené pomocou tajného kľúča.", - "channels_joinPublicChannel": "Pripojte sa k verejnému kanálu", - "channels_joinPublicChannelDesc": "Któvek sátó na tutó kanalizovát.", - "channels_joinHashtagChannel": "Pripojte sa k Hashtag Kanálu", - "channels_joinHashtagChannelDesc": "Ktoekolikoľvek sa môže pridať do hashtag kanálov.", - "channels_scanQrCode": "Skenujte QR kód", - "channels_scanQrCodeComingSoon": "Čoskoro", + "repeater_neighborsSubtitle": "ZobraziÅ¥ susedné body bez skokov.", + "neighbors_requestTimedOut": "Súďia žiadajú o časové ukončenie.", + "neighbors_receivedData": "Obdielo dáta suseda", + "repeater_neighbors": "Súsezný", + "neighbors_errorLoading": "Chyba pri načítaní susedov: {error}", + "neighbors_repeatersNeighbors": "Opakovadlá Súsezná", + "neighbors_noData": "Nie je dostupná žiadna informácia o susedoch.", + "channels_createPrivateChannel": "Vytvorte súkromný kanál", + "channels_joinPrivateChannel": "PripojiÅ¥ sa k súkromnému kanálu", + "channels_joinPrivateChannelDesc": "Ručne zadajte tajný kľúč.", + "channels_createPrivateChannelDesc": "Zabezpečené pomocou tajného kľúča.", + "channels_joinPublicChannel": "Pripojte sa k verejnému kanálu", + "channels_joinPublicChannelDesc": "Któvek sátó na tutó kanalizovát.", + "channels_joinHashtagChannel": "Pripojte sa k Hashtag Kanálu", + "channels_joinHashtagChannelDesc": "Ktoekolikoľvek sa môže pridaÅ¥ do hashtag kanálov.", + "channels_scanQrCode": "Skenujte QR kód", + "channels_scanQrCodeComingSoon": "ÄŒoskoro", "channels_enterHashtag": "Zadajte hashtag", - "channels_hashtagHint": "napr. #tím", + "channels_hashtagHint": "napr. #tím", "@neighbors_unknownContact": { "placeholders": { "pubkey": { @@ -1394,14 +1394,14 @@ } } }, - "neighbors_heardAgo": "Počuli sme to: {time} dozadu", - "neighbors_unknownContact": "Neznáma {pubkey}", - "settings_locationGPSEnable": "Aktivovať GPS", - "settings_locationGPSEnableSubtitle": "Povolí automatické aktualizovanie polohy pomocou GPS.", + "neighbors_heardAgo": "Počuli sme to: {time} dozadu", + "neighbors_unknownContact": "Neznáma {pubkey}", + "settings_locationGPSEnable": "AktivovaÅ¥ GPS", + "settings_locationGPSEnableSubtitle": "Povolí automatické aktualizovanie polohy pomocou GPS.", "settings_locationIntervalSec": "Interval pre GPS (Sekundy)", - "settings_locationIntervalInvalid": "Interval musí byť aspoň 60 sekúnd a menej ako 86400 sekúnd.", - "contacts_manageRoom": "Spravovať server miestnosti", - "room_management": "Správa servera miestnosti", + "settings_locationIntervalInvalid": "Interval musí byÅ¥ aspoň 60 sekúnd a menej ako 86400 sekúnd.", + "contacts_manageRoom": "SpravovaÅ¥ server miestnosti", + "room_management": "Správa servera miestnosti", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1458,36 +1458,36 @@ } } }, - "community_create": "Vytvoriť komunitu", + "community_create": "VytvoriÅ¥ komunitu", "community_title": "Komunita", - "community_createDesc": "Vytvorte novú komunitu a zdieľajte cez QR kód.", - "community_join": "Pripojiť", - "community_joinTitle": "Pripojiť sa k spoločenstvu", - "community_joinConfirmation": "Chceš sa pridať do komunity \"{name}\"?", - "community_scanQr": "Skontrolujte komunitný QR kód", - "community_scanInstructions": "Zamerte kameru na komunitný QR kód.", - "community_showQr": "Zobraziť QR kód", + "community_createDesc": "Vytvorte novú komunitu a zdieľajte cez QR kód.", + "community_join": "PripojiÅ¥", + "community_joinTitle": "PripojiÅ¥ sa k spoločenstvu", + "community_joinConfirmation": "ChceÅ¡ sa pridaÅ¥ do komunity \"{name}\"?", + "community_scanQr": "Skontrolujte komunitný QR kód", + "community_scanInstructions": "Zamerte kameru na komunitný QR kód.", + "community_showQr": "ZobraziÅ¥ QR kód", "common_ok": "OK\nDobre", - "community_publicChannel": "Komunita verejná", - "community_hashtagChannel": "Komunitný Hashtag", + "community_publicChannel": "Komunita verejná", + "community_hashtagChannel": "Komunitný Hashtag", "community_name": "Komunita", - "community_enterName": "Zadajte názov komunity", - "community_created": "Komunita \"{name}\" vytvorená", - "community_joined": "Pripojená komunita \"{name}\"", - "community_qrTitle": "Zdieľť komunitu", - "community_qrInstructions": "Skenejte tento QR kód, aby ste sa pripojili k {name}.", - "community_hashtagPrivacyHint": "Hashtagové kanály komunity sú prístupné len členom komunity", - "community_invalidQrCode": "Neplatná QR kód komunity.", - "community_alreadyMember": "Už ste členom.", - "community_alreadyMemberMessage": "Vy ste už členom \"{name}\".", - "community_addPublicChannel": "Pridať verejný komunikačný kanál", - "community_addPublicChannelHint": "Automaticky prida verejný kanál pre túto komunitu.", - "community_noCommunities": "Zatiaľ ste sa nepripojili k žiadnej komunite", - "community_scanOrCreate": "Skene QR kód alebo vytvor komunitu na začiatok.", - "community_manageCommunities": "Spravovať komunity", + "community_enterName": "Zadajte názov komunity", + "community_created": "Komunita \"{name}\" vytvorená", + "community_joined": "Pripojená komunita \"{name}\"", + "community_qrTitle": "Zdieľť komunitu", + "community_qrInstructions": "Skenejte tento QR kód, aby ste sa pripojili k {name}.", + "community_hashtagPrivacyHint": "Hashtagové kanály komunity sú prístupné len členom komunity", + "community_invalidQrCode": "Neplatná QR kód komunity.", + "community_alreadyMember": "Už ste členom.", + "community_alreadyMemberMessage": "Vy ste už členom \"{name}\".", + "community_addPublicChannel": "PridaÅ¥ verejný komunikačný kanál", + "community_addPublicChannelHint": "Automaticky prida verejný kanál pre túto komunitu.", + "community_noCommunities": "Zatiaľ ste sa nepripojili k žiadnej komunite", + "community_scanOrCreate": "Skene QR kód alebo vytvor komunitu na začiatok.", + "community_manageCommunities": "SpravovaÅ¥ komunity", "community_delete": "Nechajte komunitu", - "community_deleteConfirm": "Opustiť \"{name}\"?", - "community_deleteChannelsWarning": "Tým sa tiež vymaže {count} kanál/kanálov a ich správy.", + "community_deleteConfirm": "OpustiÅ¥ \"{name}\"?", + "community_deleteChannelsWarning": "Tým sa tiež vymaže {count} kanál/kanálov a ich správy.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,14 +1495,14 @@ } } }, - "community_deleted": "Opustená komunita \"{name}\"", - "community_addHashtagChannel": "Pridať komunitný hashtag", - "community_addHashtagChannelDesc": "Pridajte hashtagový kanál pre túto komunitu.", + "community_deleted": "Opustená komunita \"{name}\"", + "community_addHashtagChannel": "PridaÅ¥ komunitný hashtag", + "community_addHashtagChannelDesc": "Pridajte hashtagový kanál pre túto komunitu.", "community_selectCommunity": "Vyberte komunitu", - "community_regularHashtag": "Zvyčajný hashtag", - "community_regularHashtagDesc": "Veľký hashtag (ktočokoľvek sa môže pridať)", - "community_communityHashtag": "Komunitný Hashtag", - "community_communityHashtagDesc": "Špecifické pre členov komunity", + "community_regularHashtag": "Zvyčajný hashtag", + "community_regularHashtagDesc": "Veľký hashtag (ktočokoľvek sa môže pridaÅ¥)", + "community_communityHashtag": "Komunitný Hashtag", + "community_communityHashtagDesc": "Å pecifické pre členov komunity", "community_forCommunity": "Pre {name}", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1532,12 +1532,12 @@ } } }, - "community_secretRegenerated": "Záznam pre \"{name}\" bol regenerovaný tajne", - "community_regenerateSecretConfirm": "Znovu vygenerovať tajný kľúč pre \"{name}\"? Všetci členovia budú musieť skanovať nový QR kód, aby mohli nadviazať komunikáciu.", - "community_regenerate": "Znovu vygenerovať", - "community_regenerateSecret": "Zobraziť nový tajný kód", - "community_scanToUpdateSecret": "Skáňte nový QR kód na aktualizáciu tajného hesla pre \"{name}\"", - "community_updateSecret": "Aktualizovať tajné heslo", + "community_secretRegenerated": "Záznam pre \"{name}\" bol regenerovaný tajne", + "community_regenerateSecretConfirm": "Znovu vygenerovaÅ¥ tajný kľúč pre \"{name}\"? VÅ¡etci členovia budú musieÅ¥ skanovaÅ¥ nový QR kód, aby mohli nadviazaÅ¥ komunikáciu.", + "community_regenerate": "Znovu vygenerovaÅ¥", + "community_regenerateSecret": "ZobraziÅ¥ nový tajný kód", + "community_scanToUpdateSecret": "Skáňte nový QR kód na aktualizáciu tajného hesla pre \"{name}\"", + "community_updateSecret": "AktualizovaÅ¥ tajné heslo", "community_secretUpdated": "Zmena tajnej slova pre \"{name}\"", "@contacts_pathTraceTo": { "placeholders": { @@ -1548,80 +1548,80 @@ }, "pathTrace_you": "Vy", "pathTrace_failed": "Sledovanie cesty zlyhalo.", - "pathTrace_notAvailable": "Path trace nie je k dispozícii.", - "pathTrace_refreshTooltip": "Obnoviť Path Trace.", - "contacts_pathTrace": "Sledovanie lúčov", - "contacts_ping": "Pingovať", - "contacts_repeaterPathTrace": "Sledovanie cesty k opakovaču", - "contacts_repeaterPing": "Pingovať opakovač", + "pathTrace_notAvailable": "Path trace nie je k dispozícii.", + "pathTrace_refreshTooltip": "ObnoviÅ¥ Path Trace.", + "contacts_pathTrace": "Sledovanie lúčov", + "contacts_ping": "PingovaÅ¥", + "contacts_repeaterPathTrace": "Sledovanie cesty k opakovaču", + "contacts_repeaterPing": "PingovaÅ¥ opakovač", "contacts_roomPathTrace": "Sledovanie cesty k serveru miestnosti", "contacts_roomPing": "Ping server miestnosti", - "contacts_chatTraceRoute": "Sledovať trasu lúča", - "contacts_pathTraceTo": "Sledovať trasu k {name}", - "contacts_clipboardEmpty": "Schránka je prázdna.", - "appSettings_languageUk": "Ukrajinská", - "contacts_contactImportFailed": "Kontakt sa nepodarilo importovať.", - "contacts_zeroHopAdvert": "Inzerát Zero Hop", - "contacts_floodAdvert": "Inzerát povodní", - "contacts_copyAdvertToClipboard": "Kopírovať reklamu do schránky", - "contacts_invalidAdvertFormat": "Neplatné kontaktné údaje", - "appSettings_languageRu": "Ruština", - "appSettings_enableMessageTracing": "Povoliť sledovanie správ", - "appSettings_enableMessageTracingSubtitle": "Zobraziť podrobné metadáta o smerovaní a časovaní správ", - "contacts_addContactFromClipboard": "Pridať kontakt z schránky", - "contacts_contactImported": "Kontakt bol importovaný.", - "contacts_zeroHopContactAdvertSent": "Poslal kontakt cez inzerát.", - "contacts_contactAdvertCopied": "Inzerát bol skopírovaný do schránky.", - "contacts_contactAdvertCopyFailed": "Kopírovanie inzerátu do schránky zlyhalo.", + "contacts_chatTraceRoute": "SledovaÅ¥ trasu lúča", + "contacts_pathTraceTo": "SledovaÅ¥ trasu k {name}", + "contacts_clipboardEmpty": "Schránka je prázdna.", + "appSettings_languageUk": "Ukrajinská", + "contacts_contactImportFailed": "Kontakt sa nepodarilo importovaÅ¥.", + "contacts_zeroHopAdvert": "Inzerát Zero Hop", + "contacts_floodAdvert": "Inzerát povodní", + "contacts_copyAdvertToClipboard": "KopírovaÅ¥ reklamu do schránky", + "contacts_invalidAdvertFormat": "Neplatné kontaktné údaje", + "appSettings_languageRu": "RuÅ¡tina", + "appSettings_enableMessageTracing": "PovoliÅ¥ sledovanie správ", + "appSettings_enableMessageTracingSubtitle": "ZobraziÅ¥ podrobné metadáta o smerovaní a časovaní správ", + "contacts_addContactFromClipboard": "PridaÅ¥ kontakt z schránky", + "contacts_contactImported": "Kontakt bol importovaný.", + "contacts_zeroHopContactAdvertSent": "Poslal kontakt cez inzerát.", + "contacts_contactAdvertCopied": "Inzerát bol skopírovaný do schránky.", + "contacts_contactAdvertCopyFailed": "Kopírovanie inzerátu do schránky zlyhalo.", "contacts_zeroHopContactAdvertFailed": "Zlyhalo odoslanie kontaktu.", - "contacts_ShareContactZeroHop": "Zdieľať kontakt cez inzerát", - "contacts_ShareContact": "Kopírovať kontakt do schránky", + "contacts_ShareContactZeroHop": "ZdieľaÅ¥ kontakt cez inzerát", + "contacts_ShareContact": "KopírovaÅ¥ kontakt do schránky", "notification_activityTitle": "Aktivita MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{správa} few{správy} other{správ}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{správa kanálu} few{správy kanálu} other{správ kanálu}}", - "notification_newNodesCount": "{count} {count, plural, =1{nový uzol} few{nové uzly} other{nových uzlov}}", - "notification_newTypeDiscovered": "Nový {contactType} objavený", - "notification_receivedNewMessage": "Prijatá nová správa", - "settings_gpxExportRepeatersSubtitle": "Exportuje repeater / roomserver s lokalitou do súboru GPX.", + "notification_messagesCount": "{count} {count, plural, =1{správa} few{správy} other{správ}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{správa kanálu} few{správy kanálu} other{správ kanálu}}", + "notification_newNodesCount": "{count} {count, plural, =1{nový uzol} few{nové uzly} other{nových uzlov}}", + "notification_newTypeDiscovered": "Nový {contactType} objavený", + "notification_receivedNewMessage": "Prijatá nová správa", + "settings_gpxExportRepeatersSubtitle": "Exportuje repeater / roomserver s lokalitou do súboru GPX.", "settings_gpxExportContacts": "Export sprievodcov do GPX", - "settings_gpxExportSuccess": "Úspešne exportovaný súbor GPX.", - "settings_gpxExportNoContacts": "Žiadne kontakty na export.", - "settings_gpxExportNotAvailable": "Nie je podporované na vašom zariadení/operáciomnom systéme", - "settings_gpxExportRepeatersRoom": "Umiestnenia opakovačov a serverov miestností", - "settings_gpxExportError": "Vyskytol sa chyba počas exportu.", - "settings_gpxExportAllSubtitle": "Exportuje všetky kontakty s lokalitou do súboru GPX.", - "settings_gpxExportContactsSubtitle": "Exportuje sprievodcov s umiestnením do súboru GPX.", - "settings_gpxExportRepeaters": "Exportovať repeater / server miestnosti do GPX", - "settings_gpxExportAll": "Exportovať všetky kontakty do GPX", - "settings_gpxExportAllContacts": "Všetky kontaktné lokality", - "settings_gpxExportChat": "Lokácie sprievodcov", - "settings_gpxExportShareText": "Mapové údaje exportované z meshcore-open", - "settings_gpxExportShareSubject": "meshcore-open export dát GPX mapových údajov", - "pathTrace_someHopsNoLocation": "Jedna alebo viac chmeľov chýba lokalita!", - "pathTrace_clearTooltip": "Zmazať cestu", + "settings_gpxExportSuccess": "ÚspeÅ¡ne exportovaný súbor GPX.", + "settings_gpxExportNoContacts": "Žiadne kontakty na export.", + "settings_gpxExportNotAvailable": "Nie je podporované na vaÅ¡om zariadení/operáciomnom systéme", + "settings_gpxExportRepeatersRoom": "Umiestnenia opakovačov a serverov miestností", + "settings_gpxExportError": "Vyskytol sa chyba počas exportu.", + "settings_gpxExportAllSubtitle": "Exportuje vÅ¡etky kontakty s lokalitou do súboru GPX.", + "settings_gpxExportContactsSubtitle": "Exportuje sprievodcov s umiestnením do súboru GPX.", + "settings_gpxExportRepeaters": "ExportovaÅ¥ repeater / server miestnosti do GPX", + "settings_gpxExportAll": "ExportovaÅ¥ vÅ¡etky kontakty do GPX", + "settings_gpxExportAllContacts": "VÅ¡etky kontaktné lokality", + "settings_gpxExportChat": "Lokácie sprievodcov", + "settings_gpxExportShareText": "Mapové údaje exportované z meshcore-open", + "settings_gpxExportShareSubject": "meshcore-open export dát GPX mapových údajov", + "pathTrace_someHopsNoLocation": "Jedna alebo viac chmeľov chýba lokalita!", + "pathTrace_clearTooltip": "ZmazaÅ¥ cestu", "map_tapToAdd": "Kliknite na uzly, aby ste ich pridali k ceste.", - "map_removeLast": "Odstrániť posledný", - "map_runTrace": "Spustiť trasovaním cesty", - "map_pathTraceCancelled": "Zrušenie stopáže cesty bolo zrušené.", - "scanner_bluetoothOffMessage": "Prosím, zapnite Bluetooth, aby ste mohli skenovať pre zariadenia.", - "scanner_chromeRequired": "Vyžaduje sa prehliadač Chrome", - "scanner_chromeRequiredMessage": "Táto webová aplikácia vyžaduje Google Chrome alebo prehliadač založený na Chromium pre podporu Bluetooth.", - "scanner_bluetoothOff": "Bluetooth je vypnutý", + "map_removeLast": "OdstrániÅ¥ posledný", + "map_runTrace": "SpustiÅ¥ trasovaním cesty", + "map_pathTraceCancelled": "ZruÅ¡enie stopáže cesty bolo zruÅ¡ené.", + "scanner_bluetoothOffMessage": "Prosím, zapnite Bluetooth, aby ste mohli skenovaÅ¥ pre zariadenia.", + "scanner_chromeRequired": "Vyžaduje sa prehliadač Chrome", + "scanner_chromeRequiredMessage": "Táto webová aplikácia vyžaduje Google Chrome alebo prehliadač založený na Chromium pre podporu Bluetooth.", + "scanner_bluetoothOff": "Bluetooth je vypnutý", "scanner_enableBluetooth": "Povolte Bluetooth", - "snrIndicator_lastSeen": "Naposledy videný", - "snrIndicator_nearByRepeaters": "Miestne opakovače", - "chat_ShowAllPaths": "Zobraziť všetky cesty", - "settings_clientRepeat": "Opätovné použitie bez elektrickej siete", - "settings_clientRepeatFreqWarning": "Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.", - "settings_clientRepeatSubtitle": "Umožnite, aby toto zariadenie opakovávalo siete pre ostatných.", - "settings_aboutOpenMeteoAttribution": "Údaje o nadmorskej výške LOS: Open-Meteo (CC BY 4.0)", + "snrIndicator_lastSeen": "Naposledy videný", + "snrIndicator_nearByRepeaters": "Miestne opakovače", + "chat_ShowAllPaths": "ZobraziÅ¥ vÅ¡etky cesty", + "settings_clientRepeat": "Opätovné použitie bez elektrickej siete", + "settings_clientRepeatFreqWarning": "Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.", + "settings_clientRepeatSubtitle": "Umožnite, aby toto zariadenie opakovávalo siete pre ostatných.", + "settings_aboutOpenMeteoAttribution": "Údaje o nadmorskej výške LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Jednotky", - "appSettings_unitsMetric": "Metrické (m / km)", - "appSettings_unitsImperial": "Imperiálne (ft / mi)", + "appSettings_unitsMetric": "Metrické (m / km)", + "appSettings_unitsImperial": "Imperiálne (ft / mi)", "map_lineOfSight": "Line of Sight", "map_losScreenTitle": "Line of Sight", - "losSelectStartEnd": "Vyberte počiatočný a koncový uzol pre LOS.", - "losRunFailed": "Kontrola priamej viditeľnosti zlyhala: {error}", + "losSelectStartEnd": "Vyberte počiatočný a koncový uzol pre LOS.", + "losRunFailed": "Kontrola priamej viditeľnosti zlyhala: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1629,13 +1629,13 @@ } } }, - "losClearAllPoints": "Vymazať všetky body", - "losRunToViewElevationProfile": "Ak chcete zobraziť výškový profil, spustite LOS", + "losClearAllPoints": "VymazaÅ¥ vÅ¡etky body", + "losRunToViewElevationProfile": "Ak chcete zobraziÅ¥ výškový profil, spustite LOS", "losMenuTitle": "Menu LOS", - "losMenuSubtitle": "Klepnutím na uzly alebo dlhým stlačením mapy získate vlastné body", - "losShowDisplayNodes": "Zobraziť uzly zobrazenia", - "losCustomPoints": "Vlastné body", - "losCustomPointLabel": "Vlastné {index}", + "losMenuSubtitle": "Klepnutím na uzly alebo dlhým stlačením mapy získate vlastné body", + "losShowDisplayNodes": "ZobraziÅ¥ uzly zobrazenia", + "losCustomPoints": "Vlastné body", + "losCustomPointLabel": "Vlastné {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -1645,7 +1645,7 @@ }, "losPointA": "Bod A", "losPointB": "Bod B", - "losAntennaA": "Anténa A: {value} {unit}", + "losAntennaA": "Anténa A: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -1656,7 +1656,7 @@ } } }, - "losAntennaB": "Anténa B: {value} {unit}", + "losAntennaB": "Anténa B: {value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -1668,8 +1668,8 @@ } }, "losRun": "Spustite LOS", - "losNoElevationData": "Žiadne údaje o nadmorskej výške", - "losProfileClear": "{distance} {distanceUnit}, vymazať LOS, min. vôľa {clearance} {heightUnit}", + "losNoElevationData": "Žiadne údaje o nadmorskej výške", + "losProfileClear": "{distance} {distanceUnit}, vymazaÅ¥ LOS, min. vôľa {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1686,7 +1686,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit}, blokovaný {obstruction} {heightUnit}", + "losProfileBlocked": "{distance} {distanceUnit}, blokovaný {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { @@ -1704,8 +1704,8 @@ } }, "losStatusChecking": "LOS: kontrolujem...", - "losStatusNoData": "LOS: žiadne údaje", - "losStatusSummary": "LOS: {clear}/{total} vymazané, {blocked} blokované, {unknown} neznáme", + "losStatusNoData": "LOS: žiadne údaje", + "losStatusSummary": "LOS: {clear}/{total} vymazané, {blocked} blokované, {unknown} neznáme", "@losStatusSummary": { "placeholders": { "clear": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Údaje o nadmorskej výške nie sú k dispozícii pre jednu alebo viacero vzoriek.", - "losErrorInvalidInput": "Neplatné body/údaje o nadmorskej výške pre výpočet LOS.", - "losRenameCustomPoint": "Premenovať vlastný bod", - "losPointName": "Názov bodu", - "losShowPanelTooltip": "Zobraziť panel LOS", - "losHidePanelTooltip": "Skryť panel LOS", - "losElevationAttribution": "Údaje o nadmorskej výške: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Rádiový horizont", - "losLegendLosBeam": "Priama viditeľnosť", - "losLegendTerrain": "Terén", + "losErrorElevationUnavailable": "Údaje o nadmorskej výške nie sú k dispozícii pre jednu alebo viacero vzoriek.", + "losErrorInvalidInput": "Neplatné body/údaje o nadmorskej výške pre výpočet LOS.", + "losRenameCustomPoint": "PremenovaÅ¥ vlastný bod", + "losPointName": "Názov bodu", + "losShowPanelTooltip": "ZobraziÅ¥ panel LOS", + "losHidePanelTooltip": "SkryÅ¥ panel LOS", + "losElevationAttribution": "Údaje o nadmorskej výške: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Rádiový horizont", + "losLegendLosBeam": "Priama viditeľnosÅ¥", + "losLegendTerrain": "Terén", "losFrequencyLabel": "Frekvencia", - "losFrequencyInfoTooltip": "Zobraziť podrobnosti výpočtu", - "losFrequencyDialogTitle": "Výpočet rádiového horizontu", - "losFrequencyDialogDescription": "Počnúc od k={baselineK} pri {baselineFreq} MHz výpočet upraví k-faktor pre aktuálne pásmo {frequencyMHz} MHz, ktorý definuje zakrivený strop rádiového horizontu.", + "losFrequencyInfoTooltip": "ZobraziÅ¥ podrobnosti výpočtu", + "losFrequencyDialogTitle": "Výpočet rádiového horizontu", + "losFrequencyDialogDescription": "Počnúc od k={baselineK} pri {baselineFreq} MHz výpočet upraví k-faktor pre aktuálne pásmo {frequencyMHz} MHz, ktorý definuje zakrivený strop rádiového horizontu.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,9 +1753,9 @@ } } }, - "listFilter_removeFromFavorites": "Odstrániť z označení", - "listFilter_addToFavorites": "Pridaj do obľúbených", - "listFilter_favorites": "Obľúbené", + "listFilter_removeFromFavorites": "OdstrániÅ¥ z označení", + "listFilter_addToFavorites": "Pridaj do obľúbených", + "listFilter_favorites": "Obľúbené", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1796,19 +1796,17 @@ } } }, - "contacts_searchRoomServers": "Hľadaj {number}{str} serverov miestností...", - "contacts_searchFavorites": "Hľadať {number}{str} obľúbené...", - "contacts_searchRepeaters": "Hľadať {number}{str} opakovače...", - "contacts_searchUsers": "Hľadať {number}{str} používateľov...", - "contacts_searchContactsNoNumber": "Hľadať kontakty...", - "contacts_unread": "Neprečítané", + "contacts_searchRoomServers": "Hľadaj {number}{str} serverov miestností...", + "contacts_searchFavorites": "HľadaÅ¥ {number}{str} obľúbené...", + "contacts_searchRepeaters": "HľadaÅ¥ {number}{str} opakovače...", + "contacts_searchUsers": "HľadaÅ¥ {number}{str} používateľov...", + "contacts_searchContactsNoNumber": "HľadaÅ¥ kontakty...", + "contacts_unread": "Neprečítané", "connectionChoiceBluetoothLabel": "Bluetooth", "connectionChoiceUsbLabel": "USB", - "connectionChoiceTitle": "Vyberte si metódu prepojenia.", - "connectionChoiceSubtitle": "Vyberte si, ako chcete dosiahnuť váš zariadenie MeshCore.", "usbScreenStatus": "Vyberte USB zariadenie", - "usbScreenSubtitle": "Vyberte detekovaný sériový zariadenie a pripojte ho priamo k vašej MeshCore uzlu.", - "usbScreenNote": "USB sériová komunikácia je aktívna na podporovaných zariadeniach s Androidom a na desktopových platformách.", + "usbScreenSubtitle": "Vyberte detekovaný sériový zariadenie a pripojte ho priamo k vaÅ¡ej MeshCore uzlu.", + "usbScreenNote": "USB sériová komunikácia je aktívna na podporovaných zariadeniach s Androidom a na desktopových platformách.", "usbScreenTitle": "Pripojte cez USB", - "usbScreenEmptyState": "Nenašli sa žiadne USB zariadenia. Pripojte jedno a obnovte." + "usbScreenEmptyState": "NenaÅ¡li sa žiadne USB zariadenia. Pripojte jedno a obnovte." } diff --git a/lib/l10n/app_sl.arb b/lib/l10n/app_sl.arb index 1d8943e..b9bc264 100644 --- a/lib/l10n/app_sl.arb +++ b/lib/l10n/app_sl.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Kanala {name} ni bilo mogoče izbrisati", +{ + "channels_channelDeleteFailed": "Kanala {name} ni bilo mogoče izbrisati", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -12,8 +12,8 @@ "nav_contacts": "Stiki", "nav_channels": "Kanali", "nav_map": "Karta", - "common_cancel": "Prekliči", - "common_connect": "Poveži se", + "common_cancel": "Prekliči", + "common_connect": "Poveži se", "common_unknownDevice": "Nepoznano naprave", "common_save": "Shrani", "common_delete": "Izbrisati", @@ -31,11 +31,11 @@ "common_retry": "Ponoviti", "common_hide": "Skrita", "common_remove": "Izbrisati", - "common_enable": "Omogoči", + "common_enable": "Omogoči", "common_disable": "Izklopiti", "common_reboot": "Ponoviti", - "common_loading": "Naložanje...", - "common_notAvailable": "—", + "common_loading": "Naložanje...", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -66,8 +66,8 @@ } }, "scanner_searchingDevices": "Iskanje naprav MeshCore...", - "scanner_tapToScan": "Nagneš na skeniranje za najdene naprave MeshCore.", - "scanner_connectionFailed": "Pošlo je z povezavo: {error}", + "scanner_tapToScan": "NagneÅ¡ na skeniranje za najdene naprave MeshCore.", + "scanner_connectionFailed": "PoÅ¡lo je z povezavo: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -75,51 +75,51 @@ } } }, - "scanner_stop": "Prekliči", + "scanner_stop": "Prekliči", "scanner_scan": "Skeniraj", "device_quickSwitch": "Hitro preklop", "device_meshcore": "MeshCore", "settings_title": "Nastavitve", "settings_deviceInfo": "Informacije o napravei", "settings_appSettings": "Nastavitve aplikacije", - "settings_appSettingsSubtitle": "Obveščanja, sporoščanje in zemljevidi.", - "settings_nodeSettings": "Nastavitev časa", + "settings_appSettingsSubtitle": "Obveščanja, sporoščanje in zemljevidi.", + "settings_nodeSettings": "Nastavitev časa", "settings_nodeName": "Ime node-a", "settings_nodeNameNotSet": "Ni nastavljeno", "settings_nodeNameHint": "Vnesite ime node-a", "settings_nodeNameUpdated": "Ime posodobljeno", "settings_radioSettings": "Nastavitve radija", - "settings_radioSettingsSubtitle": "Frekvenca, moč, razširitveni faktor", + "settings_radioSettingsSubtitle": "Frekvenca, moč, razÅ¡iritveni faktor", "settings_radioSettingsUpdated": "Radio nastavitve posodobljene", "settings_location": "Lokacija", "settings_locationSubtitle": "GPS koordinate", "settings_locationUpdated": "Lokacija posodobljena", - "settings_locationBothRequired": "Vnesite širino in dolžino.", - "settings_locationInvalid": "Neveljavna zemeljska širina ali dolžina.", - "settings_latitude": "Širina", - "settings_longitude": "Dolžina", + "settings_locationBothRequired": "Vnesite Å¡irino in dolžino.", + "settings_locationInvalid": "Neveljavna zemeljska Å¡irina ali dolžina.", + "settings_latitude": "Å irina", + "settings_longitude": "Dolžina", "settings_privacyMode": "Zasebnost", "settings_privacyModeSubtitle": "Skrita imena/lokacije v oglasih", - "settings_privacyModeToggle": "Omogoči način zasebnosti, da skrijemo tvoje ime in lokacijo v oglasih.", - "settings_privacyModeEnabled": "Privatni način je omogočen.", - "settings_privacyModeDisabled": "Privatni način je onemogočen.", + "settings_privacyModeToggle": "Omogoči način zasebnosti, da skrijemo tvoje ime in lokacijo v oglasih.", + "settings_privacyModeEnabled": "Privatni način je omogočen.", + "settings_privacyModeDisabled": "Privatni način je onemogočen.", "settings_actions": "Akcije", - "settings_sendAdvertisement": "Pošlji Oglas", + "settings_sendAdvertisement": "PoÅ¡lji Oglas", "settings_sendAdvertisementSubtitle": "Trenutna prisotnost v oddajah", "settings_advertisementSent": "Oglas poslan", "settings_syncTime": "Nastavi uro", - "settings_syncTimeSubtitle": "Nastavi uro naprave na čas telefona", + "settings_syncTimeSubtitle": "Nastavi uro naprave na čas telefona", "settings_timeSynchronized": "Ura sinhronizirana", - "settings_refreshContacts": "Ponovno obišči kontakte", - "settings_refreshContactsSubtitle": "Ponovno naloži seznam stikov v napravi", + "settings_refreshContacts": "Ponovno obišči kontakte", + "settings_refreshContactsSubtitle": "Ponovno naloži seznam stikov v napravi", "settings_rebootDevice": "Ponovni zagon naprave", - "settings_rebootDeviceSubtitle": "Ponovno zaženi MeshCore napravo", - "settings_rebootDeviceConfirm": "Ste prepričani, da želite ponovno zagnati napravo? Povezava bo prekinjena.", + "settings_rebootDeviceSubtitle": "Ponovno zaženi MeshCore napravo", + "settings_rebootDeviceConfirm": "Ste prepričani, da želite ponovno zagnati napravo? Povezava bo prekinjena.", "settings_debug": "Debug", - "settings_bleDebugLog": "BLE debug log (razhroščevanje)", + "settings_bleDebugLog": "BLE debug log (razhroščevanje)", "settings_bleDebugLogSubtitle": "BLE ukazi, odgovori in surovi podatki", "settings_appDebugLog": "Logi aplikacije", - "settings_appDebugLogSubtitle": "Debug sporočila aplikacije", + "settings_appDebugLogSubtitle": "Debug sporočila aplikacije", "settings_about": "Oglejte si", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { @@ -130,24 +130,24 @@ } }, "settings_aboutLegalese": "Odprtokodni projekt MeshCore 2024", - "settings_aboutDescription": "Odprtokodni Flutter klient za naprave za LoRa omrežje MeshCore.", + "settings_aboutDescription": "Odprtokodni Flutter klient za naprave za LoRa omrežje MeshCore.", "settings_infoName": "Ime", "settings_infoId": "ID", "settings_infoStatus": "Status", "settings_infoBattery": "Baterija", - "settings_infoPublicKey": "Javni ključ", - "settings_infoContactsCount": "Število stikov", - "settings_infoChannelCount": "Število kanalov", + "settings_infoPublicKey": "Javni ključ", + "settings_infoContactsCount": "Å tevilo stikov", + "settings_infoChannelCount": "Å tevilo kanalov", "settings_presets": "Prednastavitve", "settings_frequency": "Frekvenca (MHz)", "settings_frequencyHelper": "300,00 - 2500,00", "settings_frequencyInvalid": "Neveljavna frekvenca (300-2500 MHz)", - "settings_bandwidth": "Pasovna širina", - "settings_spreadingFactor": "Razširitveni faktor", + "settings_bandwidth": "Pasovna Å¡irina", + "settings_spreadingFactor": "RazÅ¡iritveni faktor", "settings_codingRate": "Programska hitrost", - "settings_txPower": "TX Moč (dBm)", + "settings_txPower": "TX Moč (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Neveljavna TX moč (0-22 dBm)", + "settings_txPowerInvalid": "Neveljavna TX moč (0-22 dBm)", "settings_error": "Napaka: {message}", "@settings_error": { "placeholders": { @@ -157,7 +157,7 @@ } }, "appSettings_title": "Nastavitve aplikacije", - "appSettings_appearance": "Prikaži", + "appSettings_appearance": "Prikaži", "appSettings_theme": "Tema", "appSettings_themeSystem": "Sistemska tema", "appSettings_themeLight": "Svetlo", @@ -165,39 +165,39 @@ "appSettings_language": "Jezik", "appSettings_languageSystem": "Sistemska privzeta vrednost", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Obvestila", - "appSettings_enableNotifications": "Omogoči obvestila", - "appSettings_enableNotificationsSubtitle": "Prejmite obvestila o sporočilih in oglasih", + "appSettings_enableNotifications": "Omogoči obvestila", + "appSettings_enableNotificationsSubtitle": "Prejmite obvestila o sporočilih in oglasih", "appSettings_notificationPermissionDenied": "Odobritev obvestila zavrnjena", - "appSettings_notificationsEnabled": "Obvestila omogočena", + "appSettings_notificationsEnabled": "Obvestila omogočena", "appSettings_notificationsDisabled": "Obvestila so izklopljena", "appSettings_messageNotifications": "Obvestila", - "appSettings_messageNotificationsSubtitle": "Pokaži obvestilo ob prejemu novih sporočil.", - "appSettings_channelMessageNotifications": "Obvestila o sporočilih kanala", - "appSettings_channelMessageNotificationsSubtitle": "Pokaži obvestilo ob prejemanju sporočil kanala", + "appSettings_messageNotificationsSubtitle": "Pokaži obvestilo ob prejemu novih sporočil.", + "appSettings_channelMessageNotifications": "Obvestila o sporočilih kanala", + "appSettings_channelMessageNotificationsSubtitle": "Pokaži obvestilo ob prejemanju sporočil kanala", "appSettings_advertisementNotifications": "Opozorila o oglasih", - "appSettings_advertisementNotificationsSubtitle": "Pokaži obvestilo, ko so najdene nove naprave.", + "appSettings_advertisementNotificationsSubtitle": "Pokaži obvestilo, ko so najdene nove naprave.", "appSettings_messaging": "Komuniciranje", - "appSettings_clearPathOnMaxRetry": "Ponovite pot do cilja na največjem štetju", - "appSettings_clearPathOnMaxRetrySubtitle": "Ponovi pot zimske obveščevalne poti po 5 neuspešnih poskusih pošiljanja", - "appSettings_pathsWillBeCleared": "Počisti pot po 5 neuspešnih poskusih.", - "appSettings_pathsWillNotBeCleared": "Poti ne bodo samodejno čiščene.", + "appSettings_clearPathOnMaxRetry": "Ponovite pot do cilja na največjem Å¡tetju", + "appSettings_clearPathOnMaxRetrySubtitle": "Ponovi pot zimske obveščevalne poti po 5 neuspeÅ¡nih poskusih poÅ¡iljanja", + "appSettings_pathsWillBeCleared": "Počisti pot po 5 neuspeÅ¡nih poskusih.", + "appSettings_pathsWillNotBeCleared": "Poti ne bodo samodejno čiščene.", "appSettings_autoRouteRotation": "Avtomatsko rotacija prenosne poti", - "appSettings_autoRouteRotationSubtitle": "Menjaj med boljšo potjo in flood načinom", - "appSettings_autoRouteRotationEnabled": "Samodejno krmilno rotiranje omogočeno", - "appSettings_autoRouteRotationDisabled": "Samodejno krmilno rotiranje je onemogočeno", + "appSettings_autoRouteRotationSubtitle": "Menjaj med boljÅ¡o potjo in flood načinom", + "appSettings_autoRouteRotationEnabled": "Samodejno krmilno rotiranje omogočeno", + "appSettings_autoRouteRotationDisabled": "Samodejno krmilno rotiranje je onemogočeno", "appSettings_battery": "Baterija", "appSettings_batteryChemistry": "Kemija baterije", "appSettings_batteryChemistryPerDevice": "Nastavitev za napravo ({deviceName})", @@ -208,20 +208,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Za izbiro se poveži z napravo", + "appSettings_batteryChemistryConnectFirst": "Za izbiro se poveži z napravo", "appSettings_batteryNmc": "18650 NMC (3,0-4,2V)", - "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65 V)", + "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65 V)", "appSettings_batteryLipo": "LiPo (3,0-4,2V)", "appSettings_mapDisplay": "Prikaz zemljevida", - "appSettings_showRepeaters": "Prikaži repetitorje", - "appSettings_showRepeatersSubtitle": "Prikaži repetitorje na mapi", - "appSettings_showChatNodes": "Prikaži naprave za klepet", - "appSettings_showChatNodesSubtitle": "Prikaži naprave na zemljevidu", - "appSettings_showOtherNodes": "Pokaži druge naprave", - "appSettings_showOtherNodesSubtitle": "Pokaži druge vrste naprav na zemljevidu.", - "appSettings_timeFilter": "Filter po času", - "appSettings_timeFilterShowAll": "Pokaži vse naprave", - "appSettings_timeFilterShowLast": "Pokaži naprave v zadnjih {hours} urah", + "appSettings_showRepeaters": "Prikaži repetitorje", + "appSettings_showRepeatersSubtitle": "Prikaži repetitorje na mapi", + "appSettings_showChatNodes": "Prikaži naprave za klepet", + "appSettings_showChatNodesSubtitle": "Prikaži naprave na zemljevidu", + "appSettings_showOtherNodes": "Pokaži druge naprave", + "appSettings_showOtherNodesSubtitle": "Pokaži druge vrste naprav na zemljevidu.", + "appSettings_timeFilter": "Filter po času", + "appSettings_timeFilterShowAll": "Pokaži vse naprave", + "appSettings_timeFilterShowLast": "Pokaži naprave v zadnjih {hours} urah", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -229,16 +229,16 @@ } } }, - "appSettings_mapTimeFilter": "Filter časa na zemljevidu", - "appSettings_showNodesDiscoveredWithin": "Pokaži naprave odkrite v:", + "appSettings_mapTimeFilter": "Filter časa na zemljevidu", + "appSettings_showNodesDiscoveredWithin": "Pokaži naprave odkrite v:", "appSettings_allTime": "Brez omejitev", "appSettings_lastHour": "V zadnji uri", "appSettings_last6Hours": "Zadnjih 6 ur", "appSettings_last24Hours": "Zadnjih 24 ur", - "appSettings_lastWeek": "Prejšnji teden", + "appSettings_lastWeek": "PrejÅ¡nji teden", "appSettings_offlineMapCache": "Shramba zemljevidov brez povezave", - "appSettings_noAreaSelected": "Območje ni izbrano", - "appSettings_areaSelectedZoom": "Izbrano območje (povečava {minZoom}-{maxZoom})", + "appSettings_noAreaSelected": "Območje ni izbrano", + "appSettings_areaSelectedZoom": "Izbrano območje (povečava {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -249,19 +249,19 @@ } } }, - "appSettings_debugCard": "Razhroščevanje", + "appSettings_debugCard": "Razhroščevanje", "appSettings_appDebugLogging": "Programski dnevnik", - "appSettings_appDebugLoggingSubtitle": "Dnevnik debug sporočil za odpravljanje težav", - "appSettings_appDebugLoggingEnabled": "Beleženje napak v aplikaciji omogočeno", - "appSettings_appDebugLoggingDisabled": "Beleženje napak v aplikacije onemogočeno.", + "appSettings_appDebugLoggingSubtitle": "Dnevnik debug sporočil za odpravljanje težav", + "appSettings_appDebugLoggingEnabled": "Beleženje napak v aplikaciji omogočeno", + "appSettings_appDebugLoggingDisabled": "Beleženje napak v aplikacije onemogočeno.", "contacts_title": "Stiki", "contacts_noContacts": "Ni stikov.", "contacts_contactsWillAppear": "Stiki se bodo prikazali, ko se naprave oglasijo.", "contacts_searchContacts": "Iskanje stikov...", "contacts_noUnreadContacts": "Ne prebrani stiki.", "contacts_noContactsFound": "Stiki niso najdeni.", - "contacts_deleteContact": "Izbriši stik", - "contacts_removeConfirm": "Izbrišem {contactName} iz stikov?", + "contacts_deleteContact": "IzbriÅ¡i stik", + "contacts_removeConfirm": "IzbriÅ¡em {contactName} iz stikov?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -273,8 +273,8 @@ "contacts_roomLogin": "Prijava v sobo", "contacts_openChat": "Odpri klepet", "contacts_editGroup": "Uredi skupino", - "contacts_deleteGroup": "Izbriši skupino", - "contacts_deleteGroupConfirm": "Izbriši {groupName}?", + "contacts_deleteGroup": "IzbriÅ¡i skupino", + "contacts_deleteGroupConfirm": "IzbriÅ¡i {groupName}?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -285,7 +285,7 @@ "contacts_newGroup": "Nova skupina", "contacts_groupName": "Ime skupine", "contacts_groupNameRequired": "Ime skupine je obvezno.", - "contacts_groupAlreadyExists": "Skupina \"{name}\" že obstaja", + "contacts_groupAlreadyExists": "Skupina \"{name}\" že obstaja", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -294,10 +294,10 @@ } }, "contacts_filterContacts": "Filtriraj stik\\,...", - "contacts_noContactsMatchFilter": "Noben stik ne ustreza vašemu kriteriju.", - "contacts_noMembers": "Ni članov.", + "contacts_noContactsMatchFilter": "Noben stik ne ustreza vaÅ¡emu kriteriju.", + "contacts_noMembers": "Ni članov.", "contacts_lastSeenNow": "Nazadnje viden zdaj", - "contacts_lastSeenMinsAgo": "Zadnjič viden pred {minutes} minutami", + "contacts_lastSeenMinsAgo": "Zadnjič viden pred {minutes} minutami", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -305,8 +305,8 @@ } } }, - "contacts_lastSeenHourAgo": "Zadnjič viden pred 1 uro.", - "contacts_lastSeenHoursAgo": "Zadnjič viden pred {hours} urami", + "contacts_lastSeenHourAgo": "Zadnjič viden pred 1 uro.", + "contacts_lastSeenHoursAgo": "Zadnjič viden pred {hours} urami", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -314,8 +314,8 @@ } } }, - "contacts_lastSeenDayAgo": "Zadnjič viden pred 1 dnem", - "contacts_lastSeenDaysAgo": "Zadnjič viden pred {days} dnem", + "contacts_lastSeenDayAgo": "Zadnjič viden pred 1 dnem", + "contacts_lastSeenDaysAgo": "Zadnjič viden pred {days} dnem", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -324,9 +324,9 @@ } }, "channels_title": "Kanali", - "channels_noChannelsConfigured": "Kanali še niso konfigurirani", + "channels_noChannelsConfigured": "Kanali Å¡e niso konfigurirani", "channels_addPublicChannel": "Dodaj javni kanal", - "channels_searchChannels": "Poišči kanale...", + "channels_searchChannels": "Poišči kanale...", "channels_noChannelsFound": "Ne najdem kanalov.", "channels_channelIndex": "Kanal {index}", "@channels_channelIndex": { @@ -342,10 +342,10 @@ "channels_publicChannel": "Javni kanal", "channels_privateChannel": "Zasebni kanal", "channels_editChannel": "Uredi kanal", - "channels_muteChannel": "Utišaj kanal", + "channels_muteChannel": "UtiÅ¡aj kanal", "channels_unmuteChannel": "Vklopi obvestila kanala", - "channels_deleteChannel": "Pošlji kanal", - "channels_deleteChannelConfirm": "Izbrišem \"{name}\"? To se ne da povrniti.", + "channels_deleteChannel": "PoÅ¡lji kanal", + "channels_deleteChannelConfirm": "IzbriÅ¡em \"{name}\"? To se ne da povrniti.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -366,8 +366,8 @@ "channels_channelName": "Ime kanala", "channels_usePublicChannel": "Uporabi javni kanal", "channels_standardPublicPsk": "Standardni javni PSK", - "channels_pskHex": "PSK (Šestnajstbinska)", - "channels_generateRandomPsk": "Generiraj naključni PSK", + "channels_pskHex": "PSK (Å estnajstbinska)", + "channels_generateRandomPsk": "Generiraj naključni PSK", "channels_enterChannelName": "Vnesi ime kanala", "channels_pskMustBe32Hex": "PSK mora biti 32 heksadecimalnih znakov.", "channels_channelAdded": "Kanal \"{name}\" dodan", @@ -397,13 +397,13 @@ }, "channels_publicChannelAdded": "javna skupnost dodana", "channels_sortBy": "Sortiraj po", - "channels_sortManual": "Ročno", + "channels_sortManual": "Ročno", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "Najnovejše sporočilo", - "channels_sortUnread": "Nerešeno", - "chat_noMessages": "Še ni sporočil.", - "chat_sendMessageToStart": "Pošlji sporočilo za začetek.", - "chat_originalMessageNotFound": "Opozorilo: Sporočilo ni bilo najdeno", + "channels_sortLatestMessages": "NajnovejÅ¡e sporočilo", + "channels_sortUnread": "NereÅ¡eno", + "chat_noMessages": "Å e ni sporočil.", + "chat_sendMessageToStart": "PoÅ¡lji sporočilo za začetek.", + "chat_originalMessageNotFound": "Opozorilo: Sporočilo ni bilo najdeno", "chat_replyingTo": "Odgovarjanje {name}", "@chat_replyingTo": { "placeholders": { @@ -412,7 +412,7 @@ } } }, - "chat_replyTo": "Odpošlji odgovor {name}", + "chat_replyTo": "OdpoÅ¡lji odgovor {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -421,7 +421,7 @@ } }, "chat_location": "Lokacija", - "chat_sendMessageTo": "Pošlji sporočilo {contactName}", + "chat_sendMessageTo": "PoÅ¡lji sporočilo {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -429,8 +429,8 @@ } } }, - "chat_typeMessage": "Vnesi sporočilo...", - "chat_messageTooLong": "Pošiljanje sporočila je onemogočeno, saj je preveliko (maksimalno {maxBytes} byte-ov).", + "chat_typeMessage": "Vnesi sporočilo...", + "chat_messageTooLong": "PoÅ¡iljanje sporočila je onemogočeno, saj je preveliko (maksimalno {maxBytes} byte-ov).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -438,8 +438,8 @@ } } }, - "chat_messageCopied": "Sporočilo poslano", - "chat_messageDeleted": "Sporočilo izbrisano", + "chat_messageCopied": "Sporočilo poslano", + "chat_messageDeleted": "Sporočilo izbrisano", "chat_retryingMessage": "Ponovni poskus.", "chat_retryCount": "Ponovit {current}/{max}", "@chat_retryCount": { @@ -452,7 +452,7 @@ } } }, - "chat_sendGif": "Pošlji GIF", + "chat_sendGif": "PoÅ¡lji GIF", "chat_reply": "Odgovori", "chat_addReaction": "Dodaj reakcijo", "chat_me": "jaz", @@ -461,22 +461,22 @@ "emojiCategoryHearts": "Srce", "emojiCategoryObjects": "Predmeti", "gifPicker_title": "Izberi GIF", - "gifPicker_searchHint": "Išči GIF-e...", + "gifPicker_searchHint": "Išči GIF-e...", "gifPicker_poweredBy": "Napredno z GIPHY", "gifPicker_noGifsFound": "Ne najdem GIF-ov.", - "gifPicker_failedLoad": "Neuspešno nalaganje GIF-a", - "gifPicker_failedSearch": "Iskanje neuspešno.", + "gifPicker_failedLoad": "NeuspeÅ¡no nalaganje GIF-a", + "gifPicker_failedSearch": "Iskanje neuspeÅ¡no.", "gifPicker_noInternet": "Ni internetne povezave", "debugLog_appTitle": "Log zapiske aplikacije", "debugLog_bleTitle": "Log zapis BLE", "debugLog_copyLog": "Kopiraj dnevnik", - "debugLog_clearLog": "Briši log", - "debugLog_copied": "Beležka kopirana.", - "debugLog_bleCopied": "Kopirana beležka iz BLE", + "debugLog_clearLog": "BriÅ¡i log", + "debugLog_copied": "Beležka kopirana.", + "debugLog_bleCopied": "Kopirana beležka iz BLE", "debugLog_noEntries": "Ni ustvarjenih debug zapisov.", - "debugLog_enableInSettings": "Omogoči beleženje napak v nastavitvah aplikacije", + "debugLog_enableInSettings": "Omogoči beleženje napak v nastavitvah aplikacije", "debugLog_frames": "Okvirji", - "debugLog_rawLogRx": "Svež Log-RX", + "debugLog_rawLogRx": "Svež Log-RX", "debugLog_noBleActivity": "Ni BLE aktivnosti.", "debugFrame_length": "Izhodni rob: {count} bajtov", "@debugFrame_length": { @@ -495,7 +495,7 @@ } }, "debugFrame_textMessageHeader": "Obvestilo:", - "debugFrame_destinationPubKey": "- Destinirano Ključno Besedilo: {pubKey}", + "debugFrame_destinationPubKey": "- Destinirano Ključno Besedilo: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -503,7 +503,7 @@ } } }, - "debugFrame_timestamp": "- Časovnik: {timestamp}", + "debugFrame_timestamp": "- ÄŒasovnik: {timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -542,11 +542,11 @@ }, "debugFrame_hexDump": "Hex Dump:", "chat_pathManagement": "Upravljanje poti", - "chat_routingMode": "Navodilo za usmerjevalni način", + "chat_routingMode": "Navodilo za usmerjevalni način", "chat_autoUseSavedPath": "Avto (uporabi shranjeno pot)", - "chat_forceFloodMode": "Nasilje obvezati v način", + "chat_forceFloodMode": "Nasilje obvezati v način", "chat_recentAckPaths": "Nedavni poti ACK (tap za uporabo):", - "chat_pathHistoryFull": "Zapiske o poti so popolni. Izbriši vnose, da dodaš nove.", + "chat_pathHistoryFull": "Zapiske o poti so popolni. IzbriÅ¡i vnose, da dodaÅ¡ nove.", "chat_hopSingular": "skok", "chat_hopPlural": "skokov", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", @@ -557,19 +557,19 @@ } } }, - "chat_successes": "Uspešni", - "chat_removePath": "Izbriši pot", - "chat_noPathHistoryYet": "Ni shranjenih poti.\nPošlji sporočilo za odkrivanje poti.", + "chat_successes": "UspeÅ¡ni", + "chat_removePath": "IzbriÅ¡i pot", + "chat_noPathHistoryYet": "Ni shranjenih poti.\nPoÅ¡lji sporočilo za odkrivanje poti.", "chat_pathActions": "Potni ukazi:", "chat_setCustomPath": "Nastavi Prilozeno Pot", - "chat_setCustomPathSubtitle": "Ročno določite potniško pot.", - "chat_clearPath": "Počisti pot", - "chat_clearPathSubtitle": "Ob naslednji pošiljanju znova zbrati.", - "chat_pathCleared": "Pot je očiščena. Naslednje sporočilo bo ponovno odkril pot.", + "chat_setCustomPathSubtitle": "Ročno določite potniÅ¡ko pot.", + "chat_clearPath": "Počisti pot", + "chat_clearPathSubtitle": "Ob naslednji poÅ¡iljanju znova zbrati.", + "chat_pathCleared": "Pot je očiščena. Naslednje sporočilo bo ponovno odkril pot.", "chat_floodModeSubtitle": "Uporabi tipko usmerjevanja v meniju aplikacije.", - "chat_floodModeEnabled": "Narejena je bila omrežna modaliteta. Vklopi jo znova preko ikone v meniju aplikacije.", + "chat_floodModeEnabled": "Narejena je bila omrežna modaliteta. Vklopi jo znova preko ikone v meniju aplikacije.", "chat_fullPath": "Polna pot", - "chat_pathDetailsNotAvailable": "Podrobnosti poti zaenkrat niso na voljo. Poskusite poslati sporočilo za osvežitev.", + "chat_pathDetailsNotAvailable": "Podrobnosti poti zaenkrat niso na voljo. Poskusite poslati sporočilo za osvežitev.", "chat_pathSetHops": "Pot nastavljen: {hopCount} {hopCount, plural, =1{hop} other{hops}} - {status}", "@chat_pathSetHops": { "placeholders": { @@ -581,15 +581,15 @@ } } }, - "chat_pathSavedLocally": "Shrano lokalno. Povežite se za sinhronizacijo.", + "chat_pathSavedLocally": "Shrano lokalno. Povežite se za sinhronizacijo.", "chat_pathDeviceConfirmed": "Naprave potrjeno.", - "chat_pathDeviceNotConfirmed": "Naprave še niso potrdile.", + "chat_pathDeviceNotConfirmed": "Naprave Å¡e niso potrdile.", "chat_type": "Vnesite", "chat_path": "Pot", - "chat_publicKey": "Ključ javnega tipa", - "chat_compressOutgoingMessages": "Stisnite izhodne sporočila", + "chat_publicKey": "Ključ javnega tipa", + "chat_compressOutgoingMessages": "Stisnite izhodne sporočila", "chat_floodForced": "Porolni (nasilje).", - "chat_directForced": "Nezglašen (nasilje)", + "chat_directForced": "NezglaÅ¡en (nasilje)", "chat_hopsForced": "{count} skoki (nasilje)", "@chat_hopsForced": { "placeholders": { @@ -600,8 +600,8 @@ }, "chat_floodAuto": "Preplavljenje (avtomatizirano)", "chat_direct": "Neposredni", - "chat_poiShared": "Deljeno točke MN", - "chat_unread": "Nerešeno: {count}", + "chat_poiShared": "Deljeno točke MN", + "chat_unread": "NereÅ¡eno: {count}", "@chat_unread": { "placeholders": { "count": { @@ -610,9 +610,9 @@ } }, "chat_openLink": "Odpreti povezavo?", - "chat_openLinkConfirmation": "Ali želite odpreti to povezavo v brskalniku?", + "chat_openLinkConfirmation": "Ali želite odpreti to povezavo v brskalniku?", "chat_open": "Odpri", - "chat_couldNotOpenLink": "Povezave ni bilo mogoče odpreti: {url}", + "chat_couldNotOpenLink": "Povezave ni bilo mogoče odpreti: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -621,9 +621,9 @@ } }, "chat_invalidLink": "Neveljavna oblika povezave", - "map_title": "Mapa omrežja", - "map_noNodesWithLocation": "Nihče od notranjih elementov nima podatkov o lokaciji.", - "map_nodesNeedGps": "Omrežje morajo deliti svoje GPS koordinate,\nda se prikazao na zemljeobrazniku.", + "map_title": "Mapa omrežja", + "map_noNodesWithLocation": "Nihče od notranjih elementov nima podatkov o lokaciji.", + "map_nodesNeedGps": "Omrežje morajo deliti svoje GPS koordinate,\nda se prikazao na zemljeobrazniku.", "map_nodesCount": "Omize: {count}", "@map_nodesCount": { "placeholders": { @@ -632,7 +632,7 @@ } } }, - "map_pinsCount": "Žigovi: {count}", + "map_pinsCount": "Žigovi: {count}", "@map_pinsCount": { "placeholders": { "count": { @@ -640,25 +640,25 @@ } } }, - "map_chat": "Čistemar", + "map_chat": "ÄŒistemar", "map_repeater": "Ponovitelj", "map_room": "Soba", "map_sensor": "Senzor", - "map_pinDm": "Zavežite (DM)", - "map_pinPrivate": "Zasebno označit", + "map_pinDm": "Zavežite (DM)", + "map_pinPrivate": "Zasebno označit", "map_pinPublic": "Oznaka (javna)", - "map_lastSeen": "Zadnjič Zazet", - "map_disconnectConfirm": "Ste prepričani, da želite se odklopiti s tega naprave?", + "map_lastSeen": "Zadnjič Zazet", + "map_disconnectConfirm": "Ste prepričani, da želite se odklopiti s tega naprave?", "map_from": "Od", "map_source": "Vir", "map_flags": "Zapestnice", - "map_shareMarkerHere": "Delite točke tukaj.", + "map_shareMarkerHere": "Delite točke tukaj.", "map_pinLabel": "Oznaka za pritrditev", "map_label": "Oznaka", - "map_pointOfInterest": "Točka zanimivosti", - "map_sendToContact": "Pošlji v kontakt", - "map_sendToChannel": "Pošlji v kanal", - "map_noChannelsAvailable": "Nihče kanalov na voljo.", + "map_pointOfInterest": "Točka zanimivosti", + "map_sendToContact": "PoÅ¡lji v kontakt", + "map_sendToChannel": "PoÅ¡lji v kanal", + "map_noChannelsAvailable": "Nihče kanalov na voljo.", "map_publicLocationShare": "Deljenje javne lokacije", "map_publicLocationShareConfirm": "Kljubite boste delili lokacijo v {channelLabel}. Ta kanal je javno dostopen in vsak, ki ima PSK, ga lahko vidi.", "@map_publicLocationShareConfirm": { @@ -668,26 +668,26 @@ } } }, - "map_connectToShareMarkers": "Povežite se z napravo za deljenje oznak.", - "map_filterNodes": "Filtirirajte člene", + "map_connectToShareMarkers": "Povežite se z napravo za deljenje oznak.", + "map_filterNodes": "Filtirirajte člene", "map_nodeTypes": "Vrste knope", - "map_chatNodes": "Čuti zvezde", + "map_chatNodes": "ÄŒuti zvezde", "map_repeaters": "Ponovljalniki", - "map_otherNodes": "Druge vozlišča", - "map_keyPrefix": "Predpona ključa", - "map_filterByKeyPrefix": "Filtri po predpomniku ključa", - "map_publicKeyPrefix": "Predifika javnega ključa", - "map_markers": "Označitelji", - "map_showSharedMarkers": "Pokaži skupno označenja", + "map_otherNodes": "Druge vozlišča", + "map_keyPrefix": "Predpona ključa", + "map_filterByKeyPrefix": "Filtri po predpomniku ključa", + "map_publicKeyPrefix": "Predifika javnega ključa", + "map_markers": "Označitelji", + "map_showSharedMarkers": "Pokaži skupno označenja", "map_lastSeenTime": "Datum zadnjega vpogleda", "map_sharedPin": "Deljeno naslovno geslo", - "map_joinRoom": "Pridružiti sobo", + "map_joinRoom": "Pridružiti sobo", "map_manageRepeater": "Upravljajte Ponovitve", - "mapCache_title": "Omrezni predpomnilnik zemljeških zemljejevskih slik", - "mapCache_selectAreaFirst": "Izberite območje za prvo predpomnilnik.", - "mapCache_noTilesToDownload": "Nihče slik ne bo naložil za to območje.", - "mapCache_downloadTilesTitle": "Naloži ploščice", - "mapCache_downloadTilesPrompt": "Naložiť {count} plošč za uporabo v režimu brez povezave?", + "mapCache_title": "Omrezni predpomnilnik zemljeÅ¡kih zemljejevskih slik", + "mapCache_selectAreaFirst": "Izberite območje za prvo predpomnilnik.", + "mapCache_noTilesToDownload": "Nihče slik ne bo naložil za to območje.", + "mapCache_downloadTilesTitle": "Naloži ploščice", + "mapCache_downloadTilesPrompt": "NaložiÅ¥ {count} plošč za uporabo v režimu brez povezave?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -695,8 +695,8 @@ } } }, - "mapCache_downloadAction": "Naloži", - "mapCache_cachedTiles": "Pospešeno shranjeni {count} plošč", + "mapCache_downloadAction": "Naloži", + "mapCache_cachedTiles": "PospeÅ¡eno shranjeni {count} plošč", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -704,7 +704,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Shranjeni {downloaded} ploščad ({failed} neuspešno)", + "mapCache_cachedTilesWithFailed": "Shranjeni {downloaded} ploščad ({failed} neuspeÅ¡no)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -715,14 +715,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Ponovite arhiv za offline način", - "mapCache_clearOfflineCachePrompt": "Izbriši vse predpomnilnikovane kartografske ploščice?", + "mapCache_clearOfflineCacheTitle": "Ponovite arhiv za offline način", + "mapCache_clearOfflineCachePrompt": "IzbriÅ¡i vse predpomnilnikovane kartografske ploščice?", "mapCache_offlineCacheCleared": "Omrezni predpomnik je bil izbrisal.", - "mapCache_noAreaSelected": "Nizona označena površina", + "mapCache_noAreaSelected": "Nizona označena povrÅ¡ina", "mapCache_cacheArea": "Omanski prostor", "mapCache_useCurrentView": "Uporabi trenutni prikaz", - "mapCache_zoomRange": "Občutek razpona", - "mapCache_estimatedTiles": "Predvideni ploščadi: {count}", + "mapCache_zoomRange": "Občutek razpona", + "mapCache_estimatedTiles": "Predvideni ploščadi: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -730,7 +730,7 @@ } } }, - "mapCache_downloadedTiles": "Naloženo {completed} / {total}", + "mapCache_downloadedTiles": "Naloženo {completed} / {total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -741,9 +741,9 @@ } } }, - "mapCache_downloadTilesButton": "Naloži ploščice", + "mapCache_downloadTilesButton": "Naloži ploščice", "mapCache_clearCacheButton": "Ponoviti arhiv", - "mapCache_failedDownloads": "Poslovniški izniki: {count}", + "mapCache_failedDownloads": "PoslovniÅ¡ki izniki: {count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -802,9 +802,9 @@ "time_month": "mesec", "time_months": "mesi", "time_minutes": "minute", - "time_allTime": "Vse časovno obdobje", + "time_allTime": "Vse časovno obdobje", "dialog_disconnect": "Odklopiti", - "dialog_disconnectConfirm": "Ste prepričani, da želite se odklopiti s tega naprave?", + "dialog_disconnectConfirm": "Ste prepričani, da želite se odklopiti s tega naprave?", "login_repeaterLogin": "Ponovni vnos", "login_roomLogin": "Vnos v sobo", "login_password": "Geslo", @@ -814,12 +814,12 @@ "login_repeaterDescription": "Vnesite geslo za ponovljalnik, da dostopite do nastavitev in statusa.", "login_roomDescription": "Vnesite geslo v sobo za dostop do nastavitev in statusa.", "login_routing": "Usmerjanje", - "login_routingMode": "Navodilo za usmerjevalni način", + "login_routingMode": "Navodilo za usmerjevalni način", "login_autoUseSavedPath": "Avto (uporabi shranjeno pot)", - "login_forceFloodMode": "Nasilje obvezati v način", - "login_managePaths": "Upravljajte Potniške Proti", + "login_forceFloodMode": "Nasilje obvezati v način", + "login_managePaths": "Upravljajte PotniÅ¡ke Proti", "login_login": "Prijava", - "login_attempt": "Poskušajo {current}/{max}", + "login_attempt": "PoskuÅ¡ajo {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -830,7 +830,7 @@ } } }, - "login_failed": "Prijava je bila neuspešna: {error}", + "login_failed": "Prijava je bila neuspeÅ¡na: {error}", "@login_failed": { "placeholders": { "error": { @@ -838,8 +838,8 @@ } } }, - "login_failedMessage": "Prijava je bila neuspešna. Geslo je napačno ali pa je repetitor nedosegljiv.", - "common_reload": "Ponovno naloži", + "login_failedMessage": "Prijava je bila neuspeÅ¡na. Geslo je napačno ali pa je repetitor nedosegljiv.", + "common_reload": "Ponovno naloži", "common_clear": "Ponoviti", "path_currentPath": "Trenutna pot: {path}", "@path_currentPath": { @@ -859,14 +859,14 @@ }, "path_enterCustomPath": "Vnesite prilagojeno pot", "path_currentPathLabel": "Trenutna pot", - "path_hexPrefixInstructions": "Vnesite 2-karakterne heksadecimalne prefixe za vsako skopo, ločeno z zvezekami.", - "path_hexPrefixExample": "Primer: A1,F2,3C (vsak notranji element uporablja prvi bajt svojega javnega ključa)", - "path_labelHexPrefixes": "Pot (heksafixne skrajšave)", + "path_hexPrefixInstructions": "Vnesite 2-karakterne heksadecimalne prefixe za vsako skopo, ločeno z zvezekami.", + "path_hexPrefixExample": "Primer: A1,F2,3C (vsak notranji element uporablja prvi bajt svojega javnega ključa)", + "path_labelHexPrefixes": "Pot (heksafixne skrajÅ¡ave)", "path_helperMaxHops": "Maksimalno 64 skokov. Vsak prefiks je 2 heksadecimalna znamenja (1 bajt).", "path_selectFromContacts": "Izberi iz kontaktov:", - "path_noRepeatersFound": "Ne najdenih ponoviteljev ali strežnikov sob.", - "path_customPathsRequire": "Prilojene poti zahtevajo medhodne prenose, ki lahko prenašajo sporočila.", - "path_invalidHexPrefixes": "Neveljačni šesteročlenski prefiksi: {prefixes}", + "path_noRepeatersFound": "Ne najdenih ponoviteljev ali strežnikov sob.", + "path_customPathsRequire": "Prilojene poti zahtevajo medhodne prenose, ki lahko prenaÅ¡ajo sporočila.", + "path_invalidHexPrefixes": "Neveljačni Å¡esteročlenski prefiksi: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -874,7 +874,7 @@ } } }, - "path_tooLong": "Pot je prevelika. Dovoljeno največ 64 skokov.", + "path_tooLong": "Pot je prevelika. Dovoljeno največ 64 skokov.", "path_setPath": "Nastavi Pot", "repeater_management": "Upravljanje ponovitve", "repeater_managementTools": "Upravne orodje", @@ -883,17 +883,17 @@ "repeater_telemetry": "Telemetrija", "repeater_telemetrySubtitle": "Pogledate telemetrijo senzorjev in sistemske statistike", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Pošlji ukazne povelje na ponovitveno enoto.", + "repeater_cliSubtitle": "PoÅ¡lji ukazne povelje na ponovitveno enoto.", "repeater_settings": "Nastavitve", "repeater_settingsSubtitle": "Konfigurirajte parametre ponovitelja", "repeater_statusTitle": "Status ponovitelja", - "repeater_routingMode": "Navodilo za usmerjevalni način", + "repeater_routingMode": "Navodilo za usmerjevalni način", "repeater_autoUseSavedPath": "Avto (uporabi shranjeno pot)", - "repeater_forceFloodMode": "Nasilje obvezati v način", + "repeater_forceFloodMode": "Nasilje obvezati v način", "repeater_pathManagement": "Upravljanje poti", "repeater_refresh": "Ponovno obnavljati", "repeater_statusRequestTimeout": "Zahtev statusa je iztekla.", - "repeater_errorLoadingStatus": "Napaka pri obnašanju: {error}", + "repeater_errorLoadingStatus": "Napaka pri obnaÅ¡anju: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -904,17 +904,17 @@ "repeater_systemInformation": "Informacije o sistemu", "repeater_battery": "Baterija", "repeater_clockAtLogin": "Ure (pri prijavi)", - "repeater_uptime": "Čas delovanja", - "repeater_queueLength": "Dolžina čakalne vrste", + "repeater_uptime": "ÄŒas delovanja", + "repeater_queueLength": "Dolžina čakalne vrste", "repeater_debugFlags": "Nastavitve odpravilnosti", "repeater_radioStatistics": "Radio Statistika", "repeater_lastRssi": "Potredno RSSI", - "repeater_lastSnr": "Nazadnje zabeležena SNR", - "repeater_noiseFloor": "Šumovita raven", + "repeater_lastSnr": "Nazadnje zabeležena SNR", + "repeater_noiseFloor": "Å umovita raven", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", "repeater_packetStatistics": "Statistika paketa", - "repeater_sent": "Pošljeno", + "repeater_sent": "PoÅ¡ljeno", "repeater_received": "Prejeto", "repeater_duplicates": "Duplikati", "repeater_daysHoursMinsSecs": "{days} dni {hours}h {minutes}m {seconds}s", @@ -987,27 +987,27 @@ "repeater_repeaterNameHelper": "Prikaz imena za ta ponovitelj.", "repeater_adminPassword": "Admin geslo", "repeater_adminPasswordHelper": "Polni dostopno geslo", - "repeater_guestPassword": "Geslo gostača", + "repeater_guestPassword": "Geslo gostača", "repeater_guestPasswordHelper": "Odpovedni dostopni geslo", "repeater_radioSettings": "Nastavitve Radija", "repeater_frequencyMhz": "Frekvenca (MHz)", "repeater_frequencyHelper": "300-2500 MHz", - "repeater_txPower": "TX Moč", + "repeater_txPower": "TX Moč", "repeater_txPowerHelper": "1-30 dBm", - "repeater_bandwidth": "Pasovna širina", - "repeater_spreadingFactor": "Razširitveni faktor", + "repeater_bandwidth": "Pasovna Å¡irina", + "repeater_spreadingFactor": "RazÅ¡iritveni faktor", "repeater_codingRate": "Programska hitrost", "repeater_locationSettings": "Nastavitve lokacije", - "repeater_latitude": "Širina", + "repeater_latitude": "Å irina", "repeater_latitudeHelper": "Desetbinske protiure (npr. 37.7749)", - "repeater_longitude": "Dolžina", + "repeater_longitude": "Dolžina", "repeater_longitudeHelper": "Desetbinske protiure (npr. -122,4194)", - "repeater_features": "Značilnosti", + "repeater_features": "Značilnosti", "repeater_packetForwarding": "Usmerjanje paketa", - "repeater_packetForwardingSubtitle": "Omogoči ponovitelja za usmerjanje paketov.", + "repeater_packetForwardingSubtitle": "Omogoči ponovitelja za usmerjanje paketov.", "repeater_guestAccess": "Prijemnik", - "repeater_guestAccessSubtitle": "Omogoči dostop gostom v samo bralni načinu.", - "repeater_privacyMode": "Privatni način", + "repeater_guestAccessSubtitle": "Omogoči dostop gostom v samo bralni načinu.", + "repeater_privacyMode": "Privatni način", "repeater_privacyModeSubtitle": "Skrita imena/lokacije v oglasih", "repeater_advertisementSettings": "Nastavitve oglasnika", "repeater_localAdvertInterval": "Lokalen Oglasovni Razpon", @@ -1028,17 +1028,17 @@ } } }, - "repeater_encryptedAdvertInterval": "Šifrirana Oglasovalska Trajanje", + "repeater_encryptedAdvertInterval": "Å ifrirana Oglasovalska Trajanje", "repeater_dangerZone": "Opozorilo", "repeater_rebootRepeater": "Ponovni zagon Repeaterja", "repeater_rebootRepeaterSubtitle": "Ponovni zagon ponovitelja.", - "repeater_rebootRepeaterConfirm": "Ste prepričani, da želite ponovno zagon tega ponovitelja?", - "repeater_regenerateIdentityKey": "Ponovite Ključ Identnosti", - "repeater_regenerateIdentityKeySubtitle": "Ustvarite novo par javnih/zasebnih ključev", + "repeater_rebootRepeaterConfirm": "Ste prepričani, da želite ponovno zagon tega ponovitelja?", + "repeater_regenerateIdentityKey": "Ponovite Ključ Identnosti", + "repeater_regenerateIdentityKeySubtitle": "Ustvarite novo par javnih/zasebnih ključev", "repeater_regenerateIdentityKeyConfirm": "To bo ustvaril novo identiteto za ponavljalnik. Prijavite se?", - "repeater_eraseFileSystem": "Počisti Sustav Vajah", + "repeater_eraseFileSystem": "Počisti Sustav Vajah", "repeater_eraseFileSystemSubtitle": "Oblikuj datoteko ponovitve sistema", - "repeater_eraseFileSystemConfirm": "OPOZORILO: To bo izbrisal/a vsa dejstva na ponovilu. To ni mogoče povzvrniti!", + "repeater_eraseFileSystemConfirm": "OPOZORILO: To bo izbrisal/a vsa dejstva na ponovilu. To ni mogoče povzvrniti!", "repeater_eraseSerialOnly": "Brisanje je na voljo samo preko serijske konzole.", "repeater_commandSent": "Navodilo poslano: {command}", "@repeater_commandSent": { @@ -1048,7 +1048,7 @@ } } }, - "repeater_errorSendingCommand": "Napaka pri pošiljanju ukaznega: {error}", + "repeater_errorSendingCommand": "Napaka pri poÅ¡iljanju ukaznega: {error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1057,7 +1057,7 @@ } }, "repeater_confirm": "Potrdit", - "repeater_settingsSaved": "Nastavitve so shranjene uspešno.", + "repeater_settingsSaved": "Nastavitve so shranjene uspeÅ¡no.", "repeater_errorSavingSettings": "Napaka pri shranjevanju nastavitev: {error}", "@repeater_errorSavingSettings": { "placeholders": { @@ -1068,11 +1068,11 @@ }, "repeater_refreshBasicSettings": "Ponovno nastavi osnovne nastavitve", "repeater_refreshRadioSettings": "Ponovno Nastavitve Radija", - "repeater_refreshTxPower": "Ponovno nastavi TX moč", + "repeater_refreshTxPower": "Ponovno nastavi TX moč", "repeater_refreshLocationSettings": "Ponovno Nastavi Nastavitve Lokacije", "repeater_refreshPacketForwarding": "Ponovno nastavitve usmerjevanja paketa", "repeater_refreshGuestAccess": "Ponovno nastavitve dostopa gostov", - "repeater_refreshPrivacyMode": "Ponovno aktiviraj način zasebnosti", + "repeater_refreshPrivacyMode": "Ponovno aktiviraj način zasebnosti", "repeater_refreshAdvertisementSettings": "Ponovno nastavi Oglede Oglasi", "repeater_refreshed": "{label} je bil/a posodobljen/a", "@repeater_refreshed": { @@ -1082,7 +1082,7 @@ } } }, - "repeater_errorRefreshing": "Napaka pri osveževanju {label}", + "repeater_errorRefreshing": "Napaka pri osveževanju {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1091,13 +1091,13 @@ } }, "repeater_cliTitle": "Ponovitelj CLI", - "repeater_debugNextCommand": "Popravi naslednje ukazne možnosti", + "repeater_debugNextCommand": "Popravi naslednje ukazne možnosti", "repeater_commandHelp": "Pomoc", "repeater_clearHistory": "Ponovi zgodovino", - "repeater_noCommandsSent": "Niti ena ukazne povratne informacije še ni poslana.", + "repeater_noCommandsSent": "Niti ena ukazne povratne informacije Å¡e ni poslana.", "repeater_typeCommandOrUseQuick": "Vnesite ukaz spodaj ali uporabite hitre ukaze", "repeater_enterCommandHint": "Vnesite ukaz...", - "repeater_previousCommand": "Prejšnji ukaz", + "repeater_previousCommand": "PrejÅ¡nji ukaz", "repeater_nextCommand": "Naslednja ukazna", "repeater_enterCommandFirst": "Vnesite ukaz najprej", "repeater_cliCommandFrameTitle": "Okno ukazne vrstice", @@ -1113,66 +1113,66 @@ "repeater_cliQuickGetRadio": "Dobiti Radiopravo", "repeater_cliQuickGetTx": "Pridobi TX", "repeater_cliQuickNeighbors": "Sosedi", - "repeater_cliQuickVersion": "Različica", + "repeater_cliQuickVersion": "Različica", "repeater_cliQuickAdvertise": "Oglasite", "repeater_cliQuickClock": "Ura", - "repeater_cliHelpAdvert": "Pošlje paket oglasov", + "repeater_cliHelpAdvert": "PoÅ¡lje paket oglasov", "repeater_cliHelpReboot": "Ponastavi naprave. (Opomba, lahko pride do 'Timeouta', kar je normalno)", - "repeater_cliHelpClock": "Prikaže trenutno uro po uri naprave.", + "repeater_cliHelpClock": "Prikaže trenutno uro po uri naprave.", "repeater_cliHelpPassword": "Nastavi novo administracijsko geslo za naprave.", - "repeater_cliHelpVersion": "Prikaže različico naprave in datum izrabe strojne opreme.", - "repeater_cliHelpClearStats": "Ponastavi različne statistične števke na nič.", - "repeater_cliHelpSetAf": "Nastavi časovni koeficient.", - "repeater_cliHelpSetTx": "Nastavi moč LoRa oddajanja v dBm. (za ponovni zagon za uporabo)", - "repeater_cliHelpSetRepeat": "Omogoči ali onemogoči vlogo ponovitelja za tono.", - "repeater_cliHelpSetAllowReadOnly": "(Osebni strežnik) Če je 'vklopljeno', potem bo dovoljeno prijavo z praznim geslom, vendar ne bo mogoče objaviti v sobo. (samo branje).", - "repeater_cliHelpSetFloodMax": "Nastavi največjo število skokov za vstopne poplave (če je >= maks, paket ni usmerjen)", - "repeater_cliHelpSetIntThresh": "Nastavi Prag Interferencij (v dB). Privzeto je 14. Nastavi na 0 za onemogočitev zaznavanja interferenc kanalov.", - "repeater_cliHelpSetAgcResetInterval": "Nastavi časovno razdaljo za ponovni zagon nadzornika Avtomatske uteži. Nastavi na 0 za onemogočanje.", - "repeater_cliHelpSetMultiAcks": "Omogoči ali onemogoči funkcijo \"dvojakih potrdil\".", - "repeater_cliHelpSetAdvertInterval": "Nastavi časovno obmesto v minutah za pošiljanje lokalnega (brezposrednega) napovednega paketa. Nastavi na 0 za onemogočiti.", - "repeater_cliHelpSetFloodAdvertInterval": "Nastavi časovno obmesto v urah za pošiljanje plovilnega oglasnega paketa. Nastavi na 0 za onemogočanje.", - "repeater_cliHelpSetGuestPassword": "Nastavi/posodobi geslo gosta. (za ponovitve lahko gostov prijavi pošiljajo zahtevo \"Get Stats\")", + "repeater_cliHelpVersion": "Prikaže različico naprave in datum izrabe strojne opreme.", + "repeater_cliHelpClearStats": "Ponastavi različne statistične Å¡tevke na nič.", + "repeater_cliHelpSetAf": "Nastavi časovni koeficient.", + "repeater_cliHelpSetTx": "Nastavi moč LoRa oddajanja v dBm. (za ponovni zagon za uporabo)", + "repeater_cliHelpSetRepeat": "Omogoči ali onemogoči vlogo ponovitelja za tono.", + "repeater_cliHelpSetAllowReadOnly": "(Osebni strežnik) ÄŒe je 'vklopljeno', potem bo dovoljeno prijavo z praznim geslom, vendar ne bo mogoče objaviti v sobo. (samo branje).", + "repeater_cliHelpSetFloodMax": "Nastavi največjo Å¡tevilo skokov za vstopne poplave (če je >= maks, paket ni usmerjen)", + "repeater_cliHelpSetIntThresh": "Nastavi Prag Interferencij (v dB). Privzeto je 14. Nastavi na 0 za onemogočitev zaznavanja interferenc kanalov.", + "repeater_cliHelpSetAgcResetInterval": "Nastavi časovno razdaljo za ponovni zagon nadzornika Avtomatske uteži. Nastavi na 0 za onemogočanje.", + "repeater_cliHelpSetMultiAcks": "Omogoči ali onemogoči funkcijo \"dvojakih potrdil\".", + "repeater_cliHelpSetAdvertInterval": "Nastavi časovno obmesto v minutah za poÅ¡iljanje lokalnega (brezposrednega) napovednega paketa. Nastavi na 0 za onemogočiti.", + "repeater_cliHelpSetFloodAdvertInterval": "Nastavi časovno obmesto v urah za poÅ¡iljanje plovilnega oglasnega paketa. Nastavi na 0 za onemogočanje.", + "repeater_cliHelpSetGuestPassword": "Nastavi/posodobi geslo gosta. (za ponovitve lahko gostov prijavi poÅ¡iljajo zahtevo \"Get Stats\")", "repeater_cliHelpSetName": "Nastavi ime oglasnika.", - "repeater_cliHelpSetLat": "Nastavi zemljepisno širino oglaševalskega zemljevida (desetdeljne).", - "repeater_cliHelpSetLon": "Nastavi zemljevidno širino oglasnika. (desetdelne stopnje)", + "repeater_cliHelpSetLat": "Nastavi zemljepisno Å¡irino oglaÅ¡evalskega zemljevida (desetdeljne).", + "repeater_cliHelpSetLon": "Nastavi zemljevidno Å¡irino oglasnika. (desetdelne stopnje)", "repeater_cliHelpSetRadio": "Nastavi popolnoma nove radijske parametre in jih shranjuje v nastavitve. Za uporabo je potrebna \"restart\" ukaz.", - "repeater_cliHelpSetRxDelay": "Nastavitve (eksperimentalne) osnova (mora biti > 1 za učinkovanje) za uporabo rahle zakasnitve prejetih paketov, glede na moč signala/rezultat. Nastavite na 0 za onemogočanje.", - "repeater_cliHelpSetTxDelay": "Nastavi faktor, ki se množi s časom delovanja za paket v načinu poplavnega režima in z randomiziranim sistemom slotov, da odvrne njegovo posredovanje. (da se zmanjša verjetnost kolizij)", - "repeater_cliHelpSetDirectTxDelay": "Ima podobno vrednost kot txdelay, vendar jo lahko uporabite za dodajanje naknadnega zamika pri posredovanju paketov v režimu neposredne prevodi.", - "repeater_cliHelpSetBridgeEnabled": "Omogoči/Preklopi most.", + "repeater_cliHelpSetRxDelay": "Nastavitve (eksperimentalne) osnova (mora biti > 1 za učinkovanje) za uporabo rahle zakasnitve prejetih paketov, glede na moč signala/rezultat. Nastavite na 0 za onemogočanje.", + "repeater_cliHelpSetTxDelay": "Nastavi faktor, ki se množi s časom delovanja za paket v načinu poplavnega režima in z randomiziranim sistemom slotov, da odvrne njegovo posredovanje. (da se zmanjÅ¡a verjetnost kolizij)", + "repeater_cliHelpSetDirectTxDelay": "Ima podobno vrednost kot txdelay, vendar jo lahko uporabite za dodajanje naknadnega zamika pri posredovanju paketov v režimu neposredne prevodi.", + "repeater_cliHelpSetBridgeEnabled": "Omogoči/Preklopi most.", "repeater_cliHelpSetBridgeDelay": "Nastavi zamik pred ponovnim poslanjem paketov.", "repeater_cliHelpSetBridgeSource": "Izberite, ali bodo most ponavljali prejeto ali poslan paket.", "repeater_cliHelpSetBridgeBaud": "Nastavi hitrost serijske povezave za mostove rs232.", "repeater_cliHelpSetBridgeSecret": "Nastavi skrivni dostop za mostove ESPNOW.", - "repeater_cliHelpSetAdcMultiplier": "Nastavi prilagoditev faktorja za prilagoditev poravnalnega napetosti baterije (podprt le na izbranih ploščah).", - "repeater_cliHelpTempRadio": "Nastavi začasne radio parametre za določeno časovno obdobje, kar po preteku časa vrne originalne radio parametre. (ne shranjuje v preferencije).", - "repeater_cliHelpSetPerm": "Modificira ACL. Odstrani ustrezen vnos (po predponi pubkeyja), če je \"permissions\" enako nič. Dodaja nov vnos, če je pubkey-hex v celoti in trenutno ni v ACL. Posodobi vnos po ustreznem predponi pubkeyja. Bitje dovoljenj se razlikuje glede na firmware vlogo, vendar so prvi dve bitki: 0 (Gost), 1 (Lezenje samo), 2 (Lezenje in pisanje), 3 (Administrator).", - "repeater_cliHelpGetBridgeType": "Dobrodošli pri izbiri vrste mostu: brez, rs232, espnow", - "repeater_cliHelpLogStart": "Začnete beleženje paketov v datotekovni sistem.", - "repeater_cliHelpLogStop": "Ustavite beleženje paketov v datotečno sistem.", - "repeater_cliHelpLogErase": "Izbriše pakete zapisov iz datotek sistema.", - "repeater_cliHelpNeighbors": "Prikaže seznam drugih ponovnih knopov, do katerih je prišlo preko brezposrednih oglasov. Vsaka vrstica je id-prefix-hex:timestamp:snr-times-4", - "repeater_cliHelpNeighborRemove": "Izbriše prvo ustreznu postavko (po predpomnilku pubkey (heks),) iz seznama sosedov.", + "repeater_cliHelpSetAdcMultiplier": "Nastavi prilagoditev faktorja za prilagoditev poravnalnega napetosti baterije (podprt le na izbranih ploščah).", + "repeater_cliHelpTempRadio": "Nastavi začasne radio parametre za določeno časovno obdobje, kar po preteku časa vrne originalne radio parametre. (ne shranjuje v preferencije).", + "repeater_cliHelpSetPerm": "Modificira ACL. Odstrani ustrezen vnos (po predponi pubkeyja), če je \"permissions\" enako nič. Dodaja nov vnos, če je pubkey-hex v celoti in trenutno ni v ACL. Posodobi vnos po ustreznem predponi pubkeyja. Bitje dovoljenj se razlikuje glede na firmware vlogo, vendar so prvi dve bitki: 0 (Gost), 1 (Lezenje samo), 2 (Lezenje in pisanje), 3 (Administrator).", + "repeater_cliHelpGetBridgeType": "DobrodoÅ¡li pri izbiri vrste mostu: brez, rs232, espnow", + "repeater_cliHelpLogStart": "Začnete beleženje paketov v datotekovni sistem.", + "repeater_cliHelpLogStop": "Ustavite beleženje paketov v datotečno sistem.", + "repeater_cliHelpLogErase": "IzbriÅ¡e pakete zapisov iz datotek sistema.", + "repeater_cliHelpNeighbors": "Prikaže seznam drugih ponovnih knopov, do katerih je priÅ¡lo preko brezposrednih oglasov. Vsaka vrstica je id-prefix-hex:timestamp:snr-times-4", + "repeater_cliHelpNeighborRemove": "IzbriÅ¡e prvo ustreznu postavko (po predpomnilku pubkey (heks),) iz seznama sosedov.", "repeater_cliHelpRegion": "(Serija samo) Navaja vse definirane regije in trenutne poplave dovolilnosti.", - "repeater_cliHelpRegionLoad": "Opomba: to je posebna več ukazna pozivna operacija. Vsak naslednji ukaz je ime regije (z lezijami za prikaz hierarhije, z enim ustvarjenim razmislom). Zaključena s pošiljanjem praznega reda/ukaza.", - "repeater_cliHelpRegionGet": "Išče regijo s podanimi imenimi prefiksom (ali \"\\\" za globalni obseg). Odgovori se s \"-> regija-ime (rodič-ime) 'F'\"", + "repeater_cliHelpRegionLoad": "Opomba: to je posebna več ukazna pozivna operacija. Vsak naslednji ukaz je ime regije (z lezijami za prikaz hierarhije, z enim ustvarjenim razmislom). Zaključena s poÅ¡iljanjem praznega reda/ukaza.", + "repeater_cliHelpRegionGet": "Išče regijo s podanimi imenimi prefiksom (ali \"\\\" za globalni obseg). Odgovori se s \"-> regija-ime (rodič-ime) 'F'\"", "repeater_cliHelpRegionPut": "Dodaja ali posodobi regijsko definicijo s podanim imenom.", - "repeater_cliHelpRegionRemove": "Izbriše definicijo regije s podanim imenom. (mora se popolnoma ujemati in ne sme imeti podregij)", + "repeater_cliHelpRegionRemove": "IzbriÅ¡e definicijo regije s podanim imenom. (mora se popolnoma ujemati in ne sme imeti podregij)", "repeater_cliHelpRegionAllowf": "Nastavi dovoljenje 'Nere' za podano regijo. ('' za globalni/dedni obseg)", - "repeater_cliHelpRegionDenyf": "Odstrani dovoljenje 'F'lood' za podano regijo. (OPOZORILO: na tem koraku ni priporočljivo ga uporabljati na globalnem/dednem obsegu!!)", - "repeater_cliHelpRegionHome": "Odgovori z trenutnim 'domovim' območjem. (Opomba je bila še nujno uporabljena, rezervirano za prihodnost)", + "repeater_cliHelpRegionDenyf": "Odstrani dovoljenje 'F'lood' za podano regijo. (OPOZORILO: na tem koraku ni priporočljivo ga uporabljati na globalnem/dednem obsegu!!)", + "repeater_cliHelpRegionHome": "Odgovori z trenutnim 'domovim' območjem. (Opomba je bila Å¡e nujno uporabljena, rezervirano za prihodnost)", "repeater_cliHelpRegionHomeSet": "Nastavi regijo 'domov'.", "repeater_cliHelpRegionSave": "Shrani seznam/ zemljevzemi regij v shranjevanje.", - "repeater_cliHelpGps": "Pokaže status GPS-ja. Če je GPS izklopljen, odgovarja samo \"off\", če je vklopljen, odgovarja z \"on\", statusom, \"fix\" in štetjem satelitiv.", - "repeater_cliHelpGpsOnOff": "Omogoči/onameni GPS način delovanja.", - "repeater_cliHelpGpsSync": "Sinhronizira čas časa ničala z gps uro.", - "repeater_cliHelpGpsSetLoc": "Nastavi položaj časa na GPS koordinate in shranjevanje preferencij.", - "repeater_cliHelpGpsAdvert": "Omogoča konfiguracijo oglasi za notranjost člana:\n- none: ne vključevati lokacije v oglasih\n- share: deliti gps lokacijo (iz SensorManager)\n- prefs: oglaševati lokacijo shranjeno v preferencah", - "repeater_cliHelpGpsAdvertSet": "Nastavi konfiguracijo oglasa na določenem mestu.", + "repeater_cliHelpGps": "Pokaže status GPS-ja. ÄŒe je GPS izklopljen, odgovarja samo \"off\", če je vklopljen, odgovarja z \"on\", statusom, \"fix\" in Å¡tetjem satelitiv.", + "repeater_cliHelpGpsOnOff": "Omogoči/onameni GPS način delovanja.", + "repeater_cliHelpGpsSync": "Sinhronizira čas časa ničala z gps uro.", + "repeater_cliHelpGpsSetLoc": "Nastavi položaj časa na GPS koordinate in shranjevanje preferencij.", + "repeater_cliHelpGpsAdvert": "Omogoča konfiguracijo oglasi za notranjost člana:\n- none: ne vključevati lokacije v oglasih\n- share: deliti gps lokacijo (iz SensorManager)\n- prefs: oglaÅ¡evati lokacijo shranjeno v preferencah", + "repeater_cliHelpGpsAdvertSet": "Nastavi konfiguracijo oglasa na določenem mestu.", "repeater_commandsListTitle": "Seznam ukazov", - "repeater_commandsListNote": "Opomba: za različne ukaze \"nastavi ...\" obstaja tudi ukaz \"dobi ...\".", - "repeater_general": "Općenito", + "repeater_commandsListNote": "Opomba: za različne ukaze \"nastavi ...\" obstaja tudi ukaz \"dobi ...\".", + "repeater_general": "Općenito", "repeater_settingsCategory": "Nastavitve", "repeater_bridge": "Most", "repeater_logging": "Logiranje", @@ -1180,10 +1180,10 @@ "repeater_regionManagementRepeaterOnly": "Upravljanje regij (zgolj za repetitorje)", "repeater_regionNote": "Regionske ukazi so bili uvedeni za upravljanje z regijskimi definicijami in dovolili.", "repeater_gpsManagement": "Upravljanje GPS", - "repeater_gpsNote": "GPS ukaz je bil uveden za upravljanje z vprašanji, povezanimi z lokacijo.", - "telemetry_receivedData": "Prejeto Telemetrično podatke", + "repeater_gpsNote": "GPS ukaz je bil uveden za upravljanje z vpraÅ¡anji, povezanimi z lokacijo.", + "telemetry_receivedData": "Prejeto Telemetrično podatke", "telemetry_requestTimeout": "Zahtev telemetrije je iztekla.", - "telemetry_errorLoading": "Napaka pri obnašanju telemetrije: {error}", + "telemetry_errorLoading": "Napaka pri obnaÅ¡anju telemetrije: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1244,17 +1244,17 @@ } }, "channelPath_title": "Pot do paketa", - "channelPath_viewMap": "Prikaži zemljeznico", + "channelPath_viewMap": "Prikaži zemljeznico", "channelPath_otherObservedPaths": "Drugi opazovani poti", "channelPath_repeaterHops": "Skoki ponovitelja", "channelPath_noHopDetails": "Podrobnosti o paketu za dostavo niso navedene.", - "channelPath_messageDetails": "Podrobnosti sporočila", - "channelPath_senderLabel": "Pošiljatelj", + "channelPath_messageDetails": "Podrobnosti sporočila", + "channelPath_senderLabel": "PoÅ¡iljatelj", "channelPath_timeLabel": "Ura", "channelPath_repeatsLabel": "Ponovitve", "channelPath_pathLabel": "Pot {index}", "channelPath_observedLabel": "Opazovani", - "channelPath_observedPathTitle": "Opazovana pot {index} • {hops}", + "channelPath_observedPathTitle": "Opazovana pot {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1265,7 +1265,7 @@ } } }, - "channelPath_noLocationData": "Nihče ni določil lokacije.", + "channelPath_noLocationData": "Nihče ni določil lokacije.", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1329,7 +1329,7 @@ }, "channelPath_pathLabelTitle": "Pot", "channelPath_observedPathHeader": "Opazovana pot", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1342,10 +1342,10 @@ }, "channelPath_noHopDetailsAvailable": "Niso na voljo podrobnosti o letu.", "channelPath_unknownRepeater": "Nepoznati ponovitelj", - "listFilter_tooltip": "Filtri in vrstiči", + "listFilter_tooltip": "Filtri in vrstiči", "listFilter_sortBy": "Sortiraj po", - "listFilter_latestMessages": "Najnovejše sporočilo", - "listFilter_heardRecently": "Nedavno slišan", + "listFilter_latestMessages": "NajnovejÅ¡e sporočilo", + "listFilter_heardRecently": "Nedavno sliÅ¡an", "listFilter_az": "A-Z", "listFilter_filters": "Filtri", "listFilter_all": "Vse", @@ -1361,23 +1361,23 @@ } } }, - "repeater_neighborsSubtitle": "Pogledati nič sosednjih hopjev.", + "repeater_neighborsSubtitle": "Pogledati nič sosednjih hopjev.", "repeater_neighbors": "Sosedi", "neighbors_receivedData": "Prejeto podatke o sosedih", "neighbors_requestTimedOut": "Sosedi zahtevajo izklop po dogovoru.", - "neighbors_errorLoading": "Napaka pri obnašanju sosedov: {error}", + "neighbors_errorLoading": "Napaka pri obnaÅ¡anju sosedov: {error}", "neighbors_repeatersNeighbors": "Ponovitve Sosedi", "neighbors_noData": "Niso na voljo podatki o sosedih.", - "channels_joinPrivateChannel": "Pridružite se zasebni skupini", - "channels_createPrivateChannelDesc": "Varno zaklenjeno s skrivnim ključem.", - "channels_joinPrivateChannelDesc": "Ročno vnesite zaporni ključ.", + "channels_joinPrivateChannel": "Pridružite se zasebni skupini", + "channels_createPrivateChannelDesc": "Varno zaklenjeno s skrivnim ključem.", + "channels_joinPrivateChannelDesc": "Ročno vnesite zaporni ključ.", "channels_createPrivateChannel": "Ustvari zasebno kanal.", - "channels_joinPublicChannel": "Pridružite se javnemu kanalu", - "channels_joinPublicChannelDesc": "Kdor karkoli je, lahko se pridruži tej skupini.", - "channels_joinHashtagChannel": "Pridružite se Kanalu z Hashtagom", - "channels_joinHashtagChannelDesc": "Kdor karkoli, lahko se pridruži hashtag kanalom.", + "channels_joinPublicChannel": "Pridružite se javnemu kanalu", + "channels_joinPublicChannelDesc": "Kdor karkoli je, lahko se pridruži tej skupini.", + "channels_joinHashtagChannel": "Pridružite se Kanalu z Hashtagom", + "channels_joinHashtagChannelDesc": "Kdor karkoli, lahko se pridruži hashtag kanalom.", "channels_scanQrCode": "Skeniraj QR kodo", - "channels_scanQrCodeComingSoon": "Prihajajoča", + "channels_scanQrCodeComingSoon": "Prihajajoča", "channels_enterHashtag": "Vnesite hashtag", "channels_hashtagHint": "npr. #ekipa", "@neighbors_unknownContact": { @@ -1395,13 +1395,13 @@ } }, "neighbors_unknownContact": "Nepoznano {pubkey}", - "neighbors_heardAgo": "Udeleženec je prejel sporočilo {time} nazaj.", - "settings_locationGPSEnable": "Omogoči GPS", - "settings_locationGPSEnableSubtitle": "Omogoči samodejno posodabljanje lokacije z GPS-jem.", + "neighbors_heardAgo": "Udeleženec je prejel sporočilo {time} nazaj.", + "settings_locationGPSEnable": "Omogoči GPS", + "settings_locationGPSEnableSubtitle": "Omogoči samodejno posodabljanje lokacije z GPS-jem.", "settings_locationIntervalSec": "Interval za GPS (Sekunde)", "settings_locationIntervalInvalid": "Intervallo mora biti vsaj 60 sekund in manj kot 86400 sekund.", - "contacts_manageRoom": "Upravljajte strežnik sobe", - "room_management": "Upravljanje stremlišča", + "contacts_manageRoom": "Upravljajte strežnik sobe", + "room_management": "Upravljanje stremlišča", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1462,32 +1462,32 @@ "community_title": "Skupnost", "common_ok": "V redu", "community_create": "Ustvari skupnost", - "community_joinTitle": "Pridružite se skupnosti", - "community_joinConfirmation": "Želiš se pridružiti skupnosti \"{name}\"?", + "community_joinTitle": "Pridružite se skupnosti", + "community_joinConfirmation": "ŽeliÅ¡ se pridružiti skupnosti \"{name}\"?", "community_scanQr": "Skeniraj QR kode skupnosti", "community_scanInstructions": "Nasmerite kamero s skupnostnim QR kodom.", - "community_showQr": "Pokaži QR kodo", + "community_showQr": "Pokaži QR kodo", "community_publicChannel": "Skupnostna javna", "community_hashtagChannel": "Skupnostni hashtag", "community_name": "Komunitarne ime", "community_enterName": "Vnesite ime skupnosti", - "community_join": "Pridružiti se", + "community_join": "Pridružiti se", "community_created": "Skupnost \"{name}\" je bila ustvarila.", "community_joined": "Prilojen k skupnosti \"{name}\"", "community_qrTitle": "Delite skupnost", - "community_qrInstructions": "Skenirajte to QR kodo za vključitev {name}.", - "community_hashtagPrivacyHint": "Hashtag kanali skupnosti so dostopni samo članom skupnosti", + "community_qrInstructions": "Skenirajte to QR kodo za vključitev {name}.", + "community_hashtagPrivacyHint": "Hashtag kanali skupnosti so dostopni samo članom skupnosti", "community_invalidQrCode": "Neveljaven QR koden skupnosti", - "community_alreadyMember": "Že član", - "community_alreadyMemberMessage": "Kljub temu ste že član/ka {name}.", + "community_alreadyMember": "Že član", + "community_alreadyMemberMessage": "Kljub temu ste že član/ka {name}.", "community_addPublicChannel": "Dodaj Objavni Kanal Komunitarja", "community_addPublicChannelHint": "Samodejno dodaj javni kanal za to skupnost.", - "community_noCommunities": "Še nobena skupnost se ni pridružila.", - "community_scanOrCreate": "Skeniraj QR kodo ali ustvari skupnost za začetek.", + "community_noCommunities": "Å e nobena skupnost se ni pridružila.", + "community_scanOrCreate": "Skeniraj QR kodo ali ustvari skupnost za začetek.", "community_manageCommunities": "Upravljanje skupnosti", "community_delete": "Opusti skupnost", "community_deleteConfirm": "Zapusti \"{name}\"?", - "community_deleteChannelsWarning": "To bo izbrisalo tudi {count} kanal/kanalov in njihova sporočila.", + "community_deleteChannelsWarning": "To bo izbrisalo tudi {count} kanal/kanalov in njihova sporočila.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1502,7 +1502,7 @@ "community_regularHashtag": "Oznaka s hashtagom", "community_regularHashtagDesc": "javna oznaka (kdorkoli lahko sodeluje)", "community_communityHashtag": "Skupnostni hashtag", - "community_communityHashtagDesc": "Izključeno za uporabnike skupnosti", + "community_communityHashtagDesc": "Izključeno za uporabnike skupnosti", "community_forCommunity": "Za {name}", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1534,10 +1534,10 @@ }, "community_secretRegenerated": "Geslo za \"{name}\" ponovno ustvarjeno", "community_regenerateSecret": "Ponovno ustvari geslo", - "community_regenerateSecretConfirm": "Preberite novo tajno geslo za \"{name}\"? Vsi članici morajo prebrati novo QR kodo, da lahko nadaljujejo s komunikacijo.", + "community_regenerateSecretConfirm": "Preberite novo tajno geslo za \"{name}\"? Vsi članici morajo prebrati novo QR kodo, da lahko nadaljujejo s komunikacijo.", "community_regenerate": "Preberi znova", - "community_scanToUpdateSecret": "Skeniraj novo QR kodo za posodabljanje ključa za {name}", - "community_updateSecret": "Ažuriraj ključ", + "community_scanToUpdateSecret": "Skeniraj novo QR kodo za posodabljanje ključa za {name}", + "community_updateSecret": "Ažuriraj ključ", "community_secretUpdated": "Skrivnostno spremembo za \"{name}\"", "@contacts_pathTraceTo": { "placeholders": { @@ -1549,78 +1549,78 @@ "pathTrace_you": "Ti", "pathTrace_failed": "Sledenje poti ni uspelo.", "pathTrace_notAvailable": "Potni sled ni na voljo.", - "pathTrace_refreshTooltip": "Osveži Path Trace.", + "pathTrace_refreshTooltip": "Osveži Path Trace.", "contacts_pathTrace": "Sledenje poti", "contacts_ping": "Pingati", "contacts_repeaterPathTrace": "Sledi poti do ponavljalnika", "contacts_repeaterPing": "Pinguj ponavljalnik", - "contacts_roomPathTrace": "Sledenje poti do strežnika sobe", - "contacts_roomPing": "Ping strežnik sobe", - "contacts_chatTraceRoute": "Slediti poti žarkov", + "contacts_roomPathTrace": "Sledenje poti do strežnika sobe", + "contacts_roomPing": "Ping strežnik sobe", + "contacts_chatTraceRoute": "Slediti poti žarkov", "contacts_pathTraceTo": "Trace route to {name}", - "appSettings_languageRu": "Ruščina", + "appSettings_languageRu": "Ruščina", "appSettings_languageUk": "Ukrajinsko", - "appSettings_enableMessageTracing": "Omogoči sledenje sporočilom", - "appSettings_enableMessageTracingSubtitle": "Prikaži podrobne metapodatke o usmerjanju in časovnem usklajevanju sporočil", - "contacts_contactImported": "Kontakt je bil uvožen.", - "contacts_contactImportFailed": "Kontakt ni bil uspešno uvožen.", + "appSettings_enableMessageTracing": "Omogoči sledenje sporočilom", + "appSettings_enableMessageTracingSubtitle": "Prikaži podrobne metapodatke o usmerjanju in časovnem usklajevanju sporočil", + "contacts_contactImported": "Kontakt je bil uvožen.", + "contacts_contactImportFailed": "Kontakt ni bil uspeÅ¡no uvožen.", "contacts_zeroHopAdvert": "Reklama brez posrednikov", - "contacts_floodAdvert": "Poplavna oglás", + "contacts_floodAdvert": "Poplavna oglás", "contacts_invalidAdvertFormat": "Neveljavni kontaktne podatke", - "contacts_clipboardEmpty": "Odložišče je prazno.", - "contacts_copyAdvertToClipboard": "Kopiraj oglas v odložišče", - "contacts_addContactFromClipboard": "Dodaj stik iz odložišča", + "contacts_clipboardEmpty": "Odložišče je prazno.", + "contacts_copyAdvertToClipboard": "Kopiraj oglas v odložišče", + "contacts_addContactFromClipboard": "Dodaj stik iz odložišča", "contacts_zeroHopContactAdvertSent": "Poslano po oglasu.", - "contacts_zeroHopContactAdvertFailed": "Pošiljanje kontakta ni uspelo.", - "contacts_contactAdvertCopied": "Oglas je bil kopiran v odložišče.", - "contacts_contactAdvertCopyFailed": "Kopiranje oglasa v odložišče je spodletelo.", + "contacts_zeroHopContactAdvertFailed": "PoÅ¡iljanje kontakta ni uspelo.", + "contacts_contactAdvertCopied": "Oglas je bil kopiran v odložišče.", + "contacts_contactAdvertCopyFailed": "Kopiranje oglasa v odložišče je spodletelo.", "contacts_ShareContactZeroHop": "Deliti kontakt prek oglasa", - "contacts_ShareContact": "Kopiraj stik v Odložišče", + "contacts_ShareContact": "Kopiraj stik v Odložišče", "notification_activityTitle": "Aktivnost MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{sporočilo} =2{sporočili} few{sporočila} other{sporočil}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{sporočilo kanala} =2{sporočili kanala} few{sporočila kanala} other{sporočil kanala}}", - "notification_newNodesCount": "{count} {count, plural, =1{novo vozlišče} =2{novi vozlišči} few{nova vozlišča} other{novih vozlišč}}", + "notification_messagesCount": "{count} {count, plural, =1{sporočilo} =2{sporočili} few{sporočila} other{sporočil}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{sporočilo kanala} =2{sporočili kanala} few{sporočila kanala} other{sporočil kanala}}", + "notification_newNodesCount": "{count} {count, plural, =1{novo vozlišče} =2{novi vozlišči} few{nova vozlišča} other{novih vozlišč}}", "notification_newTypeDiscovered": "Odkrito novo {contactType}", - "notification_receivedNewMessage": "Prejeto novo sporočilo", + "notification_receivedNewMessage": "Prejeto novo sporočilo", "settings_gpxExportAll": "Izvozi vse kontakte v GPX", "settings_gpxExportContacts": "Izvoz spremljevalcev v GPX", - "settings_gpxExportRepeatersSubtitle": "Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.", - "settings_gpxExportRepeaters": "Izvoz ponoviteljev / strežnika sobe v GPX", - "settings_gpxExportError": "Pri izvozu je prišlo do napake.", - "settings_gpxExportRepeatersRoom": "Lokacije ponovljivca in strežnika sobe", + "settings_gpxExportRepeatersSubtitle": "Izvozi ponovljene oddajnike / strežnik sobe z lokacijo v datoteko GPX.", + "settings_gpxExportRepeaters": "Izvoz ponoviteljev / strežnika sobe v GPX", + "settings_gpxExportError": "Pri izvozu je priÅ¡lo do napake.", + "settings_gpxExportRepeatersRoom": "Lokacije ponovljivca in strežnika sobe", "settings_gpxExportChat": "Lokacije spremljevalcev", "settings_gpxExportAllContacts": "Lokacije vseh stikov", "settings_gpxExportContactsSubtitle": "Izvozi spremljevalce z lokacijo v datoteko GPX.", "settings_gpxExportAllSubtitle": "Izvozi vse kontakte z lokacijo v datoteko GPX.", - "settings_gpxExportSuccess": "Uspešno izvoz GPX datoteke.", - "settings_gpxExportShareText": "Podatki kart izvoženi iz meshcore-open", + "settings_gpxExportSuccess": "UspeÅ¡no izvoz GPX datoteke.", + "settings_gpxExportShareText": "Podatki kart izvoženi iz meshcore-open", "settings_gpxExportNoContacts": "Ni stikov za izvoz.", - "settings_gpxExportNotAvailable": "Ni podprto na vašem napravi/operacijskem sistemu", + "settings_gpxExportNotAvailable": "Ni podprto na vaÅ¡em napravi/operacijskem sistemu", "settings_gpxExportShareSubject": "meshcore-open izvoz podatkov GPX karte", - "pathTrace_someHopsNoLocation": "Ena ali več hmelju manjka lokacija!", - "map_tapToAdd": "Pritisnite na vozlišča, da jih dodate poti.", + "pathTrace_someHopsNoLocation": "Ena ali več hmelju manjka lokacija!", + "map_tapToAdd": "Pritisnite na vozlišča, da jih dodate poti.", "map_removeLast": "Odstrani Zadnji", - "map_runTrace": "Zaženi sledenje poti", - "pathTrace_clearTooltip": "Počisti pot", + "map_runTrace": "Zaženi sledenje poti", + "pathTrace_clearTooltip": "Počisti pot", "map_pathTraceCancelled": "Spremljanje poti je prekinjeno.", - "scanner_enableBluetooth": "Omogočite Bluetooth", - "scanner_bluetoothOffMessage": "Prosimo, vklopite Bluetooth, da lahko poiščete naprave.", + "scanner_enableBluetooth": "Omogočite Bluetooth", + "scanner_bluetoothOffMessage": "Prosimo, vklopite Bluetooth, da lahko poiščete naprave.", "scanner_chromeRequired": "Zahtevan brskalnik Chrome", "scanner_chromeRequiredMessage": "Ta spletna aplikacija za podporo Bluetooth zahteva Google Chrome ali brskalnik na osnovi Chromiuma.", "scanner_bluetoothOff": "Bluetooth je izklopljen", - "snrIndicator_lastSeen": "Zadnjič videno", - "snrIndicator_nearByRepeaters": "Bližnji ponovitelji", - "chat_ShowAllPaths": "Prikaži vse poti", - "settings_clientRepeatFreqWarning": "Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.", - "settings_clientRepeatSubtitle": "Omogočite temu naprave, da ponavlja paketne sporočila za druge.", + "snrIndicator_lastSeen": "Zadnjič videno", + "snrIndicator_nearByRepeaters": "Bližnji ponovitelji", + "chat_ShowAllPaths": "Prikaži vse poti", + "settings_clientRepeatFreqWarning": "Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.", + "settings_clientRepeatSubtitle": "Omogočite temu naprave, da ponavlja paketne sporočila za druge.", "settings_clientRepeat": "Neovadno ponavljanje", - "settings_aboutOpenMeteoAttribution": "Podatki o višini LOS: Open-Meteo (CC BY 4.0)", + "settings_aboutOpenMeteoAttribution": "Podatki o viÅ¡ini LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Enote", - "appSettings_unitsMetric": "Metrična (m/km)", + "appSettings_unitsMetric": "Metrična (m/km)", "appSettings_unitsImperial": "Imperialno (ft / mi)", "map_lineOfSight": "Linija vida", "map_losScreenTitle": "Linija vida", - "losSelectStartEnd": "Izberite začetno in končno vozlišče za LOS.", + "losSelectStartEnd": "Izberite začetno in končno vozlišče za LOS.", "losRunFailed": "Preverjanje vidnega polja ni uspelo: {error}", "@losRunFailed": { "placeholders": { @@ -1629,12 +1629,12 @@ } } }, - "losClearAllPoints": "Počisti vse točke", - "losRunToViewElevationProfile": "Zaženite LOS za ogled višinskega profila", + "losClearAllPoints": "Počisti vse točke", + "losRunToViewElevationProfile": "Zaženite LOS za ogled viÅ¡inskega profila", "losMenuTitle": "LOS meni", - "losMenuSubtitle": "Tapnite vozlišča ali dolgo pritisnite na zemljevid za točke po meri", - "losShowDisplayNodes": "Pokaži prikazna vozlišča", - "losCustomPoints": "Točke po meri", + "losMenuSubtitle": "Tapnite vozlišča ali dolgo pritisnite na zemljevid za točke po meri", + "losShowDisplayNodes": "Pokaži prikazna vozlišča", + "losCustomPoints": "Točke po meri", "losCustomPointLabel": "Po meri {index}", "@losCustomPointLabel": { "placeholders": { @@ -1643,8 +1643,8 @@ } } }, - "losPointA": "Točka A", - "losPointB": "Točka B", + "losPointA": "Točka A", + "losPointB": "Točka B", "losAntennaA": "Antena A: {value} {unit}", "@losAntennaA": { "placeholders": { @@ -1667,9 +1667,9 @@ } } }, - "losRun": "Zaženi LOS", - "losNoElevationData": "Ni podatkov o višini", - "losProfileClear": "{distance} {distanceUnit}, čisti LOS, najmanjša razdalja {clearance} {heightUnit}", + "losRun": "Zaženi LOS", + "losNoElevationData": "Ni podatkov o viÅ¡ini", + "losProfileClear": "{distance} {distanceUnit}, čisti LOS, najmanjÅ¡a razdalja {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Podatki o nadmorski višini niso na voljo za enega ali več vzorcev.", - "losErrorInvalidInput": "Neveljavni podatki o točkah/višini za izračun LOS.", - "losRenameCustomPoint": "Preimenujte točko po meri", - "losPointName": "Ime točke", - "losShowPanelTooltip": "Pokaži ploščo LOS", - "losHidePanelTooltip": "Skrij ploščo LOS", - "losElevationAttribution": "Podatki o višini: Open-Meteo (CC BY 4.0)", + "losErrorElevationUnavailable": "Podatki o nadmorski viÅ¡ini niso na voljo za enega ali več vzorcev.", + "losErrorInvalidInput": "Neveljavni podatki o točkah/viÅ¡ini za izračun LOS.", + "losRenameCustomPoint": "Preimenujte točko po meri", + "losPointName": "Ime točke", + "losShowPanelTooltip": "Pokaži ploščo LOS", + "losHidePanelTooltip": "Skrij ploščo LOS", + "losElevationAttribution": "Podatki o viÅ¡ini: Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Radijski horizont", "losLegendLosBeam": "Linija vidnosti", "losLegendTerrain": "Teren", "losFrequencyLabel": "Frekvenca", - "losFrequencyInfoTooltip": "Prikaži podrobnosti izračuna", - "losFrequencyDialogTitle": "Izračun radijskega horizonta", - "losFrequencyDialogDescription": "Začenši od k={baselineK} pri {baselineFreq} MHz, izračun prilagodi k-faktor za trenutni pas {frequencyMHz} MHz, ki določa ukrivljeno zgornjo mejo radijskega horizonta.", + "losFrequencyInfoTooltip": "Prikaži podrobnosti izračuna", + "losFrequencyDialogTitle": "Izračun radijskega horizonta", + "losFrequencyDialogDescription": "ZačenÅ¡i od k={baselineK} pri {baselineFreq} MHz, izračun prilagodi k-faktor za trenutni pas {frequencyMHz} MHz, ki določa ukrivljeno zgornjo mejo radijskega horizonta.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1798,17 +1798,15 @@ }, "contacts_unread": "Neprebrano", "contacts_searchFavorites": "Iskanje {number}{str} priljubljenih...", - "contacts_searchRoomServers": "Išči {number}{str} strežnikov sob...", + "contacts_searchRoomServers": "Išči {number}{str} strežnikov sob...", "contacts_searchContactsNoNumber": "Iskanje stikov...", - "contacts_searchRepeaters": "Išči {number}{str} ponavljalnike...", - "contacts_searchUsers": "Išči {number}{str} uporabnikov...", + "contacts_searchRepeaters": "Išči {number}{str} ponavljalnike...", + "contacts_searchUsers": "Išči {number}{str} uporabnikov...", "connectionChoiceBluetoothLabel": "Bluetooth", "connectionChoiceUsbLabel": "USB", - "connectionChoiceTitle": "Izberite svoj način povezave.", - "connectionChoiceSubtitle": "Izberite, kako želite dostopati do svojega naprave MeshCore.", - "usbScreenSubtitle": "Izberite zaznano serijsko napravo in se neposredno povežite z vašim MeshCore-om.", - "usbScreenTitle": "Povežite preko USB", + "usbScreenSubtitle": "Izberite zaznano serijsko napravo in se neposredno povežite z vaÅ¡im MeshCore-om.", + "usbScreenTitle": "Povežite preko USB", "usbScreenStatus": "Izberite USB naprave.", "usbScreenNote": "USB serijska povezava je aktivna na podprtih napravah Android in na desktop platformah.", - "usbScreenEmptyState": "Niti en USB naprave niso najdeni. Povežite eno in posodobite." + "usbScreenEmptyState": "Niti en USB naprave niso najdeni. Povežite eno in posodobite." } diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index f3e7dbd..8a74087 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -1,4 +1,4 @@ -{ +{ "channels_channelDeleteFailed": "Det gick inte att ta bort kanalen \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { @@ -14,28 +14,28 @@ "nav_map": "Karta", "common_cancel": "Avbryt", "common_connect": "Anslut", - "common_unknownDevice": "Okänd enhet", + "common_unknownDevice": "Okänd enhet", "common_save": "Spara", "common_delete": "Radera", - "common_close": "Stänga", + "common_close": "Stänga", "common_edit": "Redigera", - "common_add": "Lägg till", - "common_settings": "Inställningar", - "common_disconnect": "Koppla från", + "common_add": "Lägg till", + "common_settings": "Inställningar", + "common_disconnect": "Koppla frÃ¥n", "common_connected": "Ansluten", "common_disconnected": "Ansluten", "common_create": "Skapa", - "common_continue": "Fortsätt", + "common_continue": "Fortsätt", "common_share": "Dela", "common_copy": "Kopiera", - "common_retry": "Försök igen", - "common_hide": "Dölj", + "common_retry": "Försök igen", + "common_hide": "Dölj", "common_remove": "Ta bort", "common_enable": "Aktivera", "common_disable": "Inaktivera", "common_reboot": "Start om", "common_loading": "Laddar...", - "common_notAvailable": "—", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,7 +53,7 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Söker efter enheter...", + "scanner_scanning": "Söker efter enheter...", "scanner_connecting": "Anslutning...", "scanner_disconnecting": "Anslutning bryts...", "scanner_notConnected": "Inte ansluten", @@ -65,8 +65,8 @@ } } }, - "scanner_searchingDevices": "Söker efter MeshCore-enheter...", - "scanner_tapToScan": "Tryck Skanna för att hitta MeshCore-enheter", + "scanner_searchingDevices": "Söker efter MeshCore-enheter...", + "scanner_tapToScan": "Tryck Skanna för att hitta MeshCore-enheter", "scanner_connectionFailed": "Anslutning misslyckades: {error}", "@scanner_connectionFailed": { "placeholders": { @@ -77,49 +77,49 @@ }, "scanner_stop": "Stoppa", "scanner_scan": "Skanna", - "device_quickSwitch": "Snabb växling", + "device_quickSwitch": "Snabb växling", "device_meshcore": "MeshCore", - "settings_title": "Inställningar", + "settings_title": "Inställningar", "settings_deviceInfo": "Enhetens information", - "settings_appSettings": "Appinställningar", - "settings_appSettingsSubtitle": "Meddelanden, notiser och kartinställningar", - "settings_nodeSettings": "Nodinställningar", + "settings_appSettings": "Appinställningar", + "settings_appSettingsSubtitle": "Meddelanden, notiser och kartinställningar", + "settings_nodeSettings": "Nodinställningar", "settings_nodeName": "Nodnamn", "settings_nodeNameNotSet": "Inte angivet", "settings_nodeNameHint": "Ange nodnamn", "settings_nodeNameUpdated": "Namn uppdaterat", - "settings_radioSettings": "Radioinställningar", + "settings_radioSettings": "Radioinställningar", "settings_radioSettingsSubtitle": "Frekvens, effekt, spridningsfaktor", - "settings_radioSettingsUpdated": "Radioinställningarna har uppdaterats", + "settings_radioSettingsUpdated": "Radioinställningarna har uppdaterats", "settings_location": "Plats", "settings_locationSubtitle": "GPS koordinater", "settings_locationUpdated": "Plats uppdaterad", - "settings_locationBothRequired": "Ange både latitud och longitud.", + "settings_locationBothRequired": "Ange bÃ¥de latitud och longitud.", "settings_locationInvalid": "Ogiltig latitud eller longitud.", "settings_latitude": "Latitud", - "settings_longitude": "Längdgrad", - "settings_privacyMode": "Privatläge", - "settings_privacyModeSubtitle": "Dölj namn/plats i annonser", - "settings_privacyModeToggle": "Aktivera privatläge för att dölja ditt namn och din plats i annonser.", - "settings_privacyModeEnabled": "Privatläget är aktiverat", - "settings_privacyModeDisabled": "Privatläge är avstängt", - "settings_actions": "Åtgärder", + "settings_longitude": "Längdgrad", + "settings_privacyMode": "Privatläge", + "settings_privacyModeSubtitle": "Dölj namn/plats i annonser", + "settings_privacyModeToggle": "Aktivera privatläge för att dölja ditt namn och din plats i annonser.", + "settings_privacyModeEnabled": "Privatläget är aktiverat", + "settings_privacyModeDisabled": "Privatläge är avstängt", + "settings_actions": "Ã…tgärder", "settings_sendAdvertisement": "Skicka Annons", - "settings_sendAdvertisementSubtitle": "Sändning finns nu", + "settings_sendAdvertisementSubtitle": "Sändning finns nu", "settings_advertisementSent": "Annons skickad", "settings_syncTime": "Synkroniseringstid", - "settings_syncTimeSubtitle": "Ställ enheten till telefonens tid", + "settings_syncTimeSubtitle": "Ställ enheten till telefonens tid", "settings_timeSynchronized": "Tidssynkroniserat", "settings_refreshContacts": "Uppdatera Kontakter", - "settings_refreshContactsSubtitle": "Ladda om kontaktlistan från enheten", + "settings_refreshContactsSubtitle": "Ladda om kontaktlistan frÃ¥n enheten", "settings_rebootDevice": "Starta om enheten", "settings_rebootDeviceSubtitle": "Starta MeshCore-enheten", - "settings_rebootDeviceConfirm": "Är du säker på att du vill starta om enheten? Du kommer att bli avkopplad.", - "settings_debug": "Felsök", - "settings_bleDebugLog": "BLE-felsökning", - "settings_bleDebugLogSubtitle": "BLE-kommandon, svar och rådata", - "settings_appDebugLog": "Appfelsökning", - "settings_appDebugLogSubtitle": "Applikations felsökningsmeddelanden", + "settings_rebootDeviceConfirm": "Är du säker pÃ¥ att du vill starta om enheten? Du kommer att bli avkopplad.", + "settings_debug": "Felsök", + "settings_bleDebugLog": "BLE-felsökning", + "settings_bleDebugLogSubtitle": "BLE-kommandon, svar och rÃ¥data", + "settings_appDebugLog": "Appfelsökning", + "settings_appDebugLogSubtitle": "Applikations felsökningsmeddelanden", "settings_about": "Om", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { @@ -129,16 +129,16 @@ } } }, - "settings_aboutLegalese": "2024 MeshCore Öppen Källkodsprojekt", - "settings_aboutDescription": "En öppen källkods Flutter-klient för MeshCore LoRa meshnätverksenheter.", + "settings_aboutLegalese": "2024 MeshCore Öppen Källkodsprojekt", + "settings_aboutDescription": "En öppen källkods Flutter-klient för MeshCore LoRa meshnätverksenheter.", "settings_infoName": "Namn", "settings_infoId": "ID", "settings_infoStatus": "Status", "settings_infoBattery": "Batteri", - "settings_infoPublicKey": "Allmänt nyckel", + "settings_infoPublicKey": "Allmänt nyckel", "settings_infoContactsCount": "Kontakterantal", "settings_infoChannelCount": "Kanalantal", - "settings_presets": "Fördefinierade inställningar", + "settings_presets": "Fördefinierade inställningar", "settings_frequency": "Frekvens (MHz)", "settings_frequencyHelper": "300,0 - 2500,0", "settings_frequencyInvalid": "Ogiltig frekvens (300-2500 MHz)", @@ -156,51 +156,51 @@ } } }, - "appSettings_title": "Appinställningar", + "appSettings_title": "Appinställningar", "appSettings_appearance": "Utseende", "appSettings_theme": "Tema", "appSettings_themeSystem": "Systemstandard", "appSettings_themeLight": "Ljus", - "appSettings_themeDark": "Mörk", - "appSettings_language": "Språk", + "appSettings_themeDark": "Mörk", + "appSettings_language": "SprÃ¥k", "appSettings_languageSystem": "Systemstandard", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", "appSettings_notifications": "Meddelanden", "appSettings_enableNotifications": "Aktivera Notifikationer", - "appSettings_enableNotificationsSubtitle": "Ta emot notiser för meddelanden och reklam", - "appSettings_notificationPermissionDenied": "Tillåtelse för notifikationer nekad", + "appSettings_enableNotificationsSubtitle": "Ta emot notiser för meddelanden och reklam", + "appSettings_notificationPermissionDenied": "TillÃ¥telse för notifikationer nekad", "appSettings_notificationsEnabled": "Notifikationer aktiverade", - "appSettings_notificationsDisabled": "Meddelanden är avstängda", + "appSettings_notificationsDisabled": "Meddelanden är avstängda", "appSettings_messageNotifications": "Meddelandekrav", - "appSettings_messageNotificationsSubtitle": "Visa notis när nya meddelanden tas emot", + "appSettings_messageNotificationsSubtitle": "Visa notis när nya meddelanden tas emot", "appSettings_channelMessageNotifications": "Kanalmeddelandena", - "appSettings_channelMessageNotificationsSubtitle": "Visa notis när meddelanden i kanal mottas", + "appSettings_channelMessageNotificationsSubtitle": "Visa notis när meddelanden i kanal mottas", "appSettings_advertisementNotifications": "Annonsmeddelanden", - "appSettings_advertisementNotificationsSubtitle": "Visa notis när nya noder upptäcks", + "appSettings_advertisementNotificationsSubtitle": "Visa notis när nya noder upptäcks", "appSettings_messaging": "Meddelanden", - "appSettings_clearPathOnMaxRetry": "Rensa Vägen på Max Försök", - "appSettings_clearPathOnMaxRetrySubtitle": "Återställ kontaktväg efter 5 misslyckade försök att skicka", - "appSettings_pathsWillBeCleared": "Sökvägar kommer att tömmas efter 5 misslyckade försök.", - "appSettings_pathsWillNotBeCleared": "Sökvägar kommer inte att rensas automatiskt.", - "appSettings_autoRouteRotation": "Automatisk Rutväxling", - "appSettings_autoRouteRotationSubtitle": "Blixtra mellan bästa vägar och flödesläge", - "appSettings_autoRouteRotationEnabled": "Automatisk ruttrotation är aktiverad", - "appSettings_autoRouteRotationDisabled": "Automatisk ruttrotation är avstängd", + "appSettings_clearPathOnMaxRetry": "Rensa Vägen pÃ¥ Max Försök", + "appSettings_clearPathOnMaxRetrySubtitle": "Ã…terställ kontaktväg efter 5 misslyckade försök att skicka", + "appSettings_pathsWillBeCleared": "Sökvägar kommer att tömmas efter 5 misslyckade försök.", + "appSettings_pathsWillNotBeCleared": "Sökvägar kommer inte att rensas automatiskt.", + "appSettings_autoRouteRotation": "Automatisk Rutväxling", + "appSettings_autoRouteRotationSubtitle": "Blixtra mellan bästa vägar och flödesläge", + "appSettings_autoRouteRotationEnabled": "Automatisk ruttrotation är aktiverad", + "appSettings_autoRouteRotationDisabled": "Automatisk ruttrotation är avstängd", "appSettings_battery": "Batteri", "appSettings_batteryChemistry": "Batterikemi", - "appSettings_batteryChemistryPerDevice": "Ställ in per enhet ({deviceName})", + "appSettings_batteryChemistryPerDevice": "Ställ in per enhet ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -208,20 +208,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Anslut till en enhet för att välja", + "appSettings_batteryChemistryConnectFirst": "Anslut till en enhet för att välja", "appSettings_batteryNmc": "18650 NMC (3.0-4.2V)", - "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65V)", + "appSettings_batteryLifepo4": "LiFePO4 (2,6–3,65V)", "appSettings_batteryLipo": "LiPo (3.0-4.2V)", "appSettings_mapDisplay": "Kartvisning", - "appSettings_showRepeaters": "Visa återuppslag", - "appSettings_showRepeatersSubtitle": "Visa återspelsnoder på kartan", + "appSettings_showRepeaters": "Visa Ã¥teruppslag", + "appSettings_showRepeatersSubtitle": "Visa Ã¥terspelsnoder pÃ¥ kartan", "appSettings_showChatNodes": "Visa Chattnoder", - "appSettings_showChatNodesSubtitle": "Visa chattnoder på kartan", + "appSettings_showChatNodesSubtitle": "Visa chattnoder pÃ¥ kartan", "appSettings_showOtherNodes": "Visa andra noder", - "appSettings_showOtherNodesSubtitle": "Visa andra nodtyper på kartan", + "appSettings_showOtherNodesSubtitle": "Visa andra nodtyper pÃ¥ kartan", "appSettings_timeFilter": "Tidsfilter", "appSettings_timeFilterShowAll": "Visa alla noder", - "appSettings_timeFilterShowLast": "Visa noder från de senaste {hours} timmarna", + "appSettings_timeFilterShowLast": "Visa noder frÃ¥n de senaste {hours} timmarna", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -230,15 +230,15 @@ } }, "appSettings_mapTimeFilter": "Karttid Filter", - "appSettings_showNodesDiscoveredWithin": "Visa noder som upptäckts inom:", + "appSettings_showNodesDiscoveredWithin": "Visa noder som upptäckts inom:", "appSettings_allTime": "Totalen", "appSettings_lastHour": "Sista timmen", "appSettings_last6Hours": "De senaste 6 timmarna", "appSettings_last24Hours": "De senaste 24 timmarna", - "appSettings_lastWeek": "Förra veckan", + "appSettings_lastWeek": "Förra veckan", "appSettings_offlineMapCache": "Offline Kartcache", "appSettings_noAreaSelected": "Ingen area markerad", - "appSettings_areaSelectedZoom": "Område markerat (zoom {minZoom}-{maxZoom})", + "appSettings_areaSelectedZoom": "OmrÃ¥de markerat (zoom {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -249,19 +249,19 @@ } } }, - "appSettings_debugCard": "Felsök", - "appSettings_appDebugLogging": "App-felsökning och loggning", - "appSettings_appDebugLoggingSubtitle": "Logga appens felsökningsmeddelanden för felsökning", - "appSettings_appDebugLoggingEnabled": "App felsökning loggning aktiverad", - "appSettings_appDebugLoggingDisabled": "App felsökning är avstängd", + "appSettings_debugCard": "Felsök", + "appSettings_appDebugLogging": "App-felsökning och loggning", + "appSettings_appDebugLoggingSubtitle": "Logga appens felsökningsmeddelanden för felsökning", + "appSettings_appDebugLoggingEnabled": "App felsökning loggning aktiverad", + "appSettings_appDebugLoggingDisabled": "App felsökning är avstängd", "contacts_title": "Kontakter", - "contacts_noContacts": "Inga kontakter ännu", - "contacts_contactsWillAppear": "Kontakter kommer att visas när enheter annonserar.", - "contacts_searchContacts": "Sök kontakter...", - "contacts_noUnreadContacts": "Inga oinlästa kontakter", + "contacts_noContacts": "Inga kontakter ännu", + "contacts_contactsWillAppear": "Kontakter kommer att visas när enheter annonserar.", + "contacts_searchContacts": "Sök kontakter...", + "contacts_noUnreadContacts": "Inga oinlästa kontakter", "contacts_noContactsFound": "Inga kontakter eller grupper hittades.", "contacts_deleteContact": "Ta bort Kontakt", - "contacts_removeConfirm": "Ta bort {contactName} från kontakter?", + "contacts_removeConfirm": "Ta bort {contactName} frÃ¥n kontakter?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -271,7 +271,7 @@ }, "contacts_manageRepeater": "Hantera Upprepare", "contacts_roomLogin": "Rum Inloggning", - "contacts_openChat": "Öppna Chatt", + "contacts_openChat": "Öppna Chatt", "contacts_editGroup": "Redigera Grupp", "contacts_deleteGroup": "Ta bort Grupp", "contacts_deleteGroupConfirm": "Ta bort {groupName}?", @@ -284,7 +284,7 @@ }, "contacts_newGroup": "Ny grupp", "contacts_groupName": "Gruppnamn", - "contacts_groupNameRequired": "Gruppnamnet är obligatoriskt", + "contacts_groupNameRequired": "Gruppnamnet är obligatoriskt", "contacts_groupAlreadyExists": "Gruppen \"{name}\" finns redan.", "@contacts_groupAlreadyExists": { "placeholders": { @@ -305,7 +305,7 @@ } } }, - "contacts_lastSeenHourAgo": "Senast sedd för 1 timme sedan", + "contacts_lastSeenHourAgo": "Senast sedd för 1 timme sedan", "contacts_lastSeenHoursAgo": "Senast sedd {hours} timmar sedan", "@contacts_lastSeenHoursAgo": { "placeholders": { @@ -314,7 +314,7 @@ } } }, - "contacts_lastSeenDayAgo": "Senast sedd för 1 dag sedan", + "contacts_lastSeenDayAgo": "Senast sedd för 1 dag sedan", "contacts_lastSeenDaysAgo": "Senast synlig {days} dagar sedan", "@contacts_lastSeenDaysAgo": { "placeholders": { @@ -325,8 +325,8 @@ }, "channels_title": "Kanaler", "channels_noChannelsConfigured": "Inga kanaler konfigurerade", - "channels_addPublicChannel": "Lägg till publik kanal", - "channels_searchChannels": "Sök kanaler...", + "channels_addPublicChannel": "Lägg till publik kanal", + "channels_searchChannels": "Sök kanaler...", "channels_noChannelsFound": "Inga kanaler hittades", "channels_channelIndex": "Kanal {index}", "@channels_channelIndex": { @@ -339,13 +339,13 @@ "channels_hashtagChannel": "Hashtagkanal", "channels_public": "Offentligt", "channels_private": "Privat", - "channels_publicChannel": "Allmänt kanal", + "channels_publicChannel": "Allmänt kanal", "channels_privateChannel": "Privat kanal", "channels_editChannel": "Redigera kanal", "channels_muteChannel": "Tysta kanal", - "channels_unmuteChannel": "Slå på ljud för kanal", + "channels_unmuteChannel": "SlÃ¥ pÃ¥ ljud för kanal", "channels_deleteChannel": "Ta bort kanal", - "channels_deleteChannelConfirm": "Radera \"{name}\"? Detta kan inte ångras.", + "channels_deleteChannelConfirm": "Radera \"{name}\"? Detta kan inte Ã¥ngras.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -361,15 +361,15 @@ } } }, - "channels_addChannel": "Lägg till kanal", + "channels_addChannel": "Lägg till kanal", "channels_channelIndexLabel": "Kanalindex", "channels_channelName": "Kanalnamn", - "channels_usePublicChannel": "Använd Publikkanal", - "channels_standardPublicPsk": "Standard allmän PSK", + "channels_usePublicChannel": "Använd Publikkanal", + "channels_standardPublicPsk": "Standard allmän PSK", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Generera slumpmässig PSK", + "channels_generateRandomPsk": "Generera slumpmässig PSK", "channels_enterChannelName": "Ange en kanalnamn", - "channels_pskMustBe32Hex": "PSK måste vara 32 hexadecimala tecken", + "channels_pskMustBe32Hex": "PSK mÃ¥ste vara 32 hexadecimala tecken", "channels_channelAdded": "Kanalen \"{name}\" har lagts till", "@channels_channelAdded": { "placeholders": { @@ -395,14 +395,14 @@ } } }, - "channels_publicChannelAdded": "Allmänt kanal tillagd", + "channels_publicChannelAdded": "Allmänt kanal tillagd", "channels_sortBy": "Sortera efter", "channels_sortManual": "Manuell", "channels_sortAZ": "A-Z", "channels_sortLatestMessages": "Senaste meddelanden", - "channels_sortUnread": "Oläst", - "chat_noMessages": "Inga meddelanden ännu", - "chat_sendMessageToStart": "Skicka ett meddelande för att komma igång", + "channels_sortUnread": "Oläst", + "chat_noMessages": "Inga meddelanden ännu", + "chat_sendMessageToStart": "Skicka ett meddelande för att komma igÃ¥ng", "chat_originalMessageNotFound": "Originalt meddelande hittades inte", "chat_replyingTo": "Svara till {name}", "@chat_replyingTo": { @@ -430,7 +430,7 @@ } }, "chat_typeMessage": "Skriv ett meddelande...", - "chat_messageTooLong": "Meddelandet är för långt (max {maxBytes} byte).", + "chat_messageTooLong": "Meddelandet är för lÃ¥ngt (max {maxBytes} byte).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -440,8 +440,8 @@ }, "chat_messageCopied": "Meddelandet kopierades", "chat_messageDeleted": "Meddelandet raderat", - "chat_retryingMessage": "Försöker igen", - "chat_retryCount": "Försök igen {current}/{max}", + "chat_retryingMessage": "Försöker igen", + "chat_retryCount": "Försök igen {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -454,30 +454,30 @@ }, "chat_sendGif": "Skicka GIF", "chat_reply": "Svara", - "chat_addReaction": "Lägg till reaktion", + "chat_addReaction": "Lägg till reaktion", "chat_me": "Mig", "emojiCategorySmileys": "Emojis", "emojiCategoryGestures": "Gestikuleringar", - "emojiCategoryHearts": "Hjärtan", + "emojiCategoryHearts": "Hjärtan", "emojiCategoryObjects": "Objekt", - "gifPicker_title": "Välj en GIF", - "gifPicker_searchHint": "Sök GIF:ar...", + "gifPicker_title": "Välj en GIF", + "gifPicker_searchHint": "Sök GIF:ar...", "gifPicker_poweredBy": "Drivet av GIPHY", "gifPicker_noGifsFound": "Inga GIF-filer hittades", "gifPicker_failedLoad": "Kunde inte ladda GIF-filer", - "gifPicker_failedSearch": "Sökningen misslyckades.", + "gifPicker_failedSearch": "Sökningen misslyckades.", "gifPicker_noInternet": "Ingen internetanslutning", - "debugLog_appTitle": "Appfelsökning", - "debugLog_bleTitle": "BLE-felsökning", + "debugLog_appTitle": "Appfelsökning", + "debugLog_bleTitle": "BLE-felsökning", "debugLog_copyLog": "Kopiera logg", "debugLog_clearLog": "Rensa logg", - "debugLog_copied": "Felsökningslogg kopierad", + "debugLog_copied": "Felsökningslogg kopierad", "debugLog_bleCopied": "BLE-logg kopierad", - "debugLog_noEntries": "Inga felsökningsloggar ännu", - "debugLog_enableInSettings": "Aktivera appens felsökningsloggning i inställningarna", + "debugLog_noEntries": "Inga felsökningsloggar ännu", + "debugLog_enableInSettings": "Aktivera appens felsökningsloggning i inställningarna", "debugLog_frames": "Rammar", - "debugLog_rawLogRx": "Rå Log-RX", - "debugLog_noBleActivity": "Ingen BLE-aktivitet ännu", + "debugLog_rawLogRx": "RÃ¥ Log-RX", + "debugLog_noBleActivity": "Ingen BLE-aktivitet ännu", "debugFrame_length": "Ramstorlek: {count} byte", "@debugFrame_length": { "placeholders": { @@ -494,8 +494,8 @@ } } }, - "debugFrame_textMessageHeader": "Textmeddelandefält:", - "debugFrame_destinationPubKey": "– Destination PubKey: {pubKey}", + "debugFrame_textMessageHeader": "Textmeddelandefält:", + "debugFrame_destinationPubKey": "– Destination PubKey: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -503,7 +503,7 @@ } } }, - "debugFrame_timestamp": "- Tidsstämpel: {timestamp}", + "debugFrame_timestamp": "- Tidsstämpel: {timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -542,11 +542,11 @@ }, "debugFrame_hexDump": "Hexdump:", "chat_pathManagement": "Stigarhantering", - "chat_routingMode": "Ruttläge", - "chat_autoUseSavedPath": "Automatisk (använd sparad sökväg)", - "chat_forceFloodMode": "Tvinga Översvämningsläge", - "chat_recentAckPaths": "Nyligen Ack-vägar (tryck för att använda):", - "chat_pathHistoryFull": "Historisk sökväg är full. Ta bort poster för att lägga till nya.", + "chat_routingMode": "Ruttläge", + "chat_autoUseSavedPath": "Automatisk (använd sparad sökväg)", + "chat_forceFloodMode": "Tvinga Översvämningsläge", + "chat_recentAckPaths": "Nyligen Ack-vägar (tryck för att använda):", + "chat_pathHistoryFull": "Historisk sökväg är full. Ta bort poster för att lägga till nya.", "chat_hopSingular": "hoppa", "chat_hopPlural": "hoppar", "chat_hopsCount": "{count} {count, plural, =1{hop} other{hops}}", @@ -557,20 +557,20 @@ } } }, - "chat_successes": "framgångar", - "chat_removePath": "Ta bort sökväg", - "chat_noPathHistoryYet": "Ingen historik ännu.\nSkicka ett meddelande för att upptäcka spår.", + "chat_successes": "framgÃ¥ngar", + "chat_removePath": "Ta bort sökväg", + "chat_noPathHistoryYet": "Ingen historik ännu.\nSkicka ett meddelande för att upptäcka spÃ¥r.", "chat_pathActions": "Stigar:", - "chat_setCustomPath": "Ange anpassad sökväg", - "chat_setCustomPathSubtitle": "Ange ruttväg manuellt", - "chat_clearPath": "Rensa Vägen", - "chat_clearPathSubtitle": "Tvinga fram omstart vid nästa sändning", - "chat_pathCleared": "Routen är nu fri. Nästa meddelande kommer att upptäcka rutten igen.", - "chat_floodModeSubtitle": "Använd routningsomkopplaren i appraden", - "chat_floodModeEnabled": "Översvämningsläge aktiverat. Stäng av via ruttikonen i appraden.", - "chat_fullPath": "Fullständig sökväg", - "chat_pathDetailsNotAvailable": "Stigaruppgifterna är ännu inte tillgängliga. Försök att skicka ett meddelande för att uppdatera.", - "chat_pathSetHops": "Sökväg inställd: {hopCount} {hopCount, plural, =1{hopp} other{hoppar}} - {status}", + "chat_setCustomPath": "Ange anpassad sökväg", + "chat_setCustomPathSubtitle": "Ange ruttväg manuellt", + "chat_clearPath": "Rensa Vägen", + "chat_clearPathSubtitle": "Tvinga fram omstart vid nästa sändning", + "chat_pathCleared": "Routen är nu fri. Nästa meddelande kommer att upptäcka rutten igen.", + "chat_floodModeSubtitle": "Använd routningsomkopplaren i appraden", + "chat_floodModeEnabled": "Översvämningsläge aktiverat. Stäng av via ruttikonen i appraden.", + "chat_fullPath": "Fullständig sökväg", + "chat_pathDetailsNotAvailable": "Stigaruppgifterna är ännu inte tillgängliga. Försök att skicka ett meddelande för att uppdatera.", + "chat_pathSetHops": "Sökväg inställd: {hopCount} {hopCount, plural, =1{hopp} other{hoppar}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -581,14 +581,14 @@ } } }, - "chat_pathSavedLocally": "Sparat lokalt. Anslut för att synkronisera.", - "chat_pathDeviceConfirmed": "Enheten bekräftad.", - "chat_pathDeviceNotConfirmed": "Enheten har inte bekräftats ännu.", + "chat_pathSavedLocally": "Sparat lokalt. Anslut för att synkronisera.", + "chat_pathDeviceConfirmed": "Enheten bekräftad.", + "chat_pathDeviceNotConfirmed": "Enheten har inte bekräftats ännu.", "chat_type": "Skriv", - "chat_path": "Sökväg", - "chat_publicKey": "Allmänt nyckel", - "chat_compressOutgoingMessages": "Kryptera utgående meddelanden", - "chat_floodForced": "Översvämning (tvingad)", + "chat_path": "Sökväg", + "chat_publicKey": "Allmänt nyckel", + "chat_compressOutgoingMessages": "Kryptera utgÃ¥ende meddelanden", + "chat_floodForced": "Översvämning (tvingad)", "chat_directForced": "Direkt (tvingad)", "chat_hopsForced": "{count} hopp (tvingat)", "@chat_hopsForced": { @@ -598,10 +598,10 @@ } } }, - "chat_floodAuto": "Översvämning (auto)", + "chat_floodAuto": "Översvämning (auto)", "chat_direct": "Direkt", "chat_poiShared": "Delad POI", - "chat_unread": "Olästa: {count}", + "chat_unread": "Olästa: {count}", "@chat_unread": { "placeholders": { "count": { @@ -609,10 +609,10 @@ } } }, - "chat_openLink": "Öppna länk?", - "chat_openLinkConfirmation": "Vill du öppna den här länken i din webbläsare?", - "chat_open": "Öppna", - "chat_couldNotOpenLink": "Kunde inte öppna länken: {url}", + "chat_openLink": "Öppna länk?", + "chat_openLinkConfirmation": "Vill du öppna den här länken i din webbläsare?", + "chat_open": "Öppna", + "chat_couldNotOpenLink": "Kunde inte öppna länken: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -620,10 +620,10 @@ } } }, - "chat_invalidLink": "Ogiltigt länkformat", + "chat_invalidLink": "Ogiltigt länkformat", "map_title": "Nodkarta", "map_noNodesWithLocation": "Inga noder med platsinformation", - "map_nodesNeedGps": "Noder måste dela sina GPS-koordinater\nför att visas på kartan", + "map_nodesNeedGps": "Noder mÃ¥ste dela sina GPS-koordinater\nför att visas pÃ¥ kartan", "map_nodesCount": "Noder: {count}", "@map_nodesCount": { "placeholders": { @@ -641,26 +641,26 @@ } }, "map_chat": "Chat", - "map_repeater": "Återuppspelare", + "map_repeater": "Ã…teruppspelare", "map_room": "Rum", "map_sensor": "Sensor", - "map_pinDm": "Lås (DM)", - "map_pinPrivate": "Lås (Privat)", - "map_pinPublic": "Anslå (Offentligt)", + "map_pinDm": "LÃ¥s (DM)", + "map_pinPrivate": "LÃ¥s (Privat)", + "map_pinPublic": "AnslÃ¥ (Offentligt)", "map_lastSeen": "Senast sedd", - "map_disconnectConfirm": "Är du säker på att du vill koppla från enheten?", - "map_from": "Från", - "map_source": "Källa", + "map_disconnectConfirm": "Är du säker pÃ¥ att du vill koppla frÃ¥n enheten?", + "map_from": "FrÃ¥n", + "map_source": "Källa", "map_flags": "Flaggor", - "map_shareMarkerHere": "Dela markeringen här", - "map_pinLabel": "Fästetikett", + "map_shareMarkerHere": "Dela markeringen här", + "map_pinLabel": "Fästetikett", "map_label": "Etikett", "map_pointOfInterest": "Plats av intresse", "map_sendToContact": "Skicka till kontakt", "map_sendToChannel": "Skicka till kanal", - "map_noChannelsAvailable": "Inga kanaler tillgängliga", + "map_noChannelsAvailable": "Inga kanaler tillgängliga", "map_publicLocationShare": "Dela offentlig plats", - "map_publicLocationShareConfirm": "Du håller på att dela en plats i {channelLabel}. Denna kanal är offentlig och alla med PSK kan se den.", + "map_publicLocationShareConfirm": "Du hÃ¥ller pÃ¥ att dela en plats i {channelLabel}. Denna kanal är offentlig och alla med PSK kan se den.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -668,7 +668,7 @@ } } }, - "map_connectToShareMarkers": "Anslut till en enhet för att dela markörer", + "map_connectToShareMarkers": "Anslut till en enhet för att dela markörer", "map_filterNodes": "Filtrera noder", "map_nodeTypes": "Nodtyper", "map_chatNodes": "Chatnoder", @@ -676,18 +676,18 @@ "map_otherNodes": "Andra noder", "map_keyPrefix": "Nyckelprefix", "map_filterByKeyPrefix": "Filtrera efter nyckelprefix", - "map_publicKeyPrefix": "Allmänt nyckelprästegenskap", - "map_markers": "Markörer", - "map_showSharedMarkers": "Visa delade markörer", + "map_publicKeyPrefix": "Allmänt nyckelprästegenskap", + "map_markers": "Markörer", + "map_showSharedMarkers": "Visa delade markörer", "map_lastSeenTime": "Senaste Visats Tid", "map_sharedPin": "Delad PIN", - "map_joinRoom": "Gå med i rum", + "map_joinRoom": "GÃ¥ med i rum", "map_manageRepeater": "Hantera Upprepare", "mapCache_title": "Offline Kartcache", - "mapCache_selectAreaFirst": "Välj ett område att cachera först", - "mapCache_noTilesToDownload": "Inga kuber att ladda ner för detta område", + "mapCache_selectAreaFirst": "Välj ett omrÃ¥de att cachera först", + "mapCache_noTilesToDownload": "Inga kuber att ladda ner för detta omrÃ¥de", "mapCache_downloadTilesTitle": "Ladda ner klick", - "mapCache_downloadTilesPrompt": "Ladda ner {count} kuber för offlineanvändning?", + "mapCache_downloadTilesPrompt": "Ladda ner {count} kuber för offlineanvändning?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -719,9 +719,9 @@ "mapCache_clearOfflineCachePrompt": "Ta bort alla cachemapplaner?", "mapCache_offlineCacheCleared": "Offline-cache rensad", "mapCache_noAreaSelected": "Ingen area markerad", - "mapCache_cacheArea": "Cacheområde", - "mapCache_useCurrentView": "Använd Aktuell Visning", - "mapCache_zoomRange": "Zoombegränsning", + "mapCache_cacheArea": "CacheomrÃ¥de", + "mapCache_useCurrentView": "Använd Aktuell Visning", + "mapCache_zoomRange": "Zoombegränsning", "mapCache_estimatedTiles": "Uppskattat antal klick: {count}", "@mapCache_estimatedTiles": { "placeholders": { @@ -799,27 +799,27 @@ "time_days": "dagar", "time_week": "vecka", "time_weeks": "veckor", - "time_month": "månad", - "time_months": "månader", + "time_month": "mÃ¥nad", + "time_months": "mÃ¥nader", "time_minutes": "minuter", "time_allTime": "Alla tider", - "dialog_disconnect": "Koppla från", - "dialog_disconnectConfirm": "Är du säker på att du vill koppla från enheten?", - "login_repeaterLogin": "Återuppta Inloggning", + "dialog_disconnect": "Koppla frÃ¥n", + "dialog_disconnectConfirm": "Är du säker pÃ¥ att du vill koppla frÃ¥n enheten?", + "login_repeaterLogin": "Ã…teruppta Inloggning", "login_roomLogin": "Rum Inloggning", - "login_password": "Lösenord", - "login_enterPassword": "Ange lösenord", - "login_savePassword": "Spara lösenord", - "login_savePasswordSubtitle": "Lösenord kommer att lagras säkert på enheten.", - "login_repeaterDescription": "Ange återuppspelarens lösenord för att komma åt inställningar och status.", - "login_roomDescription": "Ange rummets lösenord för att komma åt inställningar och status.", + "login_password": "Lösenord", + "login_enterPassword": "Ange lösenord", + "login_savePassword": "Spara lösenord", + "login_savePasswordSubtitle": "Lösenord kommer att lagras säkert pÃ¥ enheten.", + "login_repeaterDescription": "Ange Ã¥teruppspelarens lösenord för att komma Ã¥t inställningar och status.", + "login_roomDescription": "Ange rummets lösenord för att komma Ã¥t inställningar och status.", "login_routing": "Ruttning", - "login_routingMode": "Ruttläge", - "login_autoUseSavedPath": "Automatisk (använd sparad sökväg)", - "login_forceFloodMode": "Tvinga Översvämningsläge", - "login_managePaths": "Hantera Sökvägar", + "login_routingMode": "Ruttläge", + "login_autoUseSavedPath": "Automatisk (använd sparad sökväg)", + "login_forceFloodMode": "Tvinga Översvämningsläge", + "login_managePaths": "Hantera Sökvägar", "login_login": "Logga in", - "login_attempt": "Försök {current}/{max}", + "login_attempt": "Försök {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -838,10 +838,10 @@ } } }, - "login_failedMessage": "Inloggning misslyckades. Antingen är lösenordet fel eller så går det inte att nå repeatern.", + "login_failedMessage": "Inloggning misslyckades. Antingen är lösenordet fel eller sÃ¥ gÃ¥r det inte att nÃ¥ repeatern.", "common_reload": "Ladda om", "common_clear": "Rensa", - "path_currentPath": "Nuvarande sökväg: {path}", + "path_currentPath": "Nuvarande sökväg: {path}", "@path_currentPath": { "placeholders": { "path": { @@ -849,7 +849,7 @@ } } }, - "path_usingHopsPath": "Använda {count} {count, plural, =1{hop} other{hops}} sökväg", + "path_usingHopsPath": "Använda {count} {count, plural, =1{hop} other{hops}} sökväg", "@path_usingHopsPath": { "placeholders": { "count": { @@ -857,15 +857,15 @@ } } }, - "path_enterCustomPath": "Ange anpassad sökväg", - "path_currentPathLabel": "Nuvarande sökväg", - "path_hexPrefixInstructions": "Ange 2-tecknets hex-prefett för varje hopp, åtskilda med komma.", - "path_hexPrefixExample": "Exempel: A1,F2,3C (varje nod använder det första bytet av sitt publika nyckel)", + "path_enterCustomPath": "Ange anpassad sökväg", + "path_currentPathLabel": "Nuvarande sökväg", + "path_hexPrefixInstructions": "Ange 2-tecknets hex-prefett för varje hopp, Ã¥tskilda med komma.", + "path_hexPrefixExample": "Exempel: A1,F2,3C (varje nod använder det första bytet av sitt publika nyckel)", "path_labelHexPrefixes": "Hexprefixer", - "path_helperMaxHops": "Max 64 hopp. Varje prefix är 2 hex-tecken (1 byte)", - "path_selectFromContacts": "Välj istället från kontakter:", - "path_noRepeatersFound": "Inga återuppspelare eller rumsservrar hittades.", - "path_customPathsRequire": "Anpassade sökvägar kräver mellansteg som kan vidarebefordra meddelanden.", + "path_helperMaxHops": "Max 64 hopp. Varje prefix är 2 hex-tecken (1 byte)", + "path_selectFromContacts": "Välj istället frÃ¥n kontakter:", + "path_noRepeatersFound": "Inga Ã¥teruppspelare eller rumsservrar hittades.", + "path_customPathsRequire": "Anpassade sökvägar kräver mellansteg som kan vidarebefordra meddelanden.", "path_invalidHexPrefixes": "Ogiltiga hex-prefikser: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { @@ -874,26 +874,26 @@ } } }, - "path_tooLong": "Sökvägen är för lång. Max 64 hopp tillåtna.", - "path_setPath": "Ange Sökväg", - "repeater_management": "Återuppspelarens Hantering", + "path_tooLong": "Sökvägen är för lÃ¥ng. Max 64 hopp tillÃ¥tna.", + "path_setPath": "Ange Sökväg", + "repeater_management": "Ã…teruppspelarens Hantering", "repeater_managementTools": "Administrationsverktyg", "repeater_status": "Status", - "repeater_statusSubtitle": "Visa återspolningsstatus, statistik och grannar", + "repeater_statusSubtitle": "Visa Ã¥terspolningsstatus, statistik och grannar", "repeater_telemetry": "Telemetry", - "repeater_telemetrySubtitle": "Visa telemetri för sensorer och systemstatistik", + "repeater_telemetrySubtitle": "Visa telemetri för sensorer och systemstatistik", "repeater_cli": "CLI", "repeater_cliSubtitle": "Skicka kommandon till repetitorn", - "repeater_settings": "Inställningar", - "repeater_settingsSubtitle": "Konfigurera återspolarparametrar", - "repeater_statusTitle": "Återspelsstatus", - "repeater_routingMode": "Ruttläge", - "repeater_autoUseSavedPath": "Automatisk (använd sparad sökväg)", - "repeater_forceFloodMode": "Tvinga Översvämningsläge", + "repeater_settings": "Inställningar", + "repeater_settingsSubtitle": "Konfigurera Ã¥terspolarparametrar", + "repeater_statusTitle": "Ã…terspelsstatus", + "repeater_routingMode": "Ruttläge", + "repeater_autoUseSavedPath": "Automatisk (använd sparad sökväg)", + "repeater_forceFloodMode": "Tvinga Översvämningsläge", "repeater_pathManagement": "Stigarhantering", "repeater_refresh": "Uppdatera", - "repeater_statusRequestTimeout": "Statusförfrågan gick inte att hämta.", - "repeater_errorLoadingStatus": "Fel vid inläsning av status: {error}", + "repeater_statusRequestTimeout": "StatusförfrÃ¥gan gick inte att hämta.", + "repeater_errorLoadingStatus": "Fel vid inläsning av status: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -904,13 +904,13 @@ "repeater_systemInformation": "Systeminformation", "repeater_battery": "Batteri", "repeater_clockAtLogin": "Klocka (vid inloggning)", - "repeater_uptime": "Tillgänglighet", - "repeater_queueLength": "Köans längd", - "repeater_debugFlags": "Felsökningsflaggor", + "repeater_uptime": "Tillgänglighet", + "repeater_queueLength": "Köans längd", + "repeater_debugFlags": "Felsökningsflaggor", "repeater_radioStatistics": "Radiostatistik", "repeater_lastRssi": "Senaste RSSI", "repeater_lastSnr": "Sista SNR", - "repeater_noiseFloor": "Ljudnivå", + "repeater_noiseFloor": "LjudnivÃ¥", "repeater_txAirtime": "TX Airtime", "repeater_rxAirtime": "RX Airtime", "repeater_packetStatistics": "Paketstatistik", @@ -934,7 +934,7 @@ } } }, - "repeater_packetTxTotal": "Totalt: {total}, Översvämning: {flood}, Direkt: {direct}", + "repeater_packetTxTotal": "Totalt: {total}, Översvämning: {flood}, Direkt: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -948,7 +948,7 @@ } } }, - "repeater_packetRxTotal": "Totalt: {total}, Översvämning: {flood}, Direkt: {direct}", + "repeater_packetRxTotal": "Totalt: {total}, Översvämning: {flood}, Direkt: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -962,7 +962,7 @@ } } }, - "repeater_duplicatesFloodDirect": "Översvämning: {flood}, Direkt: {direct}", + "repeater_duplicatesFloodDirect": "Översvämning: {flood}, Direkt: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -981,15 +981,15 @@ } } }, - "repeater_settingsTitle": "Återuppspelarens Inställningar", - "repeater_basicSettings": "Grundinställningar", + "repeater_settingsTitle": "Ã…teruppspelarens Inställningar", + "repeater_basicSettings": "Grundinställningar", "repeater_repeaterName": "Upprepare Namn", - "repeater_repeaterNameHelper": "Visa namn för denna återupprepare", - "repeater_adminPassword": "Adminlösenord", - "repeater_adminPasswordHelper": "Fullständig åtkomstlösenord", - "repeater_guestPassword": "Gästlösenhet", - "repeater_guestPasswordHelper": "Läs-skyddspassord", - "repeater_radioSettings": "Radioinställningar", + "repeater_repeaterNameHelper": "Visa namn för denna Ã¥terupprepare", + "repeater_adminPassword": "Adminlösenord", + "repeater_adminPasswordHelper": "Fullständig Ã¥tkomstlösenord", + "repeater_guestPassword": "Gästlösenhet", + "repeater_guestPasswordHelper": "Läs-skyddspassord", + "repeater_radioSettings": "Radioinställningar", "repeater_frequencyMhz": "Frekvens (MHz)", "repeater_frequencyHelper": "300-2500 MHz", "repeater_txPower": "TX Effekt", @@ -997,19 +997,19 @@ "repeater_bandwidth": "Bandbredd", "repeater_spreadingFactor": "Spreadingfaktor", "repeater_codingRate": "Kodningsgrad", - "repeater_locationSettings": "Platsinställningar", + "repeater_locationSettings": "Platsinställningar", "repeater_latitude": "Latitud", "repeater_latitudeHelper": "Decimalgrader (t.ex. 37.7749)", - "repeater_longitude": "Längdgrad", + "repeater_longitude": "Längdgrad", "repeater_longitudeHelper": "Decimalgrader (t.ex. -122.4194)", "repeater_features": "Funktioner", - "repeater_packetForwarding": "Paketväxling", - "repeater_packetForwardingSubtitle": "Aktivera återuppspelaren för att vidarebefordra paket", - "repeater_guestAccess": "Gäståtkomst", - "repeater_guestAccessSubtitle": "Tillåt läsbehörigheter för gäster.", - "repeater_privacyMode": "Privatläge", - "repeater_privacyModeSubtitle": "Dölj namn/plats i annonser", - "repeater_advertisementSettings": "Annonsinställningar", + "repeater_packetForwarding": "Paketväxling", + "repeater_packetForwardingSubtitle": "Aktivera Ã¥teruppspelaren för att vidarebefordra paket", + "repeater_guestAccess": "GästÃ¥tkomst", + "repeater_guestAccessSubtitle": "TillÃ¥t läsbehörigheter för gäster.", + "repeater_privacyMode": "Privatläge", + "repeater_privacyModeSubtitle": "Dölj namn/plats i annonser", + "repeater_advertisementSettings": "Annonsinställningar", "repeater_localAdvertInterval": "Lokalt Annonsintervall", "repeater_localAdvertIntervalMinutes": "{minutes} minuter", "@repeater_localAdvertIntervalMinutes": { @@ -1019,7 +1019,7 @@ } } }, - "repeater_floodAdvertInterval": "Översvämnadsannonsens tidsintervall", + "repeater_floodAdvertInterval": "Översvämnadsannonsens tidsintervall", "repeater_floodAdvertIntervalHours": "{hours} timmar", "@repeater_floodAdvertIntervalHours": { "placeholders": { @@ -1029,17 +1029,17 @@ } }, "repeater_encryptedAdvertInterval": "Krypterad Annonsintervall", - "repeater_dangerZone": "Faraområde", - "repeater_rebootRepeater": "Starta Återuppspelaren", + "repeater_dangerZone": "FaraomrÃ¥de", + "repeater_rebootRepeater": "Starta Ã…teruppspelaren", "repeater_rebootRepeaterSubtitle": "Starta om repeternheten", - "repeater_rebootRepeaterConfirm": "Är du säker på att du vill starta om denna repeater?", + "repeater_rebootRepeaterConfirm": "Är du säker pÃ¥ att du vill starta om denna repeater?", "repeater_regenerateIdentityKey": "Generera Identitetsknyckel", "repeater_regenerateIdentityKeySubtitle": "Generera ny publik/privat nyckelpar", - "repeater_regenerateIdentityKeyConfirm": "Detta kommer att generera en ny identitet för återspelaren. Fortsätta?", + "repeater_regenerateIdentityKeyConfirm": "Detta kommer att generera en ny identitet för Ã¥terspelaren. Fortsätta?", "repeater_eraseFileSystem": "Radera Filsystem", - "repeater_eraseFileSystemSubtitle": "Formatera återspelsfilsystemet", - "repeater_eraseFileSystemConfirm": "VARNING: Detta kommer att radera all data på repeatern. Detta kan inte ångras!", - "repeater_eraseSerialOnly": "Rensa är endast tillgängligt via seriell konsol.", + "repeater_eraseFileSystemSubtitle": "Formatera Ã¥terspelsfilsystemet", + "repeater_eraseFileSystemConfirm": "VARNING: Detta kommer att radera all data pÃ¥ repeatern. Detta kan inte Ã¥ngras!", + "repeater_eraseSerialOnly": "Rensa är endast tillgängligt via seriell konsol.", "repeater_commandSent": "Kommandot skickades: {command}", "@repeater_commandSent": { "placeholders": { @@ -1056,9 +1056,9 @@ } } }, - "repeater_confirm": "Bekräfta", - "repeater_settingsSaved": "Inställningarna sparades framgångsrikt.", - "repeater_errorSavingSettings": "Fel vid sparande av inställningar: {error}", + "repeater_confirm": "Bekräfta", + "repeater_settingsSaved": "Inställningarna sparades framgÃ¥ngsrikt.", + "repeater_errorSavingSettings": "Fel vid sparande av inställningar: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1066,14 +1066,14 @@ } } }, - "repeater_refreshBasicSettings": "Återställ Grundläggande Inställningar", - "repeater_refreshRadioSettings": "Återställ Radiosinställningar", - "repeater_refreshTxPower": "Återställ TX-effekt", - "repeater_refreshLocationSettings": "Uppdatera Lokationsinställningar", - "repeater_refreshPacketForwarding": "Återställ Paketväxling", - "repeater_refreshGuestAccess": "Återställ Gäståtkomst", - "repeater_refreshPrivacyMode": "Återställ Sekretessläge", - "repeater_refreshAdvertisementSettings": "Återställ Annonsinställningar", + "repeater_refreshBasicSettings": "Ã…terställ Grundläggande Inställningar", + "repeater_refreshRadioSettings": "Ã…terställ Radiosinställningar", + "repeater_refreshTxPower": "Ã…terställ TX-effekt", + "repeater_refreshLocationSettings": "Uppdatera Lokationsinställningar", + "repeater_refreshPacketForwarding": "Ã…terställ Paketväxling", + "repeater_refreshGuestAccess": "Ã…terställ GästÃ¥tkomst", + "repeater_refreshPrivacyMode": "Ã…terställ Sekretessläge", + "repeater_refreshAdvertisementSettings": "Ã…terställ Annonsinställningar", "repeater_refreshed": "{label} har uppdaterats", "@repeater_refreshed": { "placeholders": { @@ -1090,17 +1090,17 @@ } } }, - "repeater_cliTitle": "Återuppspelaren CLI", - "repeater_debugNextCommand": "Felsök Nästa Kommando", - "repeater_commandHelp": "Hjälp", + "repeater_cliTitle": "Ã…teruppspelaren CLI", + "repeater_debugNextCommand": "Felsök Nästa Kommando", + "repeater_commandHelp": "Hjälp", "repeater_clearHistory": "Rensa Historik", - "repeater_noCommandsSent": "Inga kommandon skickats ännu", - "repeater_typeCommandOrUseQuick": "Skriv en kommando nedan eller använd snabba kommandon", + "repeater_noCommandsSent": "Inga kommandon skickats ännu", + "repeater_typeCommandOrUseQuick": "Skriv en kommando nedan eller använd snabba kommandon", "repeater_enterCommandHint": "Ange kommando...", "repeater_previousCommand": "Tidigare kommando", - "repeater_nextCommand": "Nästa kommando", - "repeater_enterCommandFirst": "Ange en kommando först", - "repeater_cliCommandFrameTitle": "Kommandofönster", + "repeater_nextCommand": "Nästa kommando", + "repeater_enterCommandFirst": "Ange en kommando först", + "repeater_cliCommandFrameTitle": "Kommandofönster", "repeater_cliCommandError": "Fel: {error}", "@repeater_cliCommandError": { "placeholders": { @@ -1109,80 +1109,80 @@ } } }, - "repeater_cliQuickGetName": "Hämta namn", - "repeater_cliQuickGetRadio": "Få Radio", - "repeater_cliQuickGetTx": "Hämta TX", + "repeater_cliQuickGetName": "Hämta namn", + "repeater_cliQuickGetRadio": "FÃ¥ Radio", + "repeater_cliQuickGetTx": "Hämta TX", "repeater_cliQuickNeighbors": "Grannar", "repeater_cliQuickVersion": "Version", "repeater_cliQuickAdvertise": "Annonsera", "repeater_cliQuickClock": "Klocka", "repeater_cliHelpAdvert": "Skickar ett annonspaket", - "repeater_cliHelpReboot": "Startar om enheten. (notera, du får kanske 'Timeout' vilket är normalt)", + "repeater_cliHelpReboot": "Startar om enheten. (notera, du fÃ¥r kanske 'Timeout' vilket är normalt)", "repeater_cliHelpClock": "Visar aktuell tid per enhetens klocka.", - "repeater_cliHelpPassword": "Ställer in ett nytt administratörslösenord för enheten.", + "repeater_cliHelpPassword": "Ställer in ett nytt administratörslösenord för enheten.", "repeater_cliHelpVersion": "Visar enhetsversion och firmwarebyggnadsdatum.", - "repeater_cliHelpClearStats": "Återställer olika statistikräknare till noll.", - "repeater_cliHelpSetAf": "Ställer in lufttidsfaktor.", - "repeater_cliHelpSetTx": "Ställer LoRa-sändningseffekten i dBm. (starta om för att tillämpa)", - "repeater_cliHelpSetRepeat": "Aktiverar eller inaktiverar återuppspelarens roll för denna nod.", - "repeater_cliHelpSetAllowReadOnly": "(Rumserver) Om 'på', så tillåts login med tomt lösenord, men kan inte Posta till rummet. (bara läsa).", - "repeater_cliHelpSetFloodMax": "Ställer in det maximala antalet hopp för inkommande översvämning (om >= max, skickas inte paketet).", - "repeater_cliHelpSetIntThresh": "Ställer Interferensgränsen (i dB). Standardvärdet är 14. Ställ in den på 0 för att inaktivera detektion av kanalinterferens.", - "repeater_cliHelpSetAgcResetInterval": "Ställer in intervallet för att återställa Auto Gain-kontrollen. Ställ in till 0 för att inaktivera.", + "repeater_cliHelpClearStats": "Ã…terställer olika statistikräknare till noll.", + "repeater_cliHelpSetAf": "Ställer in lufttidsfaktor.", + "repeater_cliHelpSetTx": "Ställer LoRa-sändningseffekten i dBm. (starta om för att tillämpa)", + "repeater_cliHelpSetRepeat": "Aktiverar eller inaktiverar Ã¥teruppspelarens roll för denna nod.", + "repeater_cliHelpSetAllowReadOnly": "(Rumserver) Om 'pÃ¥', sÃ¥ tillÃ¥ts login med tomt lösenord, men kan inte Posta till rummet. (bara läsa).", + "repeater_cliHelpSetFloodMax": "Ställer in det maximala antalet hopp för inkommande översvämning (om >= max, skickas inte paketet).", + "repeater_cliHelpSetIntThresh": "Ställer Interferensgränsen (i dB). Standardvärdet är 14. Ställ in den pÃ¥ 0 för att inaktivera detektion av kanalinterferens.", + "repeater_cliHelpSetAgcResetInterval": "Ställer in intervallet för att Ã¥terställa Auto Gain-kontrollen. Ställ in till 0 för att inaktivera.", "repeater_cliHelpSetMultiAcks": "Aktiverar eller inaktiverar funktionen 'dubbla ACKs'.", - "repeater_cliHelpSetAdvertInterval": "Ställer in tidsintervallen i minuter för att skicka ett lokalt (utan-hopp) annonseringspaket. Ställs till 0 för att inaktivera.", - "repeater_cliHelpSetFloodAdvertInterval": "Ställer in tidsintervallen i timmar för att skicka ett flödesannonspaket. Ställ in på 0 för att inaktivera.", - "repeater_cliHelpSetGuestPassword": "Ställer in/uppdaterar gästlösenordet. (för återvändare kan gästloggar skicka \"Get Stats\"-förfrågan)", - "repeater_cliHelpSetName": "Ställer in annonstexterna namn.", - "repeater_cliHelpSetLat": "Ställer in annonskartans latitud. (decimalgrader)", - "repeater_cliHelpSetLon": "Ställer in annonskartans longitud (decimalgrader).", - "repeater_cliHelpSetRadio": "Ställer helt nya radioparametrar och sparar dem i inställningar. Kräver en \"omstart\" för att tillämpa.", - "repeater_cliHelpSetRxDelay": "Ställer (experimentell) basvärde (måste vara > 1 för effekt) för att applicera en liten fördröjning på mottagna paket, baserat på signalstyrka/poäng. Ställ in på 0 för att inaktivera.", - "repeater_cliHelpSetTxDelay": "Ställer in en faktor som multipliceras med tid på luft för en översvämningsläge-paket och med ett slumpmässigt slot-system för att fördröja dess vidarebefordran (för att minska risken för kollisioner).", - "repeater_cliHelpSetDirectTxDelay": "Samma som txdelay, men för att applicera en slumpmässig fördröjning vid vidarebefordran av direktlägespaket.", + "repeater_cliHelpSetAdvertInterval": "Ställer in tidsintervallen i minuter för att skicka ett lokalt (utan-hopp) annonseringspaket. Ställs till 0 för att inaktivera.", + "repeater_cliHelpSetFloodAdvertInterval": "Ställer in tidsintervallen i timmar för att skicka ett flödesannonspaket. Ställ in pÃ¥ 0 för att inaktivera.", + "repeater_cliHelpSetGuestPassword": "Ställer in/uppdaterar gästlösenordet. (för Ã¥tervändare kan gästloggar skicka \"Get Stats\"-förfrÃ¥gan)", + "repeater_cliHelpSetName": "Ställer in annonstexterna namn.", + "repeater_cliHelpSetLat": "Ställer in annonskartans latitud. (decimalgrader)", + "repeater_cliHelpSetLon": "Ställer in annonskartans longitud (decimalgrader).", + "repeater_cliHelpSetRadio": "Ställer helt nya radioparametrar och sparar dem i inställningar. Kräver en \"omstart\" för att tillämpa.", + "repeater_cliHelpSetRxDelay": "Ställer (experimentell) basvärde (mÃ¥ste vara > 1 för effekt) för att applicera en liten fördröjning pÃ¥ mottagna paket, baserat pÃ¥ signalstyrka/poäng. Ställ in pÃ¥ 0 för att inaktivera.", + "repeater_cliHelpSetTxDelay": "Ställer in en faktor som multipliceras med tid pÃ¥ luft för en översvämningsläge-paket och med ett slumpmässigt slot-system för att fördröja dess vidarebefordran (för att minska risken för kollisioner).", + "repeater_cliHelpSetDirectTxDelay": "Samma som txdelay, men för att applicera en slumpmässig fördröjning vid vidarebefordran av direktlägespaket.", "repeater_cliHelpSetBridgeEnabled": "Aktivera/Inaktivera brygga.", - "repeater_cliHelpSetBridgeDelay": "Ställ in fördröjning innan paket åter sänder.", - "repeater_cliHelpSetBridgeSource": "Välj om bron ska återända mottagna paket eller sända paket.", - "repeater_cliHelpSetBridgeBaud": "Ställ baudgränsen för rs232-bryggarna.", - "repeater_cliHelpSetBridgeSecret": "Ställ bro-hemlighet för espnow-broar.", - "repeater_cliHelpSetAdcMultiplier": "Ställer in anpassad faktor för att justera rapporterad batterispänning (endast stödd på utvalda kort).", - "repeater_cliHelpTempRadio": "Ställer temporära radioparametrar för det angivna antalet minuter, vilket återgår till de ursprungliga radioparametrarna efteråt. (sparar inte i inställningar).", - "repeater_cliHelpSetPerm": "Modifierar ACL. Tar bort matchande post (genom pubkey-prefiks) om \"permissions\" är noll. Lägger till ny post om pubkey-hex är full längd och inte redan finns i ACL. Uppdaterar posten genom matchande pubkey-prefiks. Tillståndsbiten varierar per firmware-roll, men de låga 2 bitarna är: 0 (Gäst), 1 (endast läsa), 2 (läs- och skrivskydd), 3 (administratör).", - "repeater_cliHelpGetBridgeType": "Får brotyperna ingen, rs232, espnow", + "repeater_cliHelpSetBridgeDelay": "Ställ in fördröjning innan paket Ã¥ter sänder.", + "repeater_cliHelpSetBridgeSource": "Välj om bron ska Ã¥terända mottagna paket eller sända paket.", + "repeater_cliHelpSetBridgeBaud": "Ställ baudgränsen för rs232-bryggarna.", + "repeater_cliHelpSetBridgeSecret": "Ställ bro-hemlighet för espnow-broar.", + "repeater_cliHelpSetAdcMultiplier": "Ställer in anpassad faktor för att justera rapporterad batterispänning (endast stödd pÃ¥ utvalda kort).", + "repeater_cliHelpTempRadio": "Ställer temporära radioparametrar för det angivna antalet minuter, vilket Ã¥tergÃ¥r till de ursprungliga radioparametrarna efterÃ¥t. (sparar inte i inställningar).", + "repeater_cliHelpSetPerm": "Modifierar ACL. Tar bort matchande post (genom pubkey-prefiks) om \"permissions\" är noll. Lägger till ny post om pubkey-hex är full längd och inte redan finns i ACL. Uppdaterar posten genom matchande pubkey-prefiks. TillstÃ¥ndsbiten varierar per firmware-roll, men de lÃ¥ga 2 bitarna är: 0 (Gäst), 1 (endast läsa), 2 (läs- och skrivskydd), 3 (administratör).", + "repeater_cliHelpGetBridgeType": "FÃ¥r brotyperna ingen, rs232, espnow", "repeater_cliHelpLogStart": "Starta paketloggning till filsystem.", "repeater_cliHelpLogStop": "Stoppar paketloggning till filsystem.", - "repeater_cliHelpLogErase": "Raderar pakets loggar från filsystemet.", - "repeater_cliHelpNeighbors": "Visar en lista över andra repeaternoder som hörts via noll-hop-annonser. Varje rad är id-prefix-hex:tidsstämpel:snr-g撮-4", - "repeater_cliHelpNeighborRemove": "Tar bort det första matchande inlägget (genom pubkey-prefiks (hex)) från grannlistan.", - "repeater_cliHelpRegion": "(Serien endast) Listar alla definierade regioner och aktuella översvämningsbehörigheter.", - "repeater_cliHelpRegionLoad": "MEDDELANDE: detta är ett specialkommando med flera kommandon. Varje efterföljande kommando är ett regionsnamn (indenterat med blanksteg för att indikera en hierarkisk relation, med minst ett blanksteg). Avslutas genom att skicka en tom rad/kommando.", - "repeater_cliHelpRegionGet": "Söker efter region med given namnprefiks (eller \"\" för det globala scopet). Svarar med \"-> regionnamn (föräldernamn) 'F'\"", - "repeater_cliHelpRegionPut": "Lägger till eller uppdaterar en regionsdefinition med det angivna namnet.", - "repeater_cliHelpRegionRemove": "Tar bort en regionsdefinition med det angivna namnet. (måste matcha exakt och inte ha några barnregioner)", - "repeater_cliHelpRegionAllowf": "Ställer 'Flöde'-behörighet för det angivna området. ('' för det globala/gamla scopet)", - "repeater_cliHelpRegionDenyf": "Tar bort 'F'lood-behörigheten för det angivna området. (OBS: rekommenderas inte att använda detta i detta skede på den globala/gamla omfattningen!!).", - "repeater_cliHelpRegionHome": "Svarar med den aktuella 'hem'-regionen. (Notera att detta ännu inte har tillämpats, reserverat för framtida användning).", - "repeater_cliHelpRegionHomeSet": "Ställer in 'hemregionen'.", + "repeater_cliHelpLogErase": "Raderar pakets loggar frÃ¥n filsystemet.", + "repeater_cliHelpNeighbors": "Visar en lista över andra repeaternoder som hörts via noll-hop-annonser. Varje rad är id-prefix-hex:tidsstämpel:snr-gæ’®-4", + "repeater_cliHelpNeighborRemove": "Tar bort det första matchande inlägget (genom pubkey-prefiks (hex)) frÃ¥n grannlistan.", + "repeater_cliHelpRegion": "(Serien endast) Listar alla definierade regioner och aktuella översvämningsbehörigheter.", + "repeater_cliHelpRegionLoad": "MEDDELANDE: detta är ett specialkommando med flera kommandon. Varje efterföljande kommando är ett regionsnamn (indenterat med blanksteg för att indikera en hierarkisk relation, med minst ett blanksteg). Avslutas genom att skicka en tom rad/kommando.", + "repeater_cliHelpRegionGet": "Söker efter region med given namnprefiks (eller \"\" för det globala scopet). Svarar med \"-> regionnamn (föräldernamn) 'F'\"", + "repeater_cliHelpRegionPut": "Lägger till eller uppdaterar en regionsdefinition med det angivna namnet.", + "repeater_cliHelpRegionRemove": "Tar bort en regionsdefinition med det angivna namnet. (mÃ¥ste matcha exakt och inte ha nÃ¥gra barnregioner)", + "repeater_cliHelpRegionAllowf": "Ställer 'Flöde'-behörighet för det angivna omrÃ¥det. ('' för det globala/gamla scopet)", + "repeater_cliHelpRegionDenyf": "Tar bort 'F'lood-behörigheten för det angivna omrÃ¥det. (OBS: rekommenderas inte att använda detta i detta skede pÃ¥ den globala/gamla omfattningen!!).", + "repeater_cliHelpRegionHome": "Svarar med den aktuella 'hem'-regionen. (Notera att detta ännu inte har tillämpats, reserverat för framtida användning).", + "repeater_cliHelpRegionHomeSet": "Ställer in 'hemregionen'.", "repeater_cliHelpRegionSave": "Sparar regionlistan/kartan till lagring.", - "repeater_cliHelpGps": "Visar GPS-status. Om GPS är avstängd svarar den endast med \"av\", annars svarar den med \"på\", status, fix, antal satelliter.", - "repeater_cliHelpGpsOnOff": "Aktiverar/inaktiverar GPS-strömsättningen.", - "repeater_cliHelpGpsSync": "Synkroniserar nätverks tid med GPS-klockan.", - "repeater_cliHelpGpsSetLoc": "Ställer nodens position till GPS-koordinater och sparar inställningar.", - "repeater_cliHelpGpsAdvert": "Ger platsannonskonfigurationen för noden:\n- ingen: inkludera inte plats i annonser\n- dela: dela gps-plats (från SensorManager)\n- inställningar: annonsera platsen som sparats i inställningar", - "repeater_cliHelpGpsAdvertSet": "Ställer in annonsplatskonfiguration.", - "repeater_commandsListTitle": "Inställningslista", - "repeater_commandsListNote": "OBS: för de olika \"set ...\" -kommandon finns det även ett \"get ...\" -kommando.", - "repeater_general": "Allmänt", - "repeater_settingsCategory": "Inställningar", + "repeater_cliHelpGps": "Visar GPS-status. Om GPS är avstängd svarar den endast med \"av\", annars svarar den med \"pÃ¥\", status, fix, antal satelliter.", + "repeater_cliHelpGpsOnOff": "Aktiverar/inaktiverar GPS-strömsättningen.", + "repeater_cliHelpGpsSync": "Synkroniserar nätverks tid med GPS-klockan.", + "repeater_cliHelpGpsSetLoc": "Ställer nodens position till GPS-koordinater och sparar inställningar.", + "repeater_cliHelpGpsAdvert": "Ger platsannonskonfigurationen för noden:\n- ingen: inkludera inte plats i annonser\n- dela: dela gps-plats (frÃ¥n SensorManager)\n- inställningar: annonsera platsen som sparats i inställningar", + "repeater_cliHelpGpsAdvertSet": "Ställer in annonsplatskonfiguration.", + "repeater_commandsListTitle": "Inställningslista", + "repeater_commandsListNote": "OBS: för de olika \"set ...\" -kommandon finns det även ett \"get ...\" -kommando.", + "repeater_general": "Allmänt", + "repeater_settingsCategory": "Inställningar", "repeater_bridge": "Bro", "repeater_logging": "Logga", - "repeater_neighborsRepeaterOnly": "Grannar (Endast återspelare)", - "repeater_regionManagementRepeaterOnly": "Regionhantering (endast återuppspelare)", - "repeater_regionNote": "Regionkommandon har införts för att hantera regiondefinitioner och behörigheter.", + "repeater_neighborsRepeaterOnly": "Grannar (Endast Ã¥terspelare)", + "repeater_regionManagementRepeaterOnly": "Regionhantering (endast Ã¥teruppspelare)", + "repeater_regionNote": "Regionkommandon har införts för att hantera regiondefinitioner och behörigheter.", "repeater_gpsManagement": "GPS Hantering", - "repeater_gpsNote": "GPS-kommando har introducerats för att hantera platsrelaterade ämnen.", + "repeater_gpsNote": "GPS-kommando har introducerats för att hantera platsrelaterade ämnen.", "telemetry_receivedData": "Mottagen Telemetridata", - "telemetry_requestTimeout": "Telemetryförfrågan gick ut.", + "telemetry_requestTimeout": "TelemetryförfrÃ¥gan gick ut.", "telemetry_errorLoading": "Fel vid laddning av telemetri: {error}", "@telemetry_errorLoading": { "placeholders": { @@ -1191,7 +1191,7 @@ } } }, - "telemetry_noData": "Inga telemetridata tillgängliga.", + "telemetry_noData": "Inga telemetridata tillgängliga.", "telemetry_channelTitle": "Kanal {channel}", "@telemetry_channelTitle": { "placeholders": { @@ -1201,7 +1201,7 @@ } }, "telemetry_batteryLabel": "Batteri", - "telemetry_voltageLabel": "Spänning", + "telemetry_voltageLabel": "Spänning", "telemetry_mcuTemperatureLabel": "MCU Temperatur", "telemetry_temperatureLabel": "Temperatur", "telemetry_currentLabel": "Aktuell", @@ -1232,7 +1232,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1243,18 +1243,18 @@ } } }, - "channelPath_title": "Paketväg", + "channelPath_title": "Paketväg", "channelPath_viewMap": "Visa karta", - "channelPath_otherObservedPaths": "Övriga observerade stigar", - "channelPath_repeaterHops": "Återupptagningssteg", - "channelPath_noHopDetails": "Detaljer för denna paket är inte angivna.", + "channelPath_otherObservedPaths": "Övriga observerade stigar", + "channelPath_repeaterHops": "Ã…terupptagningssteg", + "channelPath_noHopDetails": "Detaljer för denna paket är inte angivna.", "channelPath_messageDetails": "Meddelandets detaljer", - "channelPath_senderLabel": "Avsändare", + "channelPath_senderLabel": "Avsändare", "channelPath_timeLabel": "Tid", "channelPath_repeatsLabel": "Upprepa", - "channelPath_pathLabel": "Sökväg {index}", + "channelPath_pathLabel": "Sökväg {index}", "channelPath_observedLabel": "Observerat", - "channelPath_observedPathTitle": "Observerad bana {index} • {hops}", + "channelPath_observedPathTitle": "Observerad bana {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1288,8 +1288,8 @@ } } }, - "channelPath_unknownPath": "Okänt", - "channelPath_floodPath": "Översvämning", + "channelPath_unknownPath": "Okänt", + "channelPath_floodPath": "Översvämning", "channelPath_directPath": "Direkt", "channelPath_observedZeroOf": "0 av {total} hopp", "@channelPath_observedZeroOf": { @@ -1310,9 +1310,9 @@ } } }, - "channelPath_mapTitle": "Sökvägskarta", - "channelPath_noRepeaterLocations": "Inga återupprepningsplatser finns tillgängliga för denna väg.", - "channelPath_primaryPath": "Sökväg {index} (Primär)", + "channelPath_mapTitle": "Sökvägskarta", + "channelPath_noRepeaterLocations": "Inga Ã¥terupprepningsplatser finns tillgängliga för denna väg.", + "channelPath_primaryPath": "Sökväg {index} (Primär)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1327,9 +1327,9 @@ } } }, - "channelPath_pathLabelTitle": "Sökväg", - "channelPath_observedPathHeader": "Observerad Sökväg", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_pathLabelTitle": "Sökväg", + "channelPath_observedPathHeader": "Observerad Sökväg", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1340,19 +1340,19 @@ } } }, - "channelPath_noHopDetailsAvailable": "Inga hoppdetaljer finns tillgängliga för detta paket.", - "channelPath_unknownRepeater": "Okänt Upprepare", + "channelPath_noHopDetailsAvailable": "Inga hoppdetaljer finns tillgängliga för detta paket.", + "channelPath_unknownRepeater": "Okänt Upprepare", "listFilter_tooltip": "Filtrera och sortera", "listFilter_sortBy": "Sortera efter", "listFilter_latestMessages": "Senaste meddelanden", - "listFilter_heardRecently": "Hörts nyligen", + "listFilter_heardRecently": "Hörts nyligen", "listFilter_az": "A-Z", "listFilter_filters": "Filteralternativ", "listFilter_all": "Alla", - "listFilter_users": "Användare", + "listFilter_users": "Användare", "listFilter_repeaters": "Upprepare", "listFilter_roomServers": "Rumservrar", - "listFilter_unreadOnly": "Endast oinlästa", + "listFilter_unreadOnly": "Endast oinlästa", "listFilter_newGroup": "Ny grupp", "@neighbors_errorLoading": { "placeholders": { @@ -1364,18 +1364,18 @@ "repeater_neighbors": "Grannar", "repeater_neighborsSubtitle": "Visa noll hoppgrannar.", "neighbors_receivedData": "Mottagna grannars data", - "neighbors_requestTimedOut": "Grannar begär tidsinställd utskick.", - "neighbors_errorLoading": "Fel vid inläsning av grannar: {error}", + "neighbors_requestTimedOut": "Grannar begär tidsinställd utskick.", + "neighbors_errorLoading": "Fel vid inläsning av grannar: {error}", "neighbors_repeatersNeighbors": "Upprepar grannar", - "neighbors_noData": "Inga grannuppgifter finns tillgängliga.", + "neighbors_noData": "Inga grannuppgifter finns tillgängliga.", "channels_createPrivateChannel": "Skapa en privat kanal", - "channels_joinPrivateChannel": "Gå med i en Privat Kanal", + "channels_joinPrivateChannel": "GÃ¥ med i en Privat Kanal", "channels_joinPrivateChannelDesc": "Ange en hemlig nyckel manuellt.", "channels_createPrivateChannelDesc": "Skyddat med en hemlig nyckel.", - "channels_joinPublicChannel": "Gå med i den Offentliga Kanalen", - "channels_joinPublicChannelDesc": "Vem som helst kan gå med i denna kanal.", - "channels_joinHashtagChannel": "Gå med i en Hashtagkanal", - "channels_joinHashtagChannelDesc": "Väldigt enkelt att gå med i hashtag-kanaler.", + "channels_joinPublicChannel": "GÃ¥ med i den Offentliga Kanalen", + "channels_joinPublicChannelDesc": "Vem som helst kan gÃ¥ med i denna kanal.", + "channels_joinHashtagChannel": "GÃ¥ med i en Hashtagkanal", + "channels_joinHashtagChannelDesc": "Väldigt enkelt att gÃ¥ med i hashtag-kanaler.", "channels_scanQrCode": "Skanna en QR-kod", "channels_scanQrCodeComingSoon": "Kommer snart", "channels_enterHashtag": "Ange hashtag", @@ -1394,12 +1394,12 @@ } } }, - "neighbors_heardAgo": "Hördes: {time} sedan", - "neighbors_unknownContact": "Okänd {pubkey}", + "neighbors_heardAgo": "Hördes: {time} sedan", + "neighbors_unknownContact": "Okänd {pubkey}", "settings_locationGPSEnable": "Aktivera GPS", - "settings_locationGPSEnableSubtitle": "Aktivera automatiska uppdateringar av platsen med hjälp av GPS.", - "settings_locationIntervalSec": "Interval för GPS (Sekunder)", - "settings_locationIntervalInvalid": "Intervalet måste vara minst 60 sekunder och mindre än 86400 sekunder.", + "settings_locationGPSEnableSubtitle": "Aktivera automatiska uppdateringar av platsen med hjälp av GPS.", + "settings_locationIntervalSec": "Interval för GPS (Sekunder)", + "settings_locationIntervalInvalid": "Intervalet mÃ¥ste vara minst 60 sekunder och mindre än 86400 sekunder.", "contacts_manageRoom": "Hantera Rumserver", "room_management": "Rumserverhantering", "@community_joinConfirmation": { @@ -1462,32 +1462,32 @@ "community_createDesc": "Skapa en ny gemenskap och dela via QR-kod.", "common_ok": "Okej", "community_title": "Gemenskap", - "community_join": "Gå med", - "community_joinTitle": "Gå med i gemenskapen", - "community_joinConfirmation": "Vill du gå med i communityn \"{name}\"?", + "community_join": "GÃ¥ med", + "community_joinTitle": "GÃ¥ med i gemenskapen", + "community_joinConfirmation": "Vill du gÃ¥ med i communityn \"{name}\"?", "community_scanQr": "Skanna Gemenskapens QR", "community_scanInstructions": "Rikta kameran mot en QR-kod i communityn", "community_showQr": "Visa QR-kod", - "community_publicChannel": "Föreningens Offentliga", + "community_publicChannel": "Föreningens Offentliga", "community_name": "Gemenskapens namn", "community_enterName": "Ange communities namn", "community_created": "Community \"{name}\" har skapats", "community_joined": "Medlem i communityn \"{name}\"", "community_qrTitle": "Dela Gemenskap", - "community_qrInstructions": "Skanna denna QR-kod för att gå med i \"{name}\"", - "community_hashtagPrivacyHint": "Community-hashtagkanaler kan endast nås av medlemmar i communityn", + "community_qrInstructions": "Skanna denna QR-kod för att gÃ¥ med i \"{name}\"", + "community_hashtagPrivacyHint": "Community-hashtagkanaler kan endast nÃ¥s av medlemmar i communityn", "community_hashtagChannel": "Community Hashtag", "community_invalidQrCode": "Ogiltig community QR-kod", - "community_alreadyMember": "Är redan medlem", - "community_alreadyMemberMessage": "Du är redan medlem av \"{name}\".", - "community_addPublicChannel": "Lägg till Gemenskapskanal (Offentlig)", - "community_addPublicChannelHint": "Lägg automatiskt till den offentliga kanalen för denna community", - "community_noCommunities": "Inga gemenskaper har anslutats ännu", - "community_scanOrCreate": "Skanna en QR-kod eller skapa en community för att komma igång", + "community_alreadyMember": "Är redan medlem", + "community_alreadyMemberMessage": "Du är redan medlem av \"{name}\".", + "community_addPublicChannel": "Lägg till Gemenskapskanal (Offentlig)", + "community_addPublicChannelHint": "Lägg automatiskt till den offentliga kanalen för denna community", + "community_noCommunities": "Inga gemenskaper har anslutats ännu", + "community_scanOrCreate": "Skanna en QR-kod eller skapa en community för att komma igÃ¥ng", "community_manageCommunities": "Hantera Gemenskaper", - "community_delete": "Lämna Gemenskap", - "community_deleteConfirm": "Lämna \"{name}\"?", - "community_deleteChannelsWarning": "Detta kommer också att radera {count} kanal/kanaler och deras meddelanden.", + "community_delete": "Lämna Gemenskap", + "community_deleteConfirm": "Lämna \"{name}\"?", + "community_deleteChannelsWarning": "Detta kommer ocksÃ¥ att radera {count} kanal/kanaler och deras meddelanden.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1495,14 +1495,14 @@ } } }, - "community_deleted": "Lämnade community \"{name}\"", - "community_addHashtagChannel": "Lägg till Gemenskapens Hashtag", - "community_addHashtagChannelDesc": "Lägg till en hashtag-kanal för denna community", - "community_selectCommunity": "Välj Gemenskap", + "community_deleted": "Lämnade community \"{name}\"", + "community_addHashtagChannel": "Lägg till Gemenskapens Hashtag", + "community_addHashtagChannelDesc": "Lägg till en hashtag-kanal för denna community", + "community_selectCommunity": "Välj Gemenskap", "community_regularHashtag": "Vanlig Hash Tag", - "community_regularHashtagDesc": "Offentlig hashtag (alla kan gå med)", - "community_communityHashtagDesc": "Endast för medlemmar", - "community_forCommunity": "För {name}", + "community_regularHashtagDesc": "Offentlig hashtag (alla kan gÃ¥ med)", + "community_communityHashtagDesc": "Endast för medlemmar", + "community_forCommunity": "För {name}", "community_communityHashtag": "Community Hashtag", "@community_regenerateSecretConfirm": { "placeholders": { @@ -1533,11 +1533,11 @@ } }, "community_regenerate": "Regenerera", - "community_regenerateSecretConfirm": "Regenerera den hemliga nyckeln för \"{name}\"? Alla medlemmar måste scanna den nya QR-koden för att fortsätta kommunicera.", - "community_secretRegenerated": "Lösenord återskapad för \"{name}\"", + "community_regenerateSecretConfirm": "Regenerera den hemliga nyckeln för \"{name}\"? Alla medlemmar mÃ¥ste scanna den nya QR-koden för att fortsätta kommunicera.", + "community_secretRegenerated": "Lösenord Ã¥terskapad för \"{name}\"", "community_regenerateSecret": "Regenerera hemlig kod", - "community_scanToUpdateSecret": "Skanna den nya QR-koden för att uppdatera hemligheten för \"{name}\"", - "community_secretUpdated": "Hemlighet uppdaterad för \"{name}\"", + "community_scanToUpdateSecret": "Skanna den nya QR-koden för att uppdatera hemligheten för \"{name}\"", + "community_secretUpdated": "Hemlighet uppdaterad för \"{name}\"", "community_updateSecret": "Uppdatera hemlighet", "@contacts_pathTraceTo": { "placeholders": { @@ -1547,28 +1547,28 @@ } }, "pathTrace_you": "Du", - "pathTrace_failed": "Sökvägsföljning misslyckades.", - "pathTrace_notAvailable": "Path trace ej tillgänglig.", + "pathTrace_failed": "Sökvägsföljning misslyckades.", + "pathTrace_notAvailable": "Path trace ej tillgänglig.", "pathTrace_refreshTooltip": "Uppdatera Path Trace", "contacts_pathTrace": "Path Trace", "contacts_ping": "Ping", - "contacts_repeaterPathTrace": "Vägspårning till repeater", + "contacts_repeaterPathTrace": "VägspÃ¥rning till repeater", "contacts_repeaterPing": "Ping-repeater", - "contacts_roomPathTrace": "Vägspårning till rumserver", + "contacts_roomPathTrace": "VägspÃ¥rning till rumserver", "contacts_roomPing": "Ping rumsserver", - "contacts_chatTraceRoute": "Spåra rutt", - "contacts_pathTraceTo": "Spåra rutt till {name}", - "contacts_clipboardEmpty": "Urklipp är tomt.", + "contacts_chatTraceRoute": "SpÃ¥ra rutt", + "contacts_pathTraceTo": "SpÃ¥ra rutt till {name}", + "contacts_clipboardEmpty": "Urklipp är tomt.", "appSettings_languageRu": "Ryska", "contacts_contactImportFailed": "Kontakt kunde inte importeras.", "contacts_zeroHopAdvert": "Reklam med nollhopp", - "contacts_floodAdvert": "Översvämningsannons", + "contacts_floodAdvert": "Översvämningsannons", "contacts_copyAdvertToClipboard": "Kopiera annons till urklipp", "contacts_invalidAdvertFormat": "Ogiltiga kontaktuppgifter", "appSettings_languageUk": "Ukrainska", - "appSettings_enableMessageTracing": "Aktivera meddelandespårning", - "appSettings_enableMessageTracingSubtitle": "Visa detaljerade metadata om dirigering och tidsinställningar för meddelanden", - "contacts_addContactFromClipboard": "Lägg till kontakt från urklipp", + "appSettings_enableMessageTracing": "Aktivera meddelandespÃ¥rning", + "appSettings_enableMessageTracingSubtitle": "Visa detaljerade metadata om dirigering och tidsinställningar för meddelanden", + "contacts_addContactFromClipboard": "Lägg till kontakt frÃ¥n urklipp", "contacts_contactImported": "Kontakt har importerats.", "contacts_zeroHopContactAdvertSent": "Skickat kontakt via annons.", "contacts_contactAdvertCopied": "Annons kopierad till Urklipp.", @@ -1580,47 +1580,47 @@ "notification_messagesCount": "{count} {count, plural, =1{meddelande} other{meddelanden}}", "notification_channelMessagesCount": "{count} {count, plural, =1{kanalmeddelande} other{kanalmeddelanden}}", "notification_newNodesCount": "{count} {count, plural, =1{ny nod} other{nya noder}}", - "notification_newTypeDiscovered": "Ny {contactType} upptäckt", + "notification_newTypeDiscovered": "Ny {contactType} upptäckt", "notification_receivedNewMessage": "Nytt meddelande mottaget", "settings_gpxExportAll": "Exportera alla kontakter till GPX", "settings_gpxExportRepeatersSubtitle": "Exporterar repeater / roomserver med plats till GPX-fil.", - "settings_gpxExportSuccess": "Har exporterat GPX-fil med framgång", + "settings_gpxExportSuccess": "Har exporterat GPX-fil med framgÃ¥ng", "settings_gpxExportNoContacts": "Inga kontakter att exportera.", - "settings_gpxExportNotAvailable": "Stöds inte på din enhet/operativsystem", + "settings_gpxExportNotAvailable": "Stöds inte pÃ¥ din enhet/operativsystem", "settings_gpxExportRepeatersRoom": "Repeater- och rumsserverplatser", "settings_gpxExportRepeaters": "Exportera repeater / rumsservrar till GPX", "settings_gpxExportAllSubtitle": "Exporterar alla kontakter med en plats till GPX-fil.", - "settings_gpxExportContacts": "Exportera följeslagare till GPX", - "settings_gpxExportContactsSubtitle": "Exporterar följeslagare med en plats till GPX-fil.", - "settings_gpxExportChat": "Medhjälparplatser", - "settings_gpxExportError": "Det uppstod ett fel när data exporterades.", + "settings_gpxExportContacts": "Exportera följeslagare till GPX", + "settings_gpxExportContactsSubtitle": "Exporterar följeslagare med en plats till GPX-fil.", + "settings_gpxExportChat": "Medhjälparplatser", + "settings_gpxExportError": "Det uppstod ett fel när data exporterades.", "settings_gpxExportAllContacts": "Alla kontakters platser", "settings_gpxExportShareSubject": "meshcore-open export av GPX-kartdata", - "settings_gpxExportShareText": "Kartdata exporterad från meshcore-open", + "settings_gpxExportShareText": "Kartdata exporterad frÃ¥n meshcore-open", "pathTrace_someHopsNoLocation": "En eller flera av humlen saknar en plats!", - "pathTrace_clearTooltip": "Rensa väg", - "map_pathTraceCancelled": "Sökvägsspårning avbruten.", - "map_runTrace": "Kör spårsökning", - "map_tapToAdd": "Tryck på noder för att lägga till dem i banan.", + "pathTrace_clearTooltip": "Rensa väg", + "map_pathTraceCancelled": "SökvägsspÃ¥rning avbruten.", + "map_runTrace": "Kör spÃ¥rsökning", + "map_tapToAdd": "Tryck pÃ¥ noder för att lägga till dem i banan.", "map_removeLast": "Ta bort sista", "scanner_enableBluetooth": "Aktivera Bluetooth", - "scanner_bluetoothOffMessage": "Vänligen aktivera Bluetooth för att söka efter enheter.", - "scanner_chromeRequired": "Chrome-webbläsare krävs", - "scanner_chromeRequiredMessage": "Denna webbapplikation kräver Google Chrome oder en Chromium-baserader webbläsare för Bluetooth-stöd.", - "scanner_bluetoothOff": "Bluetooth är avstängt", + "scanner_bluetoothOffMessage": "Vänligen aktivera Bluetooth för att söka efter enheter.", + "scanner_chromeRequired": "Chrome-webbläsare krävs", + "scanner_chromeRequiredMessage": "Denna webbapplikation kräver Google Chrome oder en Chromium-baserader webbläsare för Bluetooth-stöd.", + "scanner_bluetoothOff": "Bluetooth är avstängt", "snrIndicator_lastSeen": "Senast sedd", - "snrIndicator_nearByRepeaters": "Närliggande uppreparstationer", - "chat_ShowAllPaths": "Visa alla vägar", - "settings_clientRepeatSubtitle": "Låt enheten repetera nätpaket för andra användare.", - "settings_clientRepeat": "Upprepa utan elnät", - "settings_clientRepeatFreqWarning": "För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz.", - "settings_aboutOpenMeteoAttribution": "LOS-höjddata: Open-Meteo (CC BY 4.0)", + "snrIndicator_nearByRepeaters": "Närliggande uppreparstationer", + "chat_ShowAllPaths": "Visa alla vägar", + "settings_clientRepeatSubtitle": "LÃ¥t enheten repetera nätpaket för andra användare.", + "settings_clientRepeat": "Upprepa utan elnät", + "settings_clientRepeatFreqWarning": "För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz.", + "settings_aboutOpenMeteoAttribution": "LOS-höjddata: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Enheter", "appSettings_unitsMetric": "Metriskt (m/km)", "appSettings_unitsImperial": "Imperialt (ft / mi)", "map_lineOfSight": "Synlinje", "map_losScreenTitle": "Synlinje", - "losSelectStartEnd": "Välj start- och slutnoder för LOS.", + "losSelectStartEnd": "Välj start- och slutnoder för LOS.", "losRunFailed": "Synlinjekontroll misslyckades: {error}", "@losRunFailed": { "placeholders": { @@ -1630,11 +1630,11 @@ } }, "losClearAllPoints": "Rensa alla punkter", - "losRunToViewElevationProfile": "Kör LOS för att se höjdprofil", + "losRunToViewElevationProfile": "Kör LOS för att se höjdprofil", "losMenuTitle": "LOS-menyn", - "losMenuSubtitle": "Tryck på noder eller tryck länge på kartan för anpassade punkter", + "losMenuSubtitle": "Tryck pÃ¥ noder eller tryck länge pÃ¥ kartan för anpassade punkter", "losShowDisplayNodes": "Visa displaynoder", - "losCustomPoints": "Anpassade poäng", + "losCustomPoints": "Anpassade poäng", "losCustomPointLabel": "Anpassad {index}", "@losCustomPointLabel": { "placeholders": { @@ -1667,8 +1667,8 @@ } } }, - "losRun": "Kör LOS", - "losNoElevationData": "Inga höjddata", + "losRun": "Kör LOS", + "losNoElevationData": "Inga höjddata", "losProfileClear": "{distance} {distanceUnit}, rensa LOS, min clearance {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { @@ -1705,7 +1705,7 @@ }, "losStatusChecking": "LOS: kollar...", "losStatusNoData": "LOS: inga data", - "losStatusSummary": "LOS: {clear}/{total} rensa, {blocked} blockerad, {unknown} okänd", + "losStatusSummary": "LOS: {clear}/{total} rensa, {blocked} blockerad, {unknown} okänd", "@losStatusSummary": { "placeholders": { "clear": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Höjddata är inte tillgänglig för ett eller flera prover.", - "losErrorInvalidInput": "Ogiltiga poäng/höjddata för LOS-beräkning.", - "losRenameCustomPoint": "Byt namn på anpassad punkt", + "losErrorElevationUnavailable": "Höjddata är inte tillgänglig för ett eller flera prover.", + "losErrorInvalidInput": "Ogiltiga poäng/höjddata för LOS-beräkning.", + "losRenameCustomPoint": "Byt namn pÃ¥ anpassad punkt", "losPointName": "Punktnamn", "losShowPanelTooltip": "Visa LOS-panelen", - "losHidePanelTooltip": "Dölj LOS-panelen", - "losElevationAttribution": "Höjddata: Open-Meteo (CC BY 4.0)", + "losHidePanelTooltip": "Dölj LOS-panelen", + "losElevationAttribution": "Höjddata: Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Radiohorisont", "losLegendLosBeam": "Siktlinje", - "losLegendTerrain": "Terräng", + "losLegendTerrain": "Terräng", "losFrequencyLabel": "Frekvens", - "losFrequencyInfoTooltip": "Visa detaljer om beräkningen", - "losFrequencyDialogTitle": "Beräkning av radiohorisonten", - "losFrequencyDialogDescription": "Med start från k={baselineK} vid {baselineFreq} MHz, justerar beräkningen k-faktorn för det aktuella {frequencyMHz} MHz-bandet, som definierar den böjda radiohorisonten.", + "losFrequencyInfoTooltip": "Visa detaljer om beräkningen", + "losFrequencyDialogTitle": "Beräkning av radiohorisonten", + "losFrequencyDialogDescription": "Med start frÃ¥n k={baselineK} vid {baselineFreq} MHz, justerar beräkningen k-faktorn för det aktuella {frequencyMHz} MHz-bandet, som definierar den böjda radiohorisonten.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,8 +1753,8 @@ } } }, - "listFilter_removeFromFavorites": "Ta bort från favoriter", - "listFilter_addToFavorites": "Lägg till i favoriter", + "listFilter_removeFromFavorites": "Ta bort frÃ¥n favoriter", + "listFilter_addToFavorites": "Lägg till i favoriter", "listFilter_favorites": "Favoriter", "@contacts_searchFavorites": { "placeholders": { @@ -1796,19 +1796,17 @@ } } }, - "contacts_unread": "Oläst", - "contacts_searchContactsNoNumber": "Sök kontakter...", - "contacts_searchRepeaters": "Sök {number}{str} upprepningsenheter...", - "contacts_searchFavorites": "Sök {number}{str} Favoriter...", - "contacts_searchUsers": "Sök {number}{str} användare...", - "contacts_searchRoomServers": "Sök {number}{str} Room-servrar...", + "contacts_unread": "Oläst", + "contacts_searchContactsNoNumber": "Sök kontakter...", + "contacts_searchRepeaters": "Sök {number}{str} upprepningsenheter...", + "contacts_searchFavorites": "Sök {number}{str} Favoriter...", + "contacts_searchUsers": "Sök {number}{str} användare...", + "contacts_searchRoomServers": "Sök {number}{str} Room-servrar...", "connectionChoiceUsbLabel": "USB", "connectionChoiceBluetoothLabel": "Bluetooth", - "connectionChoiceSubtitle": "Välj hur du vill komma åt din MeshCore-enhet.", - "connectionChoiceTitle": "Välj din anslutningsmetod", "usbScreenTitle": "Anslut via USB", - "usbScreenNote": "USB-seriell kommunikation är aktiv på kompatibla Android-enheter och datorplattformar.", - "usbScreenSubtitle": "Välj en detekterad seriell enhet och anslut direkt till din MeshCore-nod.", - "usbScreenStatus": "Välj en USB-enhet", + "usbScreenNote": "USB-seriell kommunikation är aktiv pÃ¥ kompatibla Android-enheter och datorplattformar.", + "usbScreenSubtitle": "Välj en detekterad seriell enhet och anslut direkt till din MeshCore-nod.", + "usbScreenStatus": "Välj en USB-enhet", "usbScreenEmptyState": "Inga USB-enheter hittades. Anslut en och uppdatera." } diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 5b0bde5..cc02c86 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "Не вдалося видалити канал \"{name}\"", +{ + "channels_channelDeleteFailed": "Не вдалося видалити канал \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -9,34 +9,34 @@ }, "@@locale": "uk", "appTitle": "MeshCore Open", - "nav_contacts": "Контакти", - "nav_channels": "Канали", - "nav_map": "Карта", - "common_cancel": "Скасувати", - "common_connect": "Підключити", - "common_unknownDevice": "Невідомий пристрій", - "common_save": "Зберегти", - "common_delete": "Видалити", - "common_close": "Закрити", - "common_edit": "Редагувати", - "common_add": "Додати", - "common_settings": "Налаштування", - "common_disconnect": "Відключити", - "common_connected": "Підключено", - "common_disconnected": "Відключено", - "common_create": "Створити", - "common_continue": "Продовжити", - "common_share": "Поділитися", - "common_copy": "Копіювати", - "common_retry": "Повторити", - "common_hide": "Приховати", - "common_remove": "Прибрати", - "common_enable": "Увімкнути", - "common_disable": "Вимкнути", - "common_reboot": "Перезавантажити", - "common_loading": "Завантаження...", - "common_notAvailable": "—", - "common_voltageValue": "{volts} В", + "nav_contacts": "Контакти", + "nav_channels": "Канали", + "nav_map": "Карта", + "common_cancel": "Скасувати", + "common_connect": "Підключити", + "common_unknownDevice": "Невідомий пристрій", + "common_save": "Зберегти", + "common_delete": "Видалити", + "common_close": "Закрити", + "common_edit": "Редагувати", + "common_add": "Додати", + "common_settings": "Налаштування", + "common_disconnect": "Відключити", + "common_connected": "Підключено", + "common_disconnected": "Відключено", + "common_create": "Створити", + "common_continue": "Продовжити", + "common_share": "Поділитися", + "common_copy": "Копіювати", + "common_retry": "Повторити", + "common_hide": "Приховати", + "common_remove": "Прибрати", + "common_enable": "Увімкнути", + "common_disable": "Вимкнути", + "common_reboot": "Перезавантажити", + "common_loading": "Завантаження...", + "common_notAvailable": "—", + "common_voltageValue": "{volts} Ð’", "@common_voltageValue": { "placeholders": { "volts": { @@ -53,11 +53,11 @@ } }, "scanner_title": "MeshCore Open", - "scanner_scanning": "Пошук пристроїв...", - "scanner_connecting": "Підключення...", - "scanner_disconnecting": "Відключення...", - "scanner_notConnected": "Не підключено", - "scanner_connectedTo": "Підключено до {deviceName}", + "scanner_scanning": "Пошук пристроїв...", + "scanner_connecting": "Підключення...", + "scanner_disconnecting": "Відключення...", + "scanner_notConnected": "Не підключено", + "scanner_connectedTo": "Підключено до {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -65,9 +65,9 @@ } } }, - "scanner_searchingDevices": "Пошук пристроїв MeshCore...", - "scanner_tapToScan": "Натисніть «Сканувати», щоб знайти пристрої MeshCore", - "scanner_connectionFailed": "Помилка підключення: {error}", + "scanner_searchingDevices": "Пошук пристроїв MeshCore...", + "scanner_tapToScan": "Натисніть «Сканувати», щоб знайти пристрої MeshCore", + "scanner_connectionFailed": "Помилка підключення: {error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -75,52 +75,52 @@ } } }, - "scanner_stop": "Стоп", - "scanner_scan": "Сканувати", - "device_quickSwitch": "Швидке перемикання", + "scanner_stop": "Стоп", + "scanner_scan": "Сканувати", + "device_quickSwitch": "Швидке перемикання", "device_meshcore": "MeshCore", - "settings_title": "Налаштування", - "settings_deviceInfo": "Інформація про пристрій", - "settings_appSettings": "Налаштування програми", - "settings_appSettingsSubtitle": "Сповіщення, повідомлення та налаштування карти", - "settings_nodeSettings": "Налаштування вузла", - "settings_nodeName": "Ім'я вузла", - "settings_nodeNameNotSet": "Не встановлено", - "settings_nodeNameHint": "Введіть ім'я вузла", - "settings_nodeNameUpdated": "Ім'я оновлено", - "settings_radioSettings": "Налаштування радіо", - "settings_radioSettingsSubtitle": "Частота, потужність, коефіцієнт розширення", - "settings_radioSettingsUpdated": "Налаштування радіо оновлено", - "settings_location": "Розташування", - "settings_locationSubtitle": "GPS координати", - "settings_locationUpdated": "Розташування оновлено", - "settings_locationBothRequired": "Введіть широту та довготу.", - "settings_locationInvalid": "Некоректна широта або довгота.", - "settings_latitude": "Широта", - "settings_longitude": "Довгота", - "settings_privacyMode": "Режим приватності", - "settings_privacyModeSubtitle": "Приховати ім'я/розташування в оголошеннях", - "settings_privacyModeToggle": "Увімкніть режим приватності, щоб приховати своє ім'я та місцезнаходження в оголошеннях.", - "settings_privacyModeEnabled": "Режим приватності увімкнено", - "settings_privacyModeDisabled": "Режим приватності вимкнено", - "settings_actions": "Дії", - "settings_sendAdvertisement": "Оголосити себе", - "settings_sendAdvertisementSubtitle": "Транслювати присутність зараз", - "settings_advertisementSent": "Оголошення надіслано", - "settings_syncTime": "Синхронізація часу", - "settings_syncTimeSubtitle": "Встановити час пристрою відповідно до часу телефону.", - "settings_timeSynchronized": "Час синхронізовано", - "settings_refreshContacts": "Оновити контакти", - "settings_refreshContactsSubtitle": "Перезавантажити список контактів з пристрою", - "settings_rebootDevice": "Перезавантажити пристрій", - "settings_rebootDeviceSubtitle": "Перезавантажити пристрій MeshCore", - "settings_rebootDeviceConfirm": "Ви впевнені, що хочете перезавантажити пристрій? Вас буде відключено.", - "settings_debug": "Налагодження", - "settings_bleDebugLog": "Журнал налагодження BLE", - "settings_bleDebugLogSubtitle": "Команди BLE, відповіді та необроблені дані", - "settings_appDebugLog": "Журнал налагодження програми", - "settings_appDebugLogSubtitle": "Повідомлення налагодження програми", - "settings_about": "Про програму", + "settings_title": "Налаштування", + "settings_deviceInfo": "Інформація про пристрій", + "settings_appSettings": "Налаштування програми", + "settings_appSettingsSubtitle": "Сповіщення, повідомлення та налаштування карти", + "settings_nodeSettings": "Налаштування вузла", + "settings_nodeName": "Ім'я вузла", + "settings_nodeNameNotSet": "Не встановлено", + "settings_nodeNameHint": "Введіть ім'я вузла", + "settings_nodeNameUpdated": "Ім'я оновлено", + "settings_radioSettings": "Налаштування радіо", + "settings_radioSettingsSubtitle": "Частота, потужність, коефіцієнт розширення", + "settings_radioSettingsUpdated": "Налаштування радіо оновлено", + "settings_location": "Розташування", + "settings_locationSubtitle": "GPS координати", + "settings_locationUpdated": "Розташування оновлено", + "settings_locationBothRequired": "Введіть широту та довготу.", + "settings_locationInvalid": "Некоректна широта або довгота.", + "settings_latitude": "Широта", + "settings_longitude": "Довгота", + "settings_privacyMode": "Режим приватності", + "settings_privacyModeSubtitle": "Приховати ім'я/розташування в оголошеннях", + "settings_privacyModeToggle": "Увімкніть режим приватності, щоб приховати своє ім'я та місцезнаходження в оголошеннях.", + "settings_privacyModeEnabled": "Режим приватності увімкнено", + "settings_privacyModeDisabled": "Режим приватності вимкнено", + "settings_actions": "Дії", + "settings_sendAdvertisement": "Оголосити себе", + "settings_sendAdvertisementSubtitle": "Транслювати присутність зараз", + "settings_advertisementSent": "Оголошення надіслано", + "settings_syncTime": "Синхронізація часу", + "settings_syncTimeSubtitle": "Встановити час пристрою відповідно до часу телефону.", + "settings_timeSynchronized": "Час синхронізовано", + "settings_refreshContacts": "Оновити контакти", + "settings_refreshContactsSubtitle": "Перезавантажити список контактів з пристрою", + "settings_rebootDevice": "Перезавантажити пристрій", + "settings_rebootDeviceSubtitle": "Перезавантажити пристрій MeshCore", + "settings_rebootDeviceConfirm": "Ви впевнені, що хочете перезавантажити пристрій? Вас буде відключено.", + "settings_debug": "Налагодження", + "settings_bleDebugLog": "Журнал налагодження BLE", + "settings_bleDebugLogSubtitle": "Команди BLE, відповіді та необроблені дані", + "settings_appDebugLog": "Журнал налагодження програми", + "settings_appDebugLogSubtitle": "Повідомлення налагодження програми", + "settings_about": "Про програму", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -129,26 +129,26 @@ } } }, - "settings_aboutLegalese": "Проєкт MeshCore Open Source 2026", - "settings_aboutDescription": "Клієнт Flutter з відкритим вихідним кодом для пристроїв мережі MeshCore LoRa.", - "settings_infoName": "Ім'я", + "settings_aboutLegalese": "Проєкт MeshCore Open Source 2026", + "settings_aboutDescription": "Клієнт Flutter з відкритим вихідним кодом для пристроїв мережі MeshCore LoRa.", + "settings_infoName": "Ім'я", "settings_infoId": "ID", - "settings_infoStatus": "Статус", - "settings_infoBattery": "Батарея", - "settings_infoPublicKey": "Відкритий ключ", - "settings_infoContactsCount": "Кількість контактів", - "settings_infoChannelCount": "Кількість каналів", - "settings_presets": "Попередні налаштування", - "settings_frequency": "Частота (МГц)", + "settings_infoStatus": "Статус", + "settings_infoBattery": "Батарея", + "settings_infoPublicKey": "Відкритий ключ", + "settings_infoContactsCount": "Кількість контактів", + "settings_infoChannelCount": "Кількість каналів", + "settings_presets": "Попередні налаштування", + "settings_frequency": "Частота (МГц)", "settings_frequencyHelper": "300.0 - 2500.0", - "settings_frequencyInvalid": "Некоректна частота (300-2500 МГц)", - "settings_bandwidth": "Смуга пропускання", - "settings_spreadingFactor": "Коефіцієнт розширення", - "settings_codingRate": "Швидкість кодування", - "settings_txPower": "Потужність TX (дБм)", + "settings_frequencyInvalid": "Некоректна частота (300-2500 МГц)", + "settings_bandwidth": "Смуга пропускання", + "settings_spreadingFactor": "Коефіцієнт розширення", + "settings_codingRate": "Швидкість кодування", + "settings_txPower": "Потужність TX (дБм)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "Некоректна потужність TX (0-22 дБм)", - "settings_error": "Помилка: {message}", + "settings_txPowerInvalid": "Некоректна потужність TX (0-22 дБм)", + "settings_error": "Помилка: {message}", "@settings_error": { "placeholders": { "message": { @@ -156,52 +156,52 @@ } } }, - "appSettings_title": "Налаштування програми", - "appSettings_appearance": "Вигляд", - "appSettings_theme": "Тема", - "appSettings_themeSystem": "Системна", - "appSettings_themeLight": "Світла", - "appSettings_themeDark": "Темна", - "appSettings_language": "Мова", - "appSettings_languageSystem": "Як у системі", + "appSettings_title": "Налаштування програми", + "appSettings_appearance": "Вигляд", + "appSettings_theme": "Тема", + "appSettings_themeSystem": "Системна", + "appSettings_themeLight": "Світла", + "appSettings_themeDark": "Темна", + "appSettings_language": "Мова", + "appSettings_languageSystem": "Як у системі", "appSettings_languageEn": "English", - "appSettings_languageFr": "Français", - "appSettings_languageEs": "Español", + "appSettings_languageFr": "Français", + "appSettings_languageEs": "Español", "appSettings_languageDe": "Deutsch", "appSettings_languagePl": "Polski", - "appSettings_languageSl": "Slovenščina", - "appSettings_languagePt": "Português", + "appSettings_languageSl": "Slovenščina", + "appSettings_languagePt": "Português", "appSettings_languageIt": "Italiano", - "appSettings_languageZh": "中文", + "appSettings_languageZh": "中文", "appSettings_languageSv": "Svenska", "appSettings_languageNl": "Nederlands", - "appSettings_languageSk": "Slovenčina", - "appSettings_languageBg": "Български", - "appSettings_languageUk": "Українська", - "appSettings_notifications": "Сповіщення", - "appSettings_enableNotifications": "Увімкнути сповіщення", - "appSettings_enableNotificationsSubtitle": "Отримувати сповіщення про повідомлення та оголошення", - "appSettings_notificationPermissionDenied": "У доступі до сповіщень відмовлено", - "appSettings_notificationsEnabled": "Сповіщення увімкнено", - "appSettings_notificationsDisabled": "Сповіщення вимкнено", - "appSettings_messageNotifications": "Сповіщення про повідомлення", - "appSettings_messageNotificationsSubtitle": "Показувати сповіщення при отриманні нових повідомлень", - "appSettings_channelMessageNotifications": "Сповіщення каналів", - "appSettings_channelMessageNotificationsSubtitle": "Показувати сповіщення при отриманні повідомлень каналу", - "appSettings_advertisementNotifications": "Сповіщення про оголошення", - "appSettings_advertisementNotificationsSubtitle": "Показувати сповіщення при виявленні нових вузлів", - "appSettings_messaging": "Обмін повідомленнями", - "appSettings_clearPathOnMaxRetry": "Очищати шлях після макс. спроб", - "appSettings_clearPathOnMaxRetrySubtitle": "Скидати шлях до контакту після 5 невдалих спроб надсилання", - "appSettings_pathsWillBeCleared": "Шляхи будуть очищені після 5 невдалих спроб.", - "appSettings_pathsWillNotBeCleared": "Шляхи не будуть очищатися автоматично.", - "appSettings_autoRouteRotation": "Авторотація маршруту", - "appSettings_autoRouteRotationSubtitle": "Чергувати найкращі шляхи та режим «на всю мережу» (flood)", - "appSettings_autoRouteRotationEnabled": "Авторотація маршрутизації увімкнена", - "appSettings_autoRouteRotationDisabled": "Авторотація маршрутизації вимкнена", - "appSettings_battery": "Батарея", - "appSettings_batteryChemistry": "Хімія батареї", - "appSettings_batteryChemistryPerDevice": "Встановити для пристрою ({deviceName})", + "appSettings_languageSk": "Slovenčina", + "appSettings_languageBg": "Български", + "appSettings_languageUk": "Українська", + "appSettings_notifications": "Сповіщення", + "appSettings_enableNotifications": "Увімкнути сповіщення", + "appSettings_enableNotificationsSubtitle": "Отримувати сповіщення про повідомлення та оголошення", + "appSettings_notificationPermissionDenied": "У доступі до сповіщень відмовлено", + "appSettings_notificationsEnabled": "Сповіщення увімкнено", + "appSettings_notificationsDisabled": "Сповіщення вимкнено", + "appSettings_messageNotifications": "Сповіщення про повідомлення", + "appSettings_messageNotificationsSubtitle": "Показувати сповіщення при отриманні нових повідомлень", + "appSettings_channelMessageNotifications": "Сповіщення каналів", + "appSettings_channelMessageNotificationsSubtitle": "Показувати сповіщення при отриманні повідомлень каналу", + "appSettings_advertisementNotifications": "Сповіщення про оголошення", + "appSettings_advertisementNotificationsSubtitle": "Показувати сповіщення при виявленні нових вузлів", + "appSettings_messaging": "Обмін повідомленнями", + "appSettings_clearPathOnMaxRetry": "Очищати шлях після макс. спроб", + "appSettings_clearPathOnMaxRetrySubtitle": "Скидати шлях до контакту після 5 невдалих спроб надсилання", + "appSettings_pathsWillBeCleared": "Шляхи будуть очищені після 5 невдалих спроб.", + "appSettings_pathsWillNotBeCleared": "Шляхи не будуть очищатися автоматично.", + "appSettings_autoRouteRotation": "Авторотація маршруту", + "appSettings_autoRouteRotationSubtitle": "Чергувати найкращі шляхи та режим «на всю мережу» (flood)", + "appSettings_autoRouteRotationEnabled": "Авторотація маршрутизації увімкнена", + "appSettings_autoRouteRotationDisabled": "Авторотація маршрутизації вимкнена", + "appSettings_battery": "Батарея", + "appSettings_batteryChemistry": "Хімія батареї", + "appSettings_batteryChemistryPerDevice": "Встановити для пристрою ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -209,20 +209,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "Підключіть пристрій, щоб вибрати", - "appSettings_batteryNmc": "18650 NMC (3.0-4.2В)", - "appSettings_batteryLifepo4": "LiFePO4 (2.6-3.65В)", - "appSettings_batteryLipo": "LiPo (3.0-4.2В)", - "appSettings_mapDisplay": "Відображення карти", - "appSettings_showRepeaters": "Показувати ретранслятори", - "appSettings_showRepeatersSubtitle": "Відображати вузли-ретранслятори на карті", - "appSettings_showChatNodes": "Показувати вузли чату", - "appSettings_showChatNodesSubtitle": "Відображати вузли чату на карті", - "appSettings_showOtherNodes": "Показувати інші вузли", - "appSettings_showOtherNodesSubtitle": "Відображати інші типи вузлів на карті", - "appSettings_timeFilter": "Фільтр часу", - "appSettings_timeFilterShowAll": "Показати всі вузли", - "appSettings_timeFilterShowLast": "Показати вузли за останні {hours} год", + "appSettings_batteryChemistryConnectFirst": "Підключіть пристрій, щоб вибрати", + "appSettings_batteryNmc": "18650 NMC (3.0-4.2Ð’)", + "appSettings_batteryLifepo4": "LiFePO4 (2.6-3.65Ð’)", + "appSettings_batteryLipo": "LiPo (3.0-4.2Ð’)", + "appSettings_mapDisplay": "Відображення карти", + "appSettings_showRepeaters": "Показувати ретранслятори", + "appSettings_showRepeatersSubtitle": "Відображати вузли-ретранслятори на карті", + "appSettings_showChatNodes": "Показувати вузли чату", + "appSettings_showChatNodesSubtitle": "Відображати вузли чату на карті", + "appSettings_showOtherNodes": "Показувати інші вузли", + "appSettings_showOtherNodesSubtitle": "Відображати інші типи вузлів на карті", + "appSettings_timeFilter": "Фільтр часу", + "appSettings_timeFilterShowAll": "Показати всі вузли", + "appSettings_timeFilterShowLast": "Показати вузли за останні {hours} год", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -230,16 +230,16 @@ } } }, - "appSettings_mapTimeFilter": "Фільтр часу карти", - "appSettings_showNodesDiscoveredWithin": "Показувати вузли, виявлені за:", - "appSettings_allTime": "Весь час", - "appSettings_lastHour": "Останню годину", - "appSettings_last6Hours": "Останні 6 годин", - "appSettings_last24Hours": "Останні 24 години", - "appSettings_lastWeek": "Минулий тиждень", - "appSettings_offlineMapCache": "Офлайн-кеш карти", - "appSettings_noAreaSelected": "Область не вибрано", - "appSettings_areaSelectedZoom": "Вибрана область (зум {minZoom}-{maxZoom})", + "appSettings_mapTimeFilter": "Фільтр часу карти", + "appSettings_showNodesDiscoveredWithin": "Показувати вузли, виявлені за:", + "appSettings_allTime": "Весь час", + "appSettings_lastHour": "Останню годину", + "appSettings_last6Hours": "Останні 6 годин", + "appSettings_last24Hours": "Останні 24 години", + "appSettings_lastWeek": "Минулий тиждень", + "appSettings_offlineMapCache": "Офлайн-кеш карти", + "appSettings_noAreaSelected": "Область не вибрано", + "appSettings_areaSelectedZoom": "Вибрана область (зум {minZoom}-{maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -250,19 +250,19 @@ } } }, - "appSettings_debugCard": "Налагодження", - "appSettings_appDebugLogging": "Логування налагодження програми", - "appSettings_appDebugLoggingSubtitle": "Записувати повідомлення налагодження програми в лог для усунення несправностей.", - "appSettings_appDebugLoggingEnabled": "Логування налагодження програми увімкнено", - "appSettings_appDebugLoggingDisabled": "Налагодження програми вимкнено.", - "contacts_title": "Контакти", - "contacts_noContacts": "Контактів не знайдено.", - "contacts_contactsWillAppear": "Контакти з'являться, коли пристрої надішлють оголошення.", - "contacts_searchContacts": "Пошук контактів...", - "contacts_noUnreadContacts": "Немає непрочитаних контактів", - "contacts_noContactsFound": "Контактів або груп не знайдено.", - "contacts_deleteContact": "Видалити контакт", - "contacts_removeConfirm": "Видалити {contactName} з контактів?", + "appSettings_debugCard": "Налагодження", + "appSettings_appDebugLogging": "Логування налагодження програми", + "appSettings_appDebugLoggingSubtitle": "Записувати повідомлення налагодження програми в лог для усунення несправностей.", + "appSettings_appDebugLoggingEnabled": "Логування налагодження програми увімкнено", + "appSettings_appDebugLoggingDisabled": "Налагодження програми вимкнено.", + "contacts_title": "Контакти", + "contacts_noContacts": "Контактів не знайдено.", + "contacts_contactsWillAppear": "Контакти з'являться, коли пристрої надішлють оголошення.", + "contacts_searchContacts": "Пошук контактів...", + "contacts_noUnreadContacts": "Немає непрочитаних контактів", + "contacts_noContactsFound": "Контактів або груп не знайдено.", + "contacts_deleteContact": "Видалити контакт", + "contacts_removeConfirm": "Видалити {contactName} з контактів?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -270,12 +270,12 @@ } } }, - "contacts_manageRepeater": "Керувати ретранслятором", - "contacts_roomLogin": "Вхід у кімнату", - "contacts_openChat": "Відкрити чат", - "contacts_editGroup": "Редагувати групу", - "contacts_deleteGroup": "Видалити групу", - "contacts_deleteGroupConfirm": "Видалити {groupName}?", + "contacts_manageRepeater": "Керувати ретранслятором", + "contacts_roomLogin": "Вхід у кімнату", + "contacts_openChat": "Відкрити чат", + "contacts_editGroup": "Редагувати групу", + "contacts_deleteGroup": "Видалити групу", + "contacts_deleteGroupConfirm": "Видалити {groupName}?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -283,10 +283,10 @@ } } }, - "contacts_newGroup": "Нова група", - "contacts_groupName": "Назва групи", - "contacts_groupNameRequired": "Назва групи обов'язкова.", - "contacts_groupAlreadyExists": "Група «{name}» вже існує.", + "contacts_newGroup": "Нова група", + "contacts_groupName": "Назва групи", + "contacts_groupNameRequired": "Назва групи обов'язкова.", + "contacts_groupAlreadyExists": "Група «{name}» вже існує.", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -294,11 +294,11 @@ } } }, - "contacts_filterContacts": "Фільтрувати контакти...", - "contacts_noContactsMatchFilter": "Жоден контакт не відповідає фільтру.", - "contacts_noMembers": "Немає учасників", - "contacts_lastSeenNow": "В мережі", - "contacts_lastSeenMinsAgo": "В мережі {minutes} хв. тому", + "contacts_filterContacts": "Фільтрувати контакти...", + "contacts_noContactsMatchFilter": "Жоден контакт не відповідає фільтру.", + "contacts_noMembers": "Немає учасників", + "contacts_lastSeenNow": "Ð’ мережі", + "contacts_lastSeenMinsAgo": "Ð’ мережі {minutes} хв. тому", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -306,8 +306,8 @@ } } }, - "contacts_lastSeenHourAgo": "В мережі 1 годину тому", - "contacts_lastSeenHoursAgo": "В мережі {hours} год. тому", + "contacts_lastSeenHourAgo": "Ð’ мережі 1 годину тому", + "contacts_lastSeenHoursAgo": "Ð’ мережі {hours} год. тому", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -315,8 +315,8 @@ } } }, - "contacts_lastSeenDayAgo": "В мережі 1 день тому", - "contacts_lastSeenDaysAgo": "В мережі {days} дн. тому", + "contacts_lastSeenDayAgo": "Ð’ мережі 1 день тому", + "contacts_lastSeenDaysAgo": "Ð’ мережі {days} дн. тому", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -324,12 +324,12 @@ } } }, - "channels_title": "Канали", - "channels_noChannelsConfigured": "Канали не налаштовані", - "channels_addPublicChannel": "Додати публічний канал", - "channels_searchChannels": "Пошук каналів...", - "channels_noChannelsFound": "Каналів не знайдено", - "channels_channelIndex": "Канал {index}", + "channels_title": "Канали", + "channels_noChannelsConfigured": "Канали не налаштовані", + "channels_addPublicChannel": "Додати публічний канал", + "channels_searchChannels": "Пошук каналів...", + "channels_noChannelsFound": "Каналів не знайдено", + "channels_channelIndex": "Канал {index}", "@channels_channelIndex": { "placeholders": { "index": { @@ -337,16 +337,16 @@ } } }, - "channels_hashtagChannel": "Канал з хештегом", - "channels_public": "Публічний", - "channels_private": "Приватний", - "channels_publicChannel": "Публічний канал", - "channels_privateChannel": "Приватний канал", - "channels_editChannel": "Редагувати канал", - "channels_muteChannel": "Вимкнути сповіщення каналу", - "channels_unmuteChannel": "Увімкнути сповіщення каналу", - "channels_deleteChannel": "Видалити канал", - "channels_deleteChannelConfirm": "Видалити {name}? Це не можна скасувати.", + "channels_hashtagChannel": "Канал з хештегом", + "channels_public": "Публічний", + "channels_private": "Приватний", + "channels_publicChannel": "Публічний канал", + "channels_privateChannel": "Приватний канал", + "channels_editChannel": "Редагувати канал", + "channels_muteChannel": "Вимкнути сповіщення каналу", + "channels_unmuteChannel": "Увімкнути сповіщення каналу", + "channels_deleteChannel": "Видалити канал", + "channels_deleteChannelConfirm": "Видалити {name}? Це не можна скасувати.", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -354,7 +354,7 @@ } } }, - "channels_channelDeleted": "Канал «{name}» видалено", + "channels_channelDeleted": "Канал «{name}» видалено", "@channels_channelDeleted": { "placeholders": { "name": { @@ -362,16 +362,16 @@ } } }, - "channels_addChannel": "Додати канал", - "channels_channelIndexLabel": "Індекс каналу", - "channels_channelName": "Назва каналу", - "channels_usePublicChannel": "Використовувати публічний канал", - "channels_standardPublicPsk": "Стандартний публічний PSK", + "channels_addChannel": "Додати канал", + "channels_channelIndexLabel": "Індекс каналу", + "channels_channelName": "Назва каналу", + "channels_usePublicChannel": "Використовувати публічний канал", + "channels_standardPublicPsk": "Стандартний публічний PSK", "channels_pskHex": "PSK (Hex)", - "channels_generateRandomPsk": "Згенерувати випадковий ключ PSK", - "channels_enterChannelName": "Будь ласка, введіть назву каналу", - "channels_pskMustBe32Hex": "PSK має складатися з 32 шістнадцяткових символів.", - "channels_channelAdded": "Канал «{name}» додано", + "channels_generateRandomPsk": "Згенерувати випадковий ключ PSK", + "channels_enterChannelName": "Будь ласка, введіть назву каналу", + "channels_pskMustBe32Hex": "PSK має складатися з 32 шістнадцяткових символів.", + "channels_channelAdded": "Канал «{name}» додано", "@channels_channelAdded": { "placeholders": { "name": { @@ -379,7 +379,7 @@ } } }, - "channels_editChannelTitle": "Редагувати канал {index}", + "channels_editChannelTitle": "Редагувати канал {index}", "@channels_editChannelTitle": { "placeholders": { "index": { @@ -387,8 +387,8 @@ } } }, - "channels_smazCompression": "Стиснення SMAZ", - "channels_channelUpdated": "Канал «{name}» оновлено", + "channels_smazCompression": "Стиснення SMAZ", + "channels_channelUpdated": "Канал «{name}» оновлено", "@channels_channelUpdated": { "placeholders": { "name": { @@ -396,16 +396,16 @@ } } }, - "channels_publicChannelAdded": "Публічний канал додано", - "channels_sortBy": "Сортувати за", - "channels_sortManual": "Вручну", - "channels_sortAZ": "А-Я", - "channels_sortLatestMessages": "Останні повідомлення", - "channels_sortUnread": "Непрочитані", - "chat_noMessages": "Поки немає повідомлень.", - "chat_sendMessageToStart": "Надішліть повідомлення, щоб почати", - "chat_originalMessageNotFound": "Оригінальне повідомлення не знайдено", - "chat_replyingTo": "Відповідь {name}", + "channels_publicChannelAdded": "Публічний канал додано", + "channels_sortBy": "Сортувати за", + "channels_sortManual": "Вручну", + "channels_sortAZ": "А-Я", + "channels_sortLatestMessages": "Останні повідомлення", + "channels_sortUnread": "Непрочитані", + "chat_noMessages": "Поки немає повідомлень.", + "chat_sendMessageToStart": "Надішліть повідомлення, щоб почати", + "chat_originalMessageNotFound": "Оригінальне повідомлення не знайдено", + "chat_replyingTo": "Відповідь {name}", "@chat_replyingTo": { "placeholders": { "name": { @@ -413,7 +413,7 @@ } } }, - "chat_replyTo": "Відповісти {name}", + "chat_replyTo": "Відповісти {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -421,8 +421,8 @@ } } }, - "chat_location": "Розташування", - "chat_sendMessageTo": "Надіслати повідомлення {contactName}", + "chat_location": "Розташування", + "chat_sendMessageTo": "Надіслати повідомлення {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -430,8 +430,8 @@ } } }, - "chat_typeMessage": "Введіть повідомлення...", - "chat_messageTooLong": "Повідомлення занадто довге (макс. {maxBytes} байт).", + "chat_typeMessage": "Введіть повідомлення...", + "chat_messageTooLong": "Повідомлення занадто довге (макс. {maxBytes} байт).", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -439,10 +439,10 @@ } } }, - "chat_messageCopied": "Повідомлення скопійовано", - "chat_messageDeleted": "Повідомлення видалено", - "chat_retryingMessage": "Спроба відновлення.", - "chat_retryCount": "Повторна спроба {current}/{max}", + "chat_messageCopied": "Повідомлення скопійовано", + "chat_messageDeleted": "Повідомлення видалено", + "chat_retryingMessage": "Спроба відновлення.", + "chat_retryCount": "Повторна спроба {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -453,33 +453,33 @@ } } }, - "chat_sendGif": "Надіслати GIF", - "chat_reply": "Відповісти", - "chat_addReaction": "Додати реакцію", - "chat_me": "Я", - "emojiCategorySmileys": "Емодзі", - "emojiCategoryGestures": "Жести", - "emojiCategoryHearts": "Серця", - "emojiCategoryObjects": "Об'єкти", - "gifPicker_title": "Вибрати GIF", - "gifPicker_searchHint": "Пошук GIF...", - "gifPicker_poweredBy": "На базі GIPHY", - "gifPicker_noGifsFound": "GIF не знайдено", - "gifPicker_failedLoad": "Не вдалося завантажити GIF-файли", - "gifPicker_failedSearch": "Пошук GIF не вдався", - "gifPicker_noInternet": "Немає інтернет-з'єднання", - "debugLog_appTitle": "Журнал налагодження програми", - "debugLog_bleTitle": "Журнал налагодження BLE", - "debugLog_copyLog": "Копіювати журнал", - "debugLog_clearLog": "Очистити журнал", - "debugLog_copied": "Журнал налагодження скопійовано", - "debugLog_bleCopied": "Журнал BLE скопійовано", - "debugLog_noEntries": "Поки що немає записів журналу налагодження.", - "debugLog_enableInSettings": "Увімкніть налагодження програми в налаштуваннях", - "debugLog_frames": "Кадри", - "debugLog_rawLogRx": "Необроблений лог - RX", - "debugLog_noBleActivity": "Поки що немає активності BLE.", - "debugFrame_length": "Довжина кадру: {count} байт", + "chat_sendGif": "Надіслати GIF", + "chat_reply": "Відповісти", + "chat_addReaction": "Додати реакцію", + "chat_me": "Я", + "emojiCategorySmileys": "Емодзі", + "emojiCategoryGestures": "Жести", + "emojiCategoryHearts": "Серця", + "emojiCategoryObjects": "Об'єкти", + "gifPicker_title": "Вибрати GIF", + "gifPicker_searchHint": "Пошук GIF...", + "gifPicker_poweredBy": "На базі GIPHY", + "gifPicker_noGifsFound": "GIF не знайдено", + "gifPicker_failedLoad": "Не вдалося завантажити GIF-файли", + "gifPicker_failedSearch": "Пошук GIF не вдався", + "gifPicker_noInternet": "Немає інтернет-з'єднання", + "debugLog_appTitle": "Журнал налагодження програми", + "debugLog_bleTitle": "Журнал налагодження BLE", + "debugLog_copyLog": "Копіювати журнал", + "debugLog_clearLog": "Очистити журнал", + "debugLog_copied": "Журнал налагодження скопійовано", + "debugLog_bleCopied": "Журнал BLE скопійовано", + "debugLog_noEntries": "Поки що немає записів журналу налагодження.", + "debugLog_enableInSettings": "Увімкніть налагодження програми в налаштуваннях", + "debugLog_frames": "Кадри", + "debugLog_rawLogRx": "Необроблений лог - RX", + "debugLog_noBleActivity": "Поки що немає активності BLE.", + "debugFrame_length": "Довжина кадру: {count} байт", "@debugFrame_length": { "placeholders": { "count": { @@ -487,7 +487,7 @@ } } }, - "debugFrame_command": "Команда: 0x{value}", + "debugFrame_command": "Команда: 0x{value}", "@debugFrame_command": { "placeholders": { "value": { @@ -495,8 +495,8 @@ } } }, - "debugFrame_textMessageHeader": "Повідомлення:", - "debugFrame_destinationPubKey": "- PubKey призначення: {pubKey}", + "debugFrame_textMessageHeader": "Повідомлення:", + "debugFrame_destinationPubKey": "- PubKey призначення: {pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -504,7 +504,7 @@ } } }, - "debugFrame_timestamp": "- Мітка часу: {timestamp}", + "debugFrame_timestamp": "- Мітка часу: {timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -512,7 +512,7 @@ } } }, - "debugFrame_flags": "- Прапорці: 0x{value}", + "debugFrame_flags": "- Прапорці: 0x{value}", "@debugFrame_flags": { "placeholders": { "value": { @@ -520,7 +520,7 @@ } } }, - "debugFrame_textType": "- Тип тексту: {type} ({label})", + "debugFrame_textType": "- Тип тексту: {type} ({label})", "@debugFrame_textType": { "placeholders": { "type": { @@ -532,8 +532,8 @@ } }, "debugFrame_textTypeCli": "CLI", - "debugFrame_textTypePlain": "Звичайний", - "debugFrame_text": "- Текст: \"{text}\"", + "debugFrame_textTypePlain": "Звичайний", + "debugFrame_text": "- Текст: \"{text}\"", "@debugFrame_text": { "placeholders": { "text": { @@ -541,16 +541,16 @@ } } }, - "debugFrame_hexDump": "Дамп Hex:", - "chat_pathManagement": "Керування шляхами", - "chat_routingMode": "Режим маршрутизації", - "chat_autoUseSavedPath": "Авто (використовувати збережений шлях)", - "chat_forceFloodMode": "Примусово на всю мережу", - "chat_recentAckPaths": "Недавні шляхи ACK (натисніть, щоб використати):", - "chat_pathHistoryFull": "Історія шляхів заповнена. Видаліть записи, щоб додати нові.", - "chat_hopSingular": "Стрибок", - "chat_hopPlural": "стрибків", - "chat_hopsCount": "{count} {count, plural, =1{стрибок} few{стрибки} many{стрибків} other{стрибків}}", + "debugFrame_hexDump": "Дамп Hex:", + "chat_pathManagement": "Керування шляхами", + "chat_routingMode": "Режим маршрутизації", + "chat_autoUseSavedPath": "Авто (використовувати збережений шлях)", + "chat_forceFloodMode": "Примусово на всю мережу", + "chat_recentAckPaths": "Недавні шляхи ACK (натисніть, щоб використати):", + "chat_pathHistoryFull": "Історія шляхів заповнена. Видаліть записи, щоб додати нові.", + "chat_hopSingular": "Стрибок", + "chat_hopPlural": "стрибків", + "chat_hopsCount": "{count} {count, plural, =1{стрибок} few{стрибки} many{стрибків} other{стрибків}}", "@chat_hopsCount": { "placeholders": { "count": { @@ -558,20 +558,20 @@ } } }, - "chat_successes": "Успішно", - "chat_removePath": "Видалити шлях", - "chat_noPathHistoryYet": "Історія шляхів недоступна.\nНадішліть повідомлення, щоб виявити шляхи.", - "chat_pathActions": "Дії зі шляхом:", - "chat_setCustomPath": "Встановити власний шлях", - "chat_setCustomPathSubtitle": "Вказати шлях маршрутизації вручну", - "chat_clearPath": "Очистити шлях", - "chat_clearPathSubtitle": "Примусово повторити пошук при наступному надсиланні", - "chat_pathCleared": "Шлях очищено. Наступне повідомлення оновить маршрут.", - "chat_floodModeSubtitle": "Використовувати перемикач маршрутизації в панелі програми", - "chat_floodModeEnabled": "Увімкнено режим «на всю мережу». Перемикайте через іконку маршрутизації на панелі інструментів.", - "chat_fullPath": "Повний шлях", - "chat_pathDetailsNotAvailable": "Деталі шляху ще недоступні. Спробуйте надіслати повідомлення для оновлення.", - "chat_pathSetHops": "Шлях встановлено: {hopCount} {hopCount, plural, =1{стрибок} few{стрибки} many{стрибків} other{стрибків}} - {status}", + "chat_successes": "Успішно", + "chat_removePath": "Видалити шлях", + "chat_noPathHistoryYet": "Історія шляхів недоступна.\nНадішліть повідомлення, щоб виявити шляхи.", + "chat_pathActions": "Дії зі шляхом:", + "chat_setCustomPath": "Встановити власний шлях", + "chat_setCustomPathSubtitle": "Вказати шлях маршрутизації вручну", + "chat_clearPath": "Очистити шлях", + "chat_clearPathSubtitle": "Примусово повторити пошук при наступному надсиланні", + "chat_pathCleared": "Шлях очищено. Наступне повідомлення оновить маршрут.", + "chat_floodModeSubtitle": "Використовувати перемикач маршрутизації в панелі програми", + "chat_floodModeEnabled": "Увімкнено режим «на всю мережу». Перемикайте через іконку маршрутизації на панелі інструментів.", + "chat_fullPath": "Повний шлях", + "chat_pathDetailsNotAvailable": "Деталі шляху ще недоступні. Спробуйте надіслати повідомлення для оновлення.", + "chat_pathSetHops": "Шлях встановлено: {hopCount} {hopCount, plural, =1{стрибок} few{стрибки} many{стрибків} other{стрибків}} - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -582,16 +582,16 @@ } } }, - "chat_pathSavedLocally": "Збережено локально. Підключіться для синхронізації.", - "chat_pathDeviceConfirmed": "Пристрій підтверджено.", - "chat_pathDeviceNotConfirmed": "Пристрій ще не підтверджено.", - "chat_type": "Ввід", - "chat_path": "Шлях", - "chat_publicKey": "Відкритий ключ", - "chat_compressOutgoingMessages": "Стискати вихідні повідомлення", - "chat_floodForced": "На всю мережу (примусово)", - "chat_directForced": "Прямий (примусово)", - "chat_hopsForced": "{count} стрибків (примусово)", + "chat_pathSavedLocally": "Збережено локально. Підключіться для синхронізації.", + "chat_pathDeviceConfirmed": "Пристрій підтверджено.", + "chat_pathDeviceNotConfirmed": "Пристрій ще не підтверджено.", + "chat_type": "Ввід", + "chat_path": "Шлях", + "chat_publicKey": "Відкритий ключ", + "chat_compressOutgoingMessages": "Стискати вихідні повідомлення", + "chat_floodForced": "На всю мережу (примусово)", + "chat_directForced": "Прямий (примусово)", + "chat_hopsForced": "{count} стрибків (примусово)", "@chat_hopsForced": { "placeholders": { "count": { @@ -599,10 +599,10 @@ } } }, - "chat_floodAuto": "На всю мережу (авто)", - "chat_direct": "Прямий", - "chat_poiShared": "Точкою інтересу поділилися", - "chat_unread": "Непрочитано: {count}", + "chat_floodAuto": "На всю мережу (авто)", + "chat_direct": "Прямий", + "chat_poiShared": "Точкою інтересу поділилися", + "chat_unread": "Непрочитано: {count}", "@chat_unread": { "placeholders": { "count": { @@ -610,10 +610,10 @@ } } }, - "chat_openLink": "Відкрити посилання?", - "chat_openLinkConfirmation": "Ви хочете відкрити це посилання у браузері?", - "chat_open": "Відкрити", - "chat_couldNotOpenLink": "Не вдалося відкрити посилання: {url}", + "chat_openLink": "Відкрити посилання?", + "chat_openLinkConfirmation": "Ви хочете відкрити це посилання у браузері?", + "chat_open": "Відкрити", + "chat_couldNotOpenLink": "Не вдалося відкрити посилання: {url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -621,11 +621,11 @@ } } }, - "chat_invalidLink": "Невірний формат посилання", - "map_title": "Карта вузлів", - "map_noNodesWithLocation": "Немає вузлів з даними про розташування", - "map_nodesNeedGps": "Вузли повинні надавати свої GPS координати,\nщоб з'явитися на карті.", - "map_nodesCount": "Вузли: {count}", + "chat_invalidLink": "Невірний формат посилання", + "map_title": "Карта вузлів", + "map_noNodesWithLocation": "Немає вузлів з даними про розташування", + "map_nodesNeedGps": "Вузли повинні надавати свої GPS координати,\nщоб з'явитися на карті.", + "map_nodesCount": "Вузли: {count}", "@map_nodesCount": { "placeholders": { "count": { @@ -633,7 +633,7 @@ } } }, - "map_pinsCount": "Мітки: {count}", + "map_pinsCount": "Мітки: {count}", "@map_pinsCount": { "placeholders": { "count": { @@ -641,27 +641,27 @@ } } }, - "map_chat": "Чат", - "map_repeater": "Ретранслятор", - "map_room": "Кімната", - "map_sensor": "Сенсор", - "map_pinDm": "Ключ (DM)", - "map_pinPrivate": "Замок (Приватний)", - "map_pinPublic": "Ключ (Публічний)", - "map_lastSeen": "Останній раз бачили", - "map_disconnectConfirm": "Ви впевнені, що хочете відключитися від цього пристрою?", - "map_from": "Від", - "map_source": "Джерело", - "map_flags": "Прапорці", - "map_shareMarkerHere": "Поділитися маркером тут", - "map_pinLabel": "Мітка піна", - "map_label": "Мітка", - "map_pointOfInterest": "Точка інтересу", - "map_sendToContact": "Надіслати контакту", - "map_sendToChannel": "Надіслати в канал", - "map_noChannelsAvailable": "Немає доступних каналів", - "map_publicLocationShare": "Поділитися в публічному місці", - "map_publicLocationShareConfirm": "Ви збираєтеся поділитися розташуванням у {channelLabel}. Цей канал публічний, і кожен, хто має ключ PSK, може це побачити.", + "map_chat": "Чат", + "map_repeater": "Ретранслятор", + "map_room": "Кімната", + "map_sensor": "Сенсор", + "map_pinDm": "Ключ (DM)", + "map_pinPrivate": "Замок (Приватний)", + "map_pinPublic": "Ключ (Публічний)", + "map_lastSeen": "Останній раз бачили", + "map_disconnectConfirm": "Ви впевнені, що хочете відключитися від цього пристрою?", + "map_from": "Від", + "map_source": "Джерело", + "map_flags": "Прапорці", + "map_shareMarkerHere": "Поділитися маркером тут", + "map_pinLabel": "Мітка піна", + "map_label": "Мітка", + "map_pointOfInterest": "Точка інтересу", + "map_sendToContact": "Надіслати контакту", + "map_sendToChannel": "Надіслати в канал", + "map_noChannelsAvailable": "Немає доступних каналів", + "map_publicLocationShare": "Поділитися в публічному місці", + "map_publicLocationShareConfirm": "Ви збираєтеся поділитися розташуванням у {channelLabel}. Цей канал публічний, Ñ– кожен, хто має ключ PSK, може це побачити.", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -669,26 +669,26 @@ } } }, - "map_connectToShareMarkers": "Підключіться до пристрою, щоб поділитися маркерами", - "map_filterNodes": "Фільтрувати вузли", - "map_nodeTypes": "Типи вузлів", - "map_chatNodes": "Вузли чату", - "map_repeaters": "Ретранслятори", - "map_otherNodes": "Інші вузли", - "map_keyPrefix": "Префікс ключа", - "map_filterByKeyPrefix": "Фільтрувати за префіксом ключа", - "map_publicKeyPrefix": "Префікс відкритого ключа", - "map_markers": "Маркери", - "map_showSharedMarkers": "Показувати спільні маркери", - "map_lastSeenTime": "Час останньої активності", - "map_sharedPin": "Спільний пін", - "map_joinRoom": "Приєднатися до кімнати", - "map_manageRepeater": "Керувати ретранслятором", - "mapCache_title": "Офлайн-кеш карти", - "mapCache_selectAreaFirst": "Спершу виберіть область для кешування", - "mapCache_noTilesToDownload": "Немає плиток для завантаження в цій області.", - "mapCache_downloadTilesTitle": "Завантажити плитки", - "mapCache_downloadTilesPrompt": "Завантажити {count} плиток для використання офлайн?", + "map_connectToShareMarkers": "Підключіться до пристрою, щоб поділитися маркерами", + "map_filterNodes": "Фільтрувати вузли", + "map_nodeTypes": "Типи вузлів", + "map_chatNodes": "Вузли чату", + "map_repeaters": "Ретранслятори", + "map_otherNodes": "Інші вузли", + "map_keyPrefix": "Префікс ключа", + "map_filterByKeyPrefix": "Фільтрувати за префіксом ключа", + "map_publicKeyPrefix": "Префікс відкритого ключа", + "map_markers": "Маркери", + "map_showSharedMarkers": "Показувати спільні маркери", + "map_lastSeenTime": "Час останньої активності", + "map_sharedPin": "Спільний пін", + "map_joinRoom": "Приєднатися до кімнати", + "map_manageRepeater": "Керувати ретранслятором", + "mapCache_title": "Офлайн-кеш карти", + "mapCache_selectAreaFirst": "Спершу виберіть область для кешування", + "mapCache_noTilesToDownload": "Немає плиток для завантаження в цій області.", + "mapCache_downloadTilesTitle": "Завантажити плитки", + "mapCache_downloadTilesPrompt": "Завантажити {count} плиток для використання офлайн?", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -696,8 +696,8 @@ } } }, - "mapCache_downloadAction": "Завантажити", - "mapCache_cachedTiles": "Закешовано {count} плиток", + "mapCache_downloadAction": "Завантажити", + "mapCache_cachedTiles": "Закешовано {count} плиток", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -705,7 +705,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "Плитки в кеші ({downloaded}) ({failed} помилок)", + "mapCache_cachedTilesWithFailed": "Плитки в кеші ({downloaded}) ({failed} помилок)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -716,14 +716,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "Очистити офлайн-кеш", - "mapCache_clearOfflineCachePrompt": "Видалити всі закешовані плитки карти?", - "mapCache_offlineCacheCleared": "Офлайн-кеш очищено.", - "mapCache_noAreaSelected": "Область не вибрано", - "mapCache_cacheArea": "Область кешування", - "mapCache_useCurrentView": "Використати поточний вигляд", - "mapCache_zoomRange": "Діапазон масштабування", - "mapCache_estimatedTiles": "Оцінка плиток: {count}", + "mapCache_clearOfflineCacheTitle": "Очистити офлайн-кеш", + "mapCache_clearOfflineCachePrompt": "Видалити всі закешовані плитки карти?", + "mapCache_offlineCacheCleared": "Офлайн-кеш очищено.", + "mapCache_noAreaSelected": "Область не вибрано", + "mapCache_cacheArea": "Область кешування", + "mapCache_useCurrentView": "Використати поточний вигляд", + "mapCache_zoomRange": "Діапазон масштабування", + "mapCache_estimatedTiles": "Оцінка плиток: {count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -731,7 +731,7 @@ } } }, - "mapCache_downloadedTiles": "Завантажено {completed} / {total}", + "mapCache_downloadedTiles": "Завантажено {completed} / {total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -742,9 +742,9 @@ } } }, - "mapCache_downloadTilesButton": "Завантажити плитки", - "mapCache_clearCacheButton": "Очистити кеш", - "mapCache_failedDownloads": "Невдалі завантаження: {count}", + "mapCache_downloadTilesButton": "Завантажити плитки", + "mapCache_clearCacheButton": "Очистити кеш", + "mapCache_failedDownloads": "Невдалі завантаження: {count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -752,7 +752,7 @@ } } }, - "mapCache_boundsLabel": "Пн {north}, Пд {south}, Сх {east}, Зх {west}", + "mapCache_boundsLabel": "Пн {north}, Пд {south}, Сх {east}, Зх {west}", "@mapCache_boundsLabel": { "placeholders": { "north": { @@ -769,8 +769,8 @@ } } }, - "time_justNow": "Тільки що", - "time_minutesAgo": "{minutes} хв. тому", + "time_justNow": "Тільки що", + "time_minutesAgo": "{minutes} хв. тому", "@time_minutesAgo": { "placeholders": { "minutes": { @@ -778,7 +778,7 @@ } } }, - "time_hoursAgo": "{hours} год. тому", + "time_hoursAgo": "{hours} год. тому", "@time_hoursAgo": { "placeholders": { "hours": { @@ -786,7 +786,7 @@ } } }, - "time_daysAgo": "{days} дн. тому", + "time_daysAgo": "{days} дн. тому", "@time_daysAgo": { "placeholders": { "days": { @@ -794,33 +794,33 @@ } } }, - "time_hour": "година", - "time_hours": "годин", - "time_day": "день", - "time_days": "днів", - "time_week": "тиждень", - "time_weeks": "тижнів", - "time_month": "місяць", - "time_months": "місяців", - "time_minutes": "хвилин", - "time_allTime": "Весь час", - "dialog_disconnect": "Відключити", - "dialog_disconnectConfirm": "Ви впевнені, що хочете відключитися від цього пристрою?", - "login_repeaterLogin": "Вхід у ретранслятор", - "login_roomLogin": "Вхід у кімнату", - "login_password": "Пароль", - "login_enterPassword": "Введіть пароль", - "login_savePassword": "Зберегти пароль", - "login_savePasswordSubtitle": "Пароль буде надійно збережено на цьому пристрої.", - "login_repeaterDescription": "Введіть пароль ретранслятора для доступу до налаштувань та статусу.", - "login_roomDescription": "Введіть пароль кімнати для доступу до налаштувань та статусу.", - "login_routing": "Маршрутизація", - "login_routingMode": "Режим маршрутизації", - "login_autoUseSavedPath": "Авто (використовувати збережений шлях)", - "login_forceFloodMode": "Примусово на всю мережу", - "login_managePaths": "Керувати шляхами", - "login_login": "Вхід", - "login_attempt": "Спроба {current}/{max}", + "time_hour": "година", + "time_hours": "годин", + "time_day": "день", + "time_days": "днів", + "time_week": "тиждень", + "time_weeks": "тижнів", + "time_month": "місяць", + "time_months": "місяців", + "time_minutes": "хвилин", + "time_allTime": "Весь час", + "dialog_disconnect": "Відключити", + "dialog_disconnectConfirm": "Ви впевнені, що хочете відключитися від цього пристрою?", + "login_repeaterLogin": "Вхід у ретранслятор", + "login_roomLogin": "Вхід у кімнату", + "login_password": "Пароль", + "login_enterPassword": "Введіть пароль", + "login_savePassword": "Зберегти пароль", + "login_savePasswordSubtitle": "Пароль буде надійно збережено на цьому пристрої.", + "login_repeaterDescription": "Введіть пароль ретранслятора для доступу до налаштувань та статусу.", + "login_roomDescription": "Введіть пароль кімнати для доступу до налаштувань та статусу.", + "login_routing": "Маршрутизація", + "login_routingMode": "Режим маршрутизації", + "login_autoUseSavedPath": "Авто (використовувати збережений шлях)", + "login_forceFloodMode": "Примусово на всю мережу", + "login_managePaths": "Керувати шляхами", + "login_login": "Вхід", + "login_attempt": "Спроба {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -831,7 +831,7 @@ } } }, - "login_failed": "Вхід не вдався: {error}", + "login_failed": "Вхід не вдався: {error}", "@login_failed": { "placeholders": { "error": { @@ -839,10 +839,10 @@ } } }, - "login_failedMessage": "Вхід не вдався. Або пароль неправильний, або ретранслятор недосяжний.", - "common_reload": "Перезавантажити", - "common_clear": "Очистити", - "path_currentPath": "Поточний шлях: {path}", + "login_failedMessage": "Вхід не вдався. Або пароль неправильний, або ретранслятор недосяжний.", + "common_reload": "Перезавантажити", + "common_clear": "Очистити", + "path_currentPath": "Поточний шлях: {path}", "@path_currentPath": { "placeholders": { "path": { @@ -850,7 +850,7 @@ } } }, - "path_usingHopsPath": "Використання шляху з {count} {count, plural, =1{стрибком} few{стрибками} many{стрибками} other{стрибками}}", + "path_usingHopsPath": "Використання шляху з {count} {count, plural, =1{стрибком} few{стрибками} many{стрибками} other{стрибками}}", "@path_usingHopsPath": { "placeholders": { "count": { @@ -858,16 +858,16 @@ } } }, - "path_enterCustomPath": "Ввести власний шлях", - "path_currentPathLabel": "Поточний шлях", - "path_hexPrefixInstructions": "Введіть 2-символьні hex-префікси для кожного стрибка, розділені комами.", - "path_hexPrefixExample": "Приклад: A1,F2,3C (кожен вузол використовує перший байт свого відкритого ключа).", - "path_labelHexPrefixes": "Hex-префікси", - "path_helperMaxHops": "Макс. 64 стрибки. Кожен префікс - 2 шістнадцяткові символи (1 байт)", - "path_selectFromContacts": "Вибрати з контактів:", - "path_noRepeatersFound": "Ретрансляторів або серверів кімнат не знайдено.", - "path_customPathsRequire": "Власні шляхи вимагають проміжних вузлів, які можуть передавати повідомлення.", - "path_invalidHexPrefixes": "Некоректні hex-префікси: {prefixes}", + "path_enterCustomPath": "Ввести власний шлях", + "path_currentPathLabel": "Поточний шлях", + "path_hexPrefixInstructions": "Введіть 2-символьні hex-префікси для кожного стрибка, розділені комами.", + "path_hexPrefixExample": "Приклад: A1,F2,3C (кожен вузол використовує перший байт свого відкритого ключа).", + "path_labelHexPrefixes": "Hex-префікси", + "path_helperMaxHops": "Макс. 64 стрибки. Кожен префікс - 2 шістнадцяткові символи (1 байт)", + "path_selectFromContacts": "Вибрати з контактів:", + "path_noRepeatersFound": "Ретрансляторів або серверів кімнат не знайдено.", + "path_customPathsRequire": "Власні шляхи вимагають проміжних вузлів, які можуть передавати повідомлення.", + "path_invalidHexPrefixes": "Некоректні hex-префікси: {prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -875,26 +875,26 @@ } } }, - "path_tooLong": "Шлях занадто довгий. Максимум 64 стрибки.", - "path_setPath": "Встановити шлях", - "repeater_management": "Керування ретранслятором", - "repeater_managementTools": "Інструменти керування", - "repeater_status": "Статус", - "repeater_statusSubtitle": "Показати статус, статистику та сусідів ретранслятора", - "repeater_telemetry": "Телеметрія", - "repeater_telemetrySubtitle": "Показати телеметрію сенсорів та статистику системи", + "path_tooLong": "Шлях занадто довгий. Максимум 64 стрибки.", + "path_setPath": "Встановити шлях", + "repeater_management": "Керування ретранслятором", + "repeater_managementTools": "Інструменти керування", + "repeater_status": "Статус", + "repeater_statusSubtitle": "Показати статус, статистику та сусідів ретранслятора", + "repeater_telemetry": "Телеметрія", + "repeater_telemetrySubtitle": "Показати телеметрію сенсорів та статистику системи", "repeater_cli": "CLI", - "repeater_cliSubtitle": "Надіслати команди ретранслятору", - "repeater_settings": "Налаштування", - "repeater_settingsSubtitle": "Налаштувати параметри ретранслятора", - "repeater_statusTitle": "Статус ретранслятора", - "repeater_routingMode": "Режим маршрутизації", - "repeater_autoUseSavedPath": "Авто (використовувати збережений шлях)", - "repeater_forceFloodMode": "Примусово на всю мережу", - "repeater_pathManagement": "Керування шляхами", - "repeater_refresh": "Оновити", - "repeater_statusRequestTimeout": "Час очікування запиту статусу вичерпано.", - "repeater_errorLoadingStatus": "Помилка завантаження статусу: {error}", + "repeater_cliSubtitle": "Надіслати команди ретранслятору", + "repeater_settings": "Налаштування", + "repeater_settingsSubtitle": "Налаштувати параметри ретранслятора", + "repeater_statusTitle": "Статус ретранслятора", + "repeater_routingMode": "Режим маршрутизації", + "repeater_autoUseSavedPath": "Авто (використовувати збережений шлях)", + "repeater_forceFloodMode": "Примусово на всю мережу", + "repeater_pathManagement": "Керування шляхами", + "repeater_refresh": "Оновити", + "repeater_statusRequestTimeout": "Час очікування запиту статусу вичерпано.", + "repeater_errorLoadingStatus": "Помилка завантаження статусу: {error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -902,23 +902,23 @@ } } }, - "repeater_systemInformation": "Системна інформація", - "repeater_battery": "Батарея", - "repeater_clockAtLogin": "Годинник (при вході)", - "repeater_uptime": "Час роботи", - "repeater_queueLength": "Довжина черги", - "repeater_debugFlags": "Прапорці налагодження", - "repeater_radioStatistics": "Статистика радіо", - "repeater_lastRssi": "Останній RSSI", - "repeater_lastSnr": "Останній SNR", - "repeater_noiseFloor": "Рівень шуму", - "repeater_txAirtime": "Ефірний час TX", - "repeater_rxAirtime": "Ефірний час RX", - "repeater_packetStatistics": "Статистика пакетів", - "repeater_sent": "Надіслано", - "repeater_received": "Отримано", - "repeater_duplicates": "Дублікати", - "repeater_daysHoursMinsSecs": "{days} дн. {hours} год {minutes} хв {seconds} с", + "repeater_systemInformation": "Системна інформація", + "repeater_battery": "Батарея", + "repeater_clockAtLogin": "Годинник (при вході)", + "repeater_uptime": "Час роботи", + "repeater_queueLength": "Довжина черги", + "repeater_debugFlags": "Прапорці налагодження", + "repeater_radioStatistics": "Статистика радіо", + "repeater_lastRssi": "Останній RSSI", + "repeater_lastSnr": "Останній SNR", + "repeater_noiseFloor": "Рівень шуму", + "repeater_txAirtime": "Ефірний час TX", + "repeater_rxAirtime": "Ефірний час RX", + "repeater_packetStatistics": "Статистика пакетів", + "repeater_sent": "Надіслано", + "repeater_received": "Отримано", + "repeater_duplicates": "Дублікати", + "repeater_daysHoursMinsSecs": "{days} дн. {hours} год {minutes} хв {seconds} с", "@repeater_daysHoursMinsSecs": { "placeholders": { "days": { @@ -935,7 +935,7 @@ } } }, - "repeater_packetTxTotal": "Всього: {total}, На всю мережу: {flood}, Прямі: {direct}", + "repeater_packetTxTotal": "Всього: {total}, На всю мережу: {flood}, Прямі: {direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -949,7 +949,7 @@ } } }, - "repeater_packetRxTotal": "Всього: {total}, На всю мережу: {flood}, Прямі: {direct}", + "repeater_packetRxTotal": "Всього: {total}, На всю мережу: {flood}, Прямі: {direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -963,7 +963,7 @@ } } }, - "repeater_duplicatesFloodDirect": "На всю мережу: {flood}, Прямі: {direct}", + "repeater_duplicatesFloodDirect": "На всю мережу: {flood}, Прямі: {direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -974,7 +974,7 @@ } } }, - "repeater_duplicatesTotal": "Всього: {total}", + "repeater_duplicatesTotal": "Всього: {total}", "@repeater_duplicatesTotal": { "placeholders": { "total": { @@ -982,37 +982,37 @@ } } }, - "repeater_settingsTitle": "Налаштування ретранслятора", - "repeater_basicSettings": "Основні налаштування", - "repeater_repeaterName": "Ім'я ретранслятора", - "repeater_repeaterNameHelper": "Показати ім'я цього ретранслятора", - "repeater_adminPassword": "Пароль адміністратора", - "repeater_adminPasswordHelper": "Пароль повного доступу", - "repeater_guestPassword": "Гостьовий пароль", - "repeater_guestPasswordHelper": "Доступ лише для читання з паролем", - "repeater_radioSettings": "Налаштування радіо", - "repeater_frequencyMhz": "Частота (МГц)", - "repeater_frequencyHelper": "300-2500 МГц", - "repeater_txPower": "Потужність TX", - "repeater_txPowerHelper": "1-30 дБм", - "repeater_bandwidth": "Смуга пропускання", - "repeater_spreadingFactor": "Коефіцієнт розширення", - "repeater_codingRate": "Швидкість кодування", - "repeater_locationSettings": "Налаштування розташування", - "repeater_latitude": "Широта", - "repeater_latitudeHelper": "Десяткові градуси (наприклад, 37.7749)", - "repeater_longitude": "Довгота", - "repeater_longitudeHelper": "Десяткові градуси (наприклад, -122.4194)", - "repeater_features": "Функції", - "repeater_packetForwarding": "Пересилання пакетів", - "repeater_packetForwardingSubtitle": "Дозволити ретранслятору пересилати пакети", - "repeater_guestAccess": "Гостьовий доступ", - "repeater_guestAccessSubtitle": "Дозволити гостьовий доступ лише для читання", - "repeater_privacyMode": "Режим приватності", - "repeater_privacyModeSubtitle": "Приховати ім'я/розташування в оголошеннях", - "repeater_advertisementSettings": "Налаштування оголошень", - "repeater_localAdvertInterval": "Інтервал локальних оголошень (0 стрибків)", - "repeater_localAdvertIntervalMinutes": "{minutes} хвилин", + "repeater_settingsTitle": "Налаштування ретранслятора", + "repeater_basicSettings": "Основні налаштування", + "repeater_repeaterName": "Ім'я ретранслятора", + "repeater_repeaterNameHelper": "Показати ім'я цього ретранслятора", + "repeater_adminPassword": "Пароль адміністратора", + "repeater_adminPasswordHelper": "Пароль повного доступу", + "repeater_guestPassword": "Гостьовий пароль", + "repeater_guestPasswordHelper": "Доступ лише для читання з паролем", + "repeater_radioSettings": "Налаштування радіо", + "repeater_frequencyMhz": "Частота (МГц)", + "repeater_frequencyHelper": "300-2500 МГц", + "repeater_txPower": "Потужність TX", + "repeater_txPowerHelper": "1-30 дБм", + "repeater_bandwidth": "Смуга пропускання", + "repeater_spreadingFactor": "Коефіцієнт розширення", + "repeater_codingRate": "Швидкість кодування", + "repeater_locationSettings": "Налаштування розташування", + "repeater_latitude": "Широта", + "repeater_latitudeHelper": "Десяткові градуси (наприклад, 37.7749)", + "repeater_longitude": "Довгота", + "repeater_longitudeHelper": "Десяткові градуси (наприклад, -122.4194)", + "repeater_features": "Функції", + "repeater_packetForwarding": "Пересилання пакетів", + "repeater_packetForwardingSubtitle": "Дозволити ретранслятору пересилати пакети", + "repeater_guestAccess": "Гостьовий доступ", + "repeater_guestAccessSubtitle": "Дозволити гостьовий доступ лише для читання", + "repeater_privacyMode": "Режим приватності", + "repeater_privacyModeSubtitle": "Приховати ім'я/розташування в оголошеннях", + "repeater_advertisementSettings": "Налаштування оголошень", + "repeater_localAdvertInterval": "Інтервал локальних оголошень (0 стрибків)", + "repeater_localAdvertIntervalMinutes": "{minutes} хвилин", "@repeater_localAdvertIntervalMinutes": { "placeholders": { "minutes": { @@ -1020,8 +1020,8 @@ } } }, - "repeater_floodAdvertInterval": "Інтервал оголошень на всю мережу (flood)", - "repeater_floodAdvertIntervalHours": "{hours} годин", + "repeater_floodAdvertInterval": "Інтервал оголошень на всю мережу (flood)", + "repeater_floodAdvertIntervalHours": "{hours} годин", "@repeater_floodAdvertIntervalHours": { "placeholders": { "hours": { @@ -1029,19 +1029,19 @@ } } }, - "repeater_encryptedAdvertInterval": "Інтервал зашифрованих оголошень", - "repeater_dangerZone": "Небезпечна зона", - "repeater_rebootRepeater": "Перезавантажити ретранслятор", - "repeater_rebootRepeaterSubtitle": "Скинути пристрій ретранслятора", - "repeater_rebootRepeaterConfirm": "Ви впевнені, що хочете перезавантажити цей ретранслятор?", - "repeater_regenerateIdentityKey": "Перегенерувати ключ ідентичності", - "repeater_regenerateIdentityKeySubtitle": "Згенерувати нову пару ключів (публічний/приватний)", - "repeater_regenerateIdentityKeyConfirm": "Це створить нову ідентичність для ретранслятора. Продовжити?", - "repeater_eraseFileSystem": "Очистити файлову систему", - "repeater_eraseFileSystemSubtitle": "Відформатувати файлову систему ретранслятора", - "repeater_eraseFileSystemConfirm": "УВАГА: Це видалить всі дані з ретранслятора. Це не можна скасувати!", - "repeater_eraseSerialOnly": "Очищення доступне лише через послідовну консоль.", - "repeater_commandSent": "Команда надіслана: {command}", + "repeater_encryptedAdvertInterval": "Інтервал зашифрованих оголошень", + "repeater_dangerZone": "Небезпечна зона", + "repeater_rebootRepeater": "Перезавантажити ретранслятор", + "repeater_rebootRepeaterSubtitle": "Скинути пристрій ретранслятора", + "repeater_rebootRepeaterConfirm": "Ви впевнені, що хочете перезавантажити цей ретранслятор?", + "repeater_regenerateIdentityKey": "Перегенерувати ключ ідентичності", + "repeater_regenerateIdentityKeySubtitle": "Згенерувати нову пару ключів (публічний/приватний)", + "repeater_regenerateIdentityKeyConfirm": "Це створить нову ідентичність для ретранслятора. Продовжити?", + "repeater_eraseFileSystem": "Очистити файлову систему", + "repeater_eraseFileSystemSubtitle": "Відформатувати файлову систему ретранслятора", + "repeater_eraseFileSystemConfirm": "УВАГА: Це видалить всі дані з ретранслятора. Це не можна скасувати!", + "repeater_eraseSerialOnly": "Очищення доступне лише через послідовну консоль.", + "repeater_commandSent": "Команда надіслана: {command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1049,7 +1049,7 @@ } } }, - "repeater_errorSendingCommand": "Помилка надсилання команди: {error}", + "repeater_errorSendingCommand": "Помилка надсилання команди: {error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1057,9 +1057,9 @@ } } }, - "repeater_confirm": "Підтвердити", - "repeater_settingsSaved": "Налаштування успішно збережено.", - "repeater_errorSavingSettings": "Помилка збереження налаштувань: {error}", + "repeater_confirm": "Підтвердити", + "repeater_settingsSaved": "Налаштування успішно збережено.", + "repeater_errorSavingSettings": "Помилка збереження налаштувань: {error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1067,15 +1067,15 @@ } } }, - "repeater_refreshBasicSettings": "Оновити основні налаштування", - "repeater_refreshRadioSettings": "Оновити налаштування радіо", - "repeater_refreshTxPower": "Оновити потужність TX", - "repeater_refreshLocationSettings": "Оновити налаштування розташування", - "repeater_refreshPacketForwarding": "Оновити пересилання пакетів", - "repeater_refreshGuestAccess": "Оновити гостьовий доступ", - "repeater_refreshPrivacyMode": "Оновити режим приватності", - "repeater_refreshAdvertisementSettings": "Оновити налаштування оголошень", - "repeater_refreshed": "{label} оновлено", + "repeater_refreshBasicSettings": "Оновити основні налаштування", + "repeater_refreshRadioSettings": "Оновити налаштування радіо", + "repeater_refreshTxPower": "Оновити потужність TX", + "repeater_refreshLocationSettings": "Оновити налаштування розташування", + "repeater_refreshPacketForwarding": "Оновити пересилання пакетів", + "repeater_refreshGuestAccess": "Оновити гостьовий доступ", + "repeater_refreshPrivacyMode": "Оновити режим приватності", + "repeater_refreshAdvertisementSettings": "Оновити налаштування оголошень", + "repeater_refreshed": "{label} оновлено", "@repeater_refreshed": { "placeholders": { "label": { @@ -1083,7 +1083,7 @@ } } }, - "repeater_errorRefreshing": "Помилка оновлення {label}", + "repeater_errorRefreshing": "Помилка оновлення {label}", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1091,18 +1091,18 @@ } } }, - "repeater_cliTitle": "Ретранслятор CLI", - "repeater_debugNextCommand": "Налагодити наступну команду", - "repeater_commandHelp": "Довідка", - "repeater_clearHistory": "Очистити історію", - "repeater_noCommandsSent": "Команди ще не надсилалися.", - "repeater_typeCommandOrUseQuick": "Введіть команду нижче або використовуйте швидкі команди", - "repeater_enterCommandHint": "Введіть команду...", - "repeater_previousCommand": "Попередня команда", - "repeater_nextCommand": "Наступна команда", - "repeater_enterCommandFirst": "Спершу введіть команду", - "repeater_cliCommandFrameTitle": "Фрейм команди CLI", - "repeater_cliCommandError": "Помилка: {error}", + "repeater_cliTitle": "Ретранслятор CLI", + "repeater_debugNextCommand": "Налагодити наступну команду", + "repeater_commandHelp": "Довідка", + "repeater_clearHistory": "Очистити історію", + "repeater_noCommandsSent": "Команди ще не надсилалися.", + "repeater_typeCommandOrUseQuick": "Введіть команду нижче або використовуйте швидкі команди", + "repeater_enterCommandHint": "Введіть команду...", + "repeater_previousCommand": "Попередня команда", + "repeater_nextCommand": "Наступна команда", + "repeater_enterCommandFirst": "Спершу введіть команду", + "repeater_cliCommandFrameTitle": "Фрейм команди CLI", + "repeater_cliCommandError": "Помилка: {error}", "@repeater_cliCommandError": { "placeholders": { "error": { @@ -1110,81 +1110,81 @@ } } }, - "repeater_cliQuickGetName": "Отримати ім'я", - "repeater_cliQuickGetRadio": "Отримати Радіо", - "repeater_cliQuickGetTx": "Отримати TX", - "repeater_cliQuickNeighbors": "Сусіди", - "repeater_cliQuickVersion": "Версія", - "repeater_cliQuickAdvertise": "Оголосити", - "repeater_cliQuickClock": "Годинник", - "repeater_cliHelpAdvert": "Надсилає пакет оголошення", - "repeater_cliHelpReboot": "Перезавантажує пристрій. (Зверніть увагу, ви можете отримати «Тайм-аут», що є нормальним)", - "repeater_cliHelpClock": "Відображає поточний час за годинником кожного пристрою.", - "repeater_cliHelpPassword": "Встановлює новий пароль адміністратора для пристрою.", - "repeater_cliHelpVersion": "Відображає версію пристрою та дату збірки прошивки.", - "repeater_cliHelpClearStats": "Скидає різні лічильники статистики до нуля.", - "repeater_cliHelpSetAf": "Встановлює коефіцієнт ефірного часу.", - "repeater_cliHelpSetTx": "Встановлює потужність передачі LoRa в дБм (для застосування потрібне перезавантаження).", - "repeater_cliHelpSetRepeat": "Вмикає або вимикає роль ретранслятора для цього вузла.", - "repeater_cliHelpSetAllowReadOnly": "(Сервер кімнати) Якщо «увімкнено», порожній пароль дозволить вхід, але не дозволить публікувати в кімнаті. (тільки читання)", - "repeater_cliHelpSetFloodMax": "Встановлює максимальну кількість стрибків для вхідних пакетів flood (якщо >= max, пакет не пересилається).", - "repeater_cliHelpSetIntThresh": "Встановлює поріг інтерференції (в дБ). Значення за замовчуванням — 14. Встановлення на 0 вимикає виявлення інтерференції каналу.", - "repeater_cliHelpSetAgcResetInterval": "Встановлює інтервал скидання автоматичного контролера посилення (AGC). Встановіть 0 для вимкнення.", - "repeater_cliHelpSetMultiAcks": "Вмикає або вимикає функціональність подвійних ACK.", - "repeater_cliHelpSetAdvertInterval": "Встановлює інтервал таймера для надсилання локального пакету оголошення (без ретрансляції). Встановіть 0 для вимкнення.", - "repeater_cliHelpSetFloodAdvertInterval": "Встановлює інтервал таймера в годинах для надсилання пакету оголошення на всю мережу. Встановіть 0 для вимкнення.", - "repeater_cliHelpSetGuestPassword": "Встановлює/оновлює гостьовий пароль. (для ретрансляторів гостьові підключення можуть надсилати запит «Get Stats»)", - "repeater_cliHelpSetName": "Встановлює ім'я для оголошення.", - "repeater_cliHelpSetLat": "Встановлює широту для карти оголошень. (десяткові градуси)", - "repeater_cliHelpSetLon": "Встановлює довготу для карти оголошень. (десяткові градуси)", - "repeater_cliHelpSetRadio": "Повністю встановлює нові параметри радіо та зберігає їх у налаштуваннях. Потребує команди «перезавантаження» для застосування.", - "repeater_cliHelpSetRxDelay": "Базові (експериментальні) параметри для застосування невеликої затримки до отриманих пакетів залежно від сили сигналу/оцінки. Встановіть 0 для вимкнення.", - "repeater_cliHelpSetTxDelay": "Встановлює множник для часу роботи в режимі «на всю мережу» (flood) для пакету та системи випадкових слотів, щоб затримати його відправку (для зменшення ймовірності колізій).", - "repeater_cliHelpSetDirectTxDelay": "Те саме, що й txdelay, але для застосування випадкової затримки при пересиланні пакетів у прямому режимі.", - "repeater_cliHelpSetBridgeEnabled": "Увімкнути/Вимкнути міст.", - "repeater_cliHelpSetBridgeDelay": "Встановити затримку перед пересиланням пакетів.", - "repeater_cliHelpSetBridgeSource": "Виберіть, чи буде міст ретранслювати отримані пакети або передані пакети.", - "repeater_cliHelpSetBridgeBaud": "Встановити швидкість послідовного зв'язку для мостів Rs232.", - "repeater_cliHelpSetBridgeSecret": "Встановити секрет мосту для мостів espnow.", - "repeater_cliHelpSetAdcMultiplier": "Встановлює власний множник для коригування повідомлюваної напруги батареї (підтримується лише на деяких платах).", - "repeater_cliHelpTempRadio": "Встановлює тимчасові параметри радіо на задану кількість хвилин, потім повертається до початкових налаштувань. (не зберігає в налаштуваннях).", - "repeater_cliHelpSetPerm": "Змінює ACL (список контролю доступу). Видаляє відповідний запис (за префіксом публічного ключа), якщо «permissions» дорівнює нулю. Додає новий запис, якщо hex публічного ключа повний і його немає в ACL. Оновлює запис на основі префікса публічного ключа. Біти дозволів залежать від ролі прошивки, але нижні 2 біти: 0 (Гість), 1 (Тільки читання), 2 (Читання/Запис), 3 (Адміністратор).", - "repeater_cliHelpGetBridgeType": "Отримати тип мосту: немає, rs232, espnow", - "repeater_cliHelpLogStart": "Починає запис пакетів у файлову систему.", - "repeater_cliHelpLogStop": "Зупиняє запис пакетів у файлову систему.", - "repeater_cliHelpLogErase": "Видаляє журнали пакетів з файлової системи.", - "repeater_cliHelpNeighbors": "Показує список інших вузлів-ретрансляторів, почутих через оголошення без ретрансляції. Кожен рядок — id-hex-префікс:timestamp:snr-помножено-на-4", - "repeater_cliHelpNeighborRemove": "Видаляє перший відповідний запис (за префіксом публічного ключа (hex)) зі списку сусідів.", - "repeater_cliHelpRegion": "(тільки серійний) Перелічує всі визначені регіони та поточні дозволи на оголошення «на всю мережу» (flood).", - "repeater_cliHelpRegionLoad": "ПРИМІТКА: це спеціальний виклик кількох команд. Кожна наступна команда — це назва регіону (з відступом пробілами для позначення ієрархії батьків, мінімум один пробіл). Завершується надсиланням порожнього рядка/команди.", - "repeater_cliHelpRegionGet": "Шукає регіон із заданим префіксом назви (або «» для глобальної області). Відповідає: «-> ім'я-регіону (ім'я-батька) 'F'»", - "repeater_cliHelpRegionPut": "Додає або оновлює визначення регіону з заданою назвою.", - "repeater_cliHelpRegionRemove": "Видаляє визначення регіону з заданою назвою.", - "repeater_cliHelpRegionAllowf": "Встановлює дозвіл «Flood» для заданого регіону. ('' для глобальної/успадкованої області)", - "repeater_cliHelpRegionDenyf": "Видаляє дозвіл «Flood» для заданого регіону. (ПРИМІТКА: на даному етапі не рекомендується використовувати для глобальної/успадкованої області!! )", - "repeater_cliHelpRegionHome": "Відповідає поточним «домашнім» регіоном. (Примітка: поки ніде не застосовується, зарезервовано для майбутнього використання)", - "repeater_cliHelpRegionHomeSet": "Встановлює «домашній» регіон.", - "repeater_cliHelpRegionSave": "Зберігає список/карту регіонів у сховищі.", - "repeater_cliHelpGps": "Показує статус GPS. Коли GPS вимкнено, відповідає лише «вимкнено», якщо увімкнено — відповідає «увімкнено», статус, корекція, кількість супутників.", - "repeater_cliHelpGpsOnOff": "Увімкнути/вимкнути GPS.", - "repeater_cliHelpGpsSync": "Синхронізує час вузла з годинником GPS.", - "repeater_cliHelpGpsSetLoc": "Встановлює позицію вузла за координатами GPS і зберігає в налаштуваннях.", - "repeater_cliHelpGpsAdvert": "Надає конфігурацію оголошення розташування вузла:\n- none : не включати розташування в оголошення\n- share : ділитися розташуванням GPS (з SensorManager)\n- prefs : оголошувати розташування, збережене в налаштуваннях", - "repeater_cliHelpGpsAdvertSet": "Встановлює конфігурацію оголошення розташування.", - "repeater_commandsListTitle": "Список команд", - "repeater_commandsListNote": "ПРИМІТКА: для різних команд «set»... також існує команда «get»...", - "repeater_general": "Загальні", - "repeater_settingsCategory": "Налаштування", - "repeater_bridge": "Міст", - "repeater_logging": "Логування", - "repeater_neighborsRepeaterOnly": "Сусіди (Тільки ретранслятор)", - "repeater_regionManagementRepeaterOnly": "Керування регіонами (Тільки ретранслятор)", - "repeater_regionNote": "Команди регіонів були введені для керування визначеннями та дозволами регіонів.", - "repeater_gpsManagement": "Керування GPS", - "repeater_gpsNote": "Команда GPS була введена для керування питаннями, пов'язаними з локацією.", - "telemetry_receivedData": "Дані телеметрії отримано", - "telemetry_requestTimeout": "Час запиту телеметрії вичерпано.", - "telemetry_errorLoading": "Помилка завантаження телеметрії: {error}", + "repeater_cliQuickGetName": "Отримати ім'я", + "repeater_cliQuickGetRadio": "Отримати Радіо", + "repeater_cliQuickGetTx": "Отримати TX", + "repeater_cliQuickNeighbors": "Сусіди", + "repeater_cliQuickVersion": "Версія", + "repeater_cliQuickAdvertise": "Оголосити", + "repeater_cliQuickClock": "Годинник", + "repeater_cliHelpAdvert": "Надсилає пакет оголошення", + "repeater_cliHelpReboot": "Перезавантажує пристрій. (Зверніть увагу, ви можете отримати «Тайм-аут», що Ñ” нормальним)", + "repeater_cliHelpClock": "Відображає поточний час за годинником кожного пристрою.", + "repeater_cliHelpPassword": "Встановлює новий пароль адміністратора для пристрою.", + "repeater_cliHelpVersion": "Відображає версію пристрою та дату збірки прошивки.", + "repeater_cliHelpClearStats": "Скидає різні лічильники статистики до нуля.", + "repeater_cliHelpSetAf": "Встановлює коефіцієнт ефірного часу.", + "repeater_cliHelpSetTx": "Встановлює потужність передачі LoRa в дБм (для застосування потрібне перезавантаження).", + "repeater_cliHelpSetRepeat": "Вмикає або вимикає роль ретранслятора для цього вузла.", + "repeater_cliHelpSetAllowReadOnly": "(Сервер кімнати) Якщо «увімкнено», порожній пароль дозволить вхід, але не дозволить публікувати в кімнаті. (тільки читання)", + "repeater_cliHelpSetFloodMax": "Встановлює максимальну кількість стрибків для вхідних пакетів flood (якщо >= max, пакет не пересилається).", + "repeater_cliHelpSetIntThresh": "Встановлює поріг інтерференції (в дБ). Значення за замовчуванням — 14. Встановлення на 0 вимикає виявлення інтерференції каналу.", + "repeater_cliHelpSetAgcResetInterval": "Встановлює інтервал скидання автоматичного контролера посилення (AGC). Встановіть 0 для вимкнення.", + "repeater_cliHelpSetMultiAcks": "Вмикає або вимикає функціональність подвійних ACK.", + "repeater_cliHelpSetAdvertInterval": "Встановлює інтервал таймера для надсилання локального пакету оголошення (без ретрансляції). Встановіть 0 для вимкнення.", + "repeater_cliHelpSetFloodAdvertInterval": "Встановлює інтервал таймера в годинах для надсилання пакету оголошення на всю мережу. Встановіть 0 для вимкнення.", + "repeater_cliHelpSetGuestPassword": "Встановлює/оновлює гостьовий пароль. (для ретрансляторів гостьові підключення можуть надсилати запит «Get Stats»)", + "repeater_cliHelpSetName": "Встановлює ім'я для оголошення.", + "repeater_cliHelpSetLat": "Встановлює широту для карти оголошень. (десяткові градуси)", + "repeater_cliHelpSetLon": "Встановлює довготу для карти оголошень. (десяткові градуси)", + "repeater_cliHelpSetRadio": "Повністю встановлює нові параметри радіо та зберігає Ñ—Ñ… у налаштуваннях. Потребує команди «перезавантаження» для застосування.", + "repeater_cliHelpSetRxDelay": "Базові (експериментальні) параметри для застосування невеликої затримки до отриманих пакетів залежно від сили сигналу/оцінки. Встановіть 0 для вимкнення.", + "repeater_cliHelpSetTxDelay": "Встановлює множник для часу роботи в режимі «на всю мережу» (flood) для пакету та системи випадкових слотів, щоб затримати його відправку (для зменшення ймовірності колізій).", + "repeater_cliHelpSetDirectTxDelay": "Те саме, що й txdelay, але для застосування випадкової затримки при пересиланні пакетів у прямому режимі.", + "repeater_cliHelpSetBridgeEnabled": "Увімкнути/Вимкнути міст.", + "repeater_cliHelpSetBridgeDelay": "Встановити затримку перед пересиланням пакетів.", + "repeater_cliHelpSetBridgeSource": "Виберіть, чи буде міст ретранслювати отримані пакети або передані пакети.", + "repeater_cliHelpSetBridgeBaud": "Встановити швидкість послідовного зв'язку для мостів Rs232.", + "repeater_cliHelpSetBridgeSecret": "Встановити секрет мосту для мостів espnow.", + "repeater_cliHelpSetAdcMultiplier": "Встановлює власний множник для коригування повідомлюваної напруги батареї (підтримується лише на деяких платах).", + "repeater_cliHelpTempRadio": "Встановлює тимчасові параметри радіо на задану кількість хвилин, потім повертається до початкових налаштувань. (не зберігає в налаштуваннях).", + "repeater_cliHelpSetPerm": "Змінює ACL (список контролю доступу). Видаляє відповідний запис (за префіксом публічного ключа), якщо «permissions» дорівнює нулю. Додає новий запис, якщо hex публічного ключа повний Ñ– його немає в ACL. Оновлює запис на основі префікса публічного ключа. Біти дозволів залежать від ролі прошивки, але нижні 2 біти: 0 (Гість), 1 (Тільки читання), 2 (Читання/Запис), 3 (Адміністратор).", + "repeater_cliHelpGetBridgeType": "Отримати тип мосту: немає, rs232, espnow", + "repeater_cliHelpLogStart": "Починає запис пакетів у файлову систему.", + "repeater_cliHelpLogStop": "Зупиняє запис пакетів у файлову систему.", + "repeater_cliHelpLogErase": "Видаляє журнали пакетів з файлової системи.", + "repeater_cliHelpNeighbors": "Показує список інших вузлів-ретрансляторів, почутих через оголошення без ретрансляції. Кожен рядок — id-hex-префікс:timestamp:snr-помножено-на-4", + "repeater_cliHelpNeighborRemove": "Видаляє перший відповідний запис (за префіксом публічного ключа (hex)) зі списку сусідів.", + "repeater_cliHelpRegion": "(тільки серійний) Перелічує всі визначені регіони та поточні дозволи на оголошення «на всю мережу» (flood).", + "repeater_cliHelpRegionLoad": "ПРИМІТКА: це спеціальний виклик кількох команд. Кожна наступна команда — це назва регіону (з відступом пробілами для позначення ієрархії батьків, мінімум один пробіл). Завершується надсиланням порожнього рядка/команди.", + "repeater_cliHelpRegionGet": "Шукає регіон із заданим префіксом назви (або «» для глобальної області). Відповідає: «-> ім'я-регіону (ім'я-батька) 'F'»", + "repeater_cliHelpRegionPut": "Додає або оновлює визначення регіону з заданою назвою.", + "repeater_cliHelpRegionRemove": "Видаляє визначення регіону з заданою назвою.", + "repeater_cliHelpRegionAllowf": "Встановлює дозвіл «Flood» для заданого регіону. ('' для глобальної/успадкованої області)", + "repeater_cliHelpRegionDenyf": "Видаляє дозвіл «Flood» для заданого регіону. (ПРИМІТКА: на даному етапі не рекомендується використовувати для глобальної/успадкованої області!! )", + "repeater_cliHelpRegionHome": "Відповідає поточним «домашнім» регіоном. (Примітка: поки ніде не застосовується, зарезервовано для майбутнього використання)", + "repeater_cliHelpRegionHomeSet": "Встановлює «домашній» регіон.", + "repeater_cliHelpRegionSave": "Зберігає список/карту регіонів у сховищі.", + "repeater_cliHelpGps": "Показує статус GPS. Коли GPS вимкнено, відповідає лише «вимкнено», якщо увімкнено — відповідає «увімкнено», статус, корекція, кількість супутників.", + "repeater_cliHelpGpsOnOff": "Увімкнути/вимкнути GPS.", + "repeater_cliHelpGpsSync": "Синхронізує час вузла з годинником GPS.", + "repeater_cliHelpGpsSetLoc": "Встановлює позицію вузла за координатами GPS Ñ– зберігає в налаштуваннях.", + "repeater_cliHelpGpsAdvert": "Надає конфігурацію оголошення розташування вузла:\n- none : не включати розташування в оголошення\n- share : ділитися розташуванням GPS (з SensorManager)\n- prefs : оголошувати розташування, збережене в налаштуваннях", + "repeater_cliHelpGpsAdvertSet": "Встановлює конфігурацію оголошення розташування.", + "repeater_commandsListTitle": "Список команд", + "repeater_commandsListNote": "ПРИМІТКА: для різних команд «set»... також існує команда «get»...", + "repeater_general": "Загальні", + "repeater_settingsCategory": "Налаштування", + "repeater_bridge": "Міст", + "repeater_logging": "Логування", + "repeater_neighborsRepeaterOnly": "Сусіди (Тільки ретранслятор)", + "repeater_regionManagementRepeaterOnly": "Керування регіонами (Тільки ретранслятор)", + "repeater_regionNote": "Команди регіонів були введені для керування визначеннями та дозволами регіонів.", + "repeater_gpsManagement": "Керування GPS", + "repeater_gpsNote": "Команда GPS була введена для керування питаннями, пов'язаними з локацією.", + "telemetry_receivedData": "Дані телеметрії отримано", + "telemetry_requestTimeout": "Час запиту телеметрії вичерпано.", + "telemetry_errorLoading": "Помилка завантаження телеметрії: {error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1192,8 +1192,8 @@ } } }, - "telemetry_noData": "Дані телеметрії недоступні.", - "telemetry_channelTitle": "Канал {channel}", + "telemetry_noData": "Дані телеметрії недоступні.", + "telemetry_channelTitle": "Канал {channel}", "@telemetry_channelTitle": { "placeholders": { "channel": { @@ -1201,12 +1201,12 @@ } } }, - "telemetry_batteryLabel": "Батарея", - "telemetry_voltageLabel": "Напруга", - "telemetry_mcuTemperatureLabel": "Температура MCU", - "telemetry_temperatureLabel": "Температура", - "telemetry_currentLabel": "Поточний струм", - "telemetry_batteryValue": "{percent}% / {volts}В", + "telemetry_batteryLabel": "Батарея", + "telemetry_voltageLabel": "Напруга", + "telemetry_mcuTemperatureLabel": "Температура MCU", + "telemetry_temperatureLabel": "Температура", + "telemetry_currentLabel": "Поточний струм", + "telemetry_batteryValue": "{percent}% / {volts}Ð’", "@telemetry_batteryValue": { "placeholders": { "percent": { @@ -1217,7 +1217,7 @@ } } }, - "telemetry_voltageValue": "{volts}В", + "telemetry_voltageValue": "{volts}Ð’", "@telemetry_voltageValue": { "placeholders": { "volts": { @@ -1225,7 +1225,7 @@ } } }, - "telemetry_currentValue": "{amps}А", + "telemetry_currentValue": "{amps}А", "@telemetry_currentValue": { "placeholders": { "amps": { @@ -1233,7 +1233,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1244,18 +1244,18 @@ } } }, - "channelPath_title": "Шлях пакету", - "channelPath_viewMap": "Показати карту", - "channelPath_otherObservedPaths": "Інші спостережувані шляхи", - "channelPath_repeaterHops": "Стрибки ретранслятора", - "channelPath_noHopDetails": "Деталі відправки не надані для цього пакету.", - "channelPath_messageDetails": "Деталі повідомлення", - "channelPath_senderLabel": "Відправник", - "channelPath_timeLabel": "Час", - "channelPath_repeatsLabel": "Повторення", - "channelPath_pathLabel": "Шлях {index}", - "channelPath_observedLabel": "Спостережено", - "channelPath_observedPathTitle": "Спостережуваний шлях {index} • {hops}", + "channelPath_title": "Шлях пакету", + "channelPath_viewMap": "Показати карту", + "channelPath_otherObservedPaths": "Інші спостережувані шляхи", + "channelPath_repeaterHops": "Стрибки ретранслятора", + "channelPath_noHopDetails": "Деталі відправки не надані для цього пакету.", + "channelPath_messageDetails": "Деталі повідомлення", + "channelPath_senderLabel": "Відправник", + "channelPath_timeLabel": "Час", + "channelPath_repeatsLabel": "Повторення", + "channelPath_pathLabel": "Шлях {index}", + "channelPath_observedLabel": "Спостережено", + "channelPath_observedPathTitle": "Спостережуваний шлях {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1266,7 +1266,7 @@ } } }, - "channelPath_noLocationData": "Немає даних про розташування", + "channelPath_noLocationData": "Немає даних про розташування", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1289,10 +1289,10 @@ } } }, - "channelPath_unknownPath": "Невідомий", - "channelPath_floodPath": "На всю мережу", - "channelPath_directPath": "Прямий", - "channelPath_observedZeroOf": "0 з {total} стрибків", + "channelPath_unknownPath": "Невідомий", + "channelPath_floodPath": "На всю мережу", + "channelPath_directPath": "Прямий", + "channelPath_observedZeroOf": "0 з {total} стрибків", "@channelPath_observedZeroOf": { "placeholders": { "total": { @@ -1300,7 +1300,7 @@ } } }, - "channelPath_observedSomeOf": "{observed} з {total} стрибків", + "channelPath_observedSomeOf": "{observed} з {total} стрибків", "@channelPath_observedSomeOf": { "placeholders": { "observed": { @@ -1311,9 +1311,9 @@ } } }, - "channelPath_mapTitle": "Карта шляху", - "channelPath_noRepeaterLocations": "Позиції ретрансляторів недоступні для цього шляху.", - "channelPath_primaryPath": "Шлях {index} (Основний)", + "channelPath_mapTitle": "Карта шляху", + "channelPath_noRepeaterLocations": "Позиції ретрансляторів недоступні для цього шляху.", + "channelPath_primaryPath": "Шлях {index} (Основний)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1328,9 +1328,9 @@ } } }, - "channelPath_pathLabelTitle": "Шлях", - "channelPath_observedPathHeader": "Спостережуваний шлях", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_pathLabelTitle": "Шлях", + "channelPath_observedPathHeader": "Спостережуваний шлях", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1341,20 +1341,20 @@ } } }, - "channelPath_noHopDetailsAvailable": "Деталі стрибків недоступні для цього пакету.", - "channelPath_unknownRepeater": "Невідомий ретранслятор", - "listFilter_tooltip": "Фільтр та сортування", - "listFilter_sortBy": "Сортувати за", - "listFilter_latestMessages": "Останні повідомлення", - "listFilter_heardRecently": "Нещодавно чули", - "listFilter_az": "А-Я", - "listFilter_filters": "Фільтри", - "listFilter_all": "Все", - "listFilter_users": "Користувачі", - "listFilter_repeaters": "Ретранслятори", - "listFilter_roomServers": "Сервери кімнат", - "listFilter_unreadOnly": "Тільки непрочитані повідомлення", - "listFilter_newGroup": "Нова група", + "channelPath_noHopDetailsAvailable": "Деталі стрибків недоступні для цього пакету.", + "channelPath_unknownRepeater": "Невідомий ретранслятор", + "listFilter_tooltip": "Фільтр та сортування", + "listFilter_sortBy": "Сортувати за", + "listFilter_latestMessages": "Останні повідомлення", + "listFilter_heardRecently": "Нещодавно чули", + "listFilter_az": "А-Я", + "listFilter_filters": "Фільтри", + "listFilter_all": "Все", + "listFilter_users": "Користувачі", + "listFilter_repeaters": "Ретранслятори", + "listFilter_roomServers": "Сервери кімнат", + "listFilter_unreadOnly": "Тільки непрочитані повідомлення", + "listFilter_newGroup": "Нова група", "@neighbors_errorLoading": { "placeholders": { "error": { @@ -1362,25 +1362,25 @@ } } }, - "repeater_neighbors": "Сусіди", - "repeater_neighborsSubtitle": "Показати сусідів нульового стрибка.", - "neighbors_receivedData": "Дані сусідів отримано", - "neighbors_requestTimedOut": "Час запиту сусідів вичерпано.", - "neighbors_errorLoading": "Помилка завантаження сусідів: {error}", - "neighbors_repeatersNeighbors": "Ретранслятори-сусіди", - "neighbors_noData": "Дані про сусідів недоступні.", - "channels_createPrivateChannelDesc": "Захищено секретним ключем.", - "channels_joinPrivateChannel": "Приєднатися до приватного каналу", - "channels_createPrivateChannel": "Створити приватний канал", - "channels_joinPrivateChannelDesc": "Ввести секретний ключ вручну.", - "channels_joinPublicChannel": "Приєднатися до публічного каналу", - "channels_joinPublicChannelDesc": "Будь-хто може приєднатися до цього каналу.", - "channels_joinHashtagChannel": "Приєднатися до каналу з хештегом", - "channels_joinHashtagChannelDesc": "Будь-хто може приєднатися до каналів #hashtag.", - "channels_scanQrCode": "Сканувати QR-код", - "channels_scanQrCodeComingSoon": "Скоро буде", - "channels_enterHashtag": "Введіть хештег", - "channels_hashtagHint": "напр. #команда", + "repeater_neighbors": "Сусіди", + "repeater_neighborsSubtitle": "Показати сусідів нульового стрибка.", + "neighbors_receivedData": "Дані сусідів отримано", + "neighbors_requestTimedOut": "Час запиту сусідів вичерпано.", + "neighbors_errorLoading": "Помилка завантаження сусідів: {error}", + "neighbors_repeatersNeighbors": "Ретранслятори-сусіди", + "neighbors_noData": "Дані про сусідів недоступні.", + "channels_createPrivateChannelDesc": "Захищено секретним ключем.", + "channels_joinPrivateChannel": "Приєднатися до приватного каналу", + "channels_createPrivateChannel": "Створити приватний канал", + "channels_joinPrivateChannelDesc": "Ввести секретний ключ вручну.", + "channels_joinPublicChannel": "Приєднатися до публічного каналу", + "channels_joinPublicChannelDesc": "Будь-хто може приєднатися до цього каналу.", + "channels_joinHashtagChannel": "Приєднатися до каналу з хештегом", + "channels_joinHashtagChannelDesc": "Будь-хто може приєднатися до каналів #hashtag.", + "channels_scanQrCode": "Сканувати QR-код", + "channels_scanQrCodeComingSoon": "Скоро буде", + "channels_enterHashtag": "Введіть хештег", + "channels_hashtagHint": "напр. #команда", "@neighbors_unknownContact": { "placeholders": { "pubkey": { @@ -1395,14 +1395,14 @@ } } }, - "neighbors_unknownContact": "Невідомий відкритий ключ {pubkey}", - "neighbors_heardAgo": "Почуто: {time} тому", - "settings_locationGPSEnable": "Увімкнути GPS", - "settings_locationGPSEnableSubtitle": "Вмикає автоматичне оновлення місцезнаходження через GPS.", - "settings_locationIntervalSec": "Інтервал для GPS (Секунди)", - "settings_locationIntervalInvalid": "Інтервал має бути не менше 60 секунд і менше 86400 секунд.", - "contacts_manageRoom": "Керувати сервером кімнати", - "room_management": "Адміністрування сервера кімнати", + "neighbors_unknownContact": "Невідомий відкритий ключ {pubkey}", + "neighbors_heardAgo": "Почуто: {time} тому", + "settings_locationGPSEnable": "Увімкнути GPS", + "settings_locationGPSEnableSubtitle": "Вмикає автоматичне оновлення місцезнаходження через GPS.", + "settings_locationIntervalSec": "Інтервал для GPS (Секунди)", + "settings_locationIntervalInvalid": "Інтервал має бути не менше 60 секунд Ñ– менше 86400 секунд.", + "contacts_manageRoom": "Керувати сервером кімнати", + "room_management": "Адміністрування сервера кімнати", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1459,36 +1459,36 @@ } } }, - "common_ok": "ОК", - "community_title": "Спільнота", - "community_create": "Створити спільноту", - "community_createDesc": "Створити нову спільноту та поділитися через QR-код.", - "community_join": "Приєднатися", - "community_joinTitle": "Приєднатися до спільноти", - "community_joinConfirmation": "Ви бажаєте приєднатися до спільноти «{name}»?", - "community_scanQr": "Сканувати QR спільноти", - "community_scanInstructions": "Наведіть камеру на QR-код спільноти.", - "community_showQr": "Показати QR-код", - "community_publicChannel": "Публічна спільнота", - "community_hashtagChannel": "Хештег спільноти", - "community_name": "Назва спільноти", - "community_enterName": "Введіть назву спільноти", - "community_created": "Спільноту «{name}» створено", - "community_joined": "Приєднався до спільноти «{name}»", - "community_qrTitle": "Поділитися спільнотою", - "community_qrInstructions": "Відскануйте цей QR-код, щоб приєднатися до {name}", - "community_hashtagPrivacyHint": "Канали хештегів спільноти доступні лише членам спільноти", - "community_invalidQrCode": "Недійсний QR-код спільноти", - "community_alreadyMember": "Вже учасник", - "community_alreadyMemberMessage": "Ви вже є учасником «{name}».", - "community_addPublicChannel": "Додати публічний канал спільноти", - "community_addPublicChannelHint": "Автоматично додати публічний канал для цієї спільноти", - "community_noCommunities": "Поки не приєднано до жодної групи.", - "community_scanOrCreate": "Відскануйте QR-код або створіть спільноту, щоб почати", - "community_manageCommunities": "Керувати спільнотами", - "community_delete": "Покинути спільноту", - "community_deleteConfirm": "Покинути «{name}»?", - "community_deleteChannelsWarning": "Це також видалить {count} {count, plural, =1{канал} few{канали} many{каналів} other{каналів}} та їх повідомлення.", + "common_ok": "ОК", + "community_title": "Спільнота", + "community_create": "Створити спільноту", + "community_createDesc": "Створити нову спільноту та поділитися через QR-код.", + "community_join": "Приєднатися", + "community_joinTitle": "Приєднатися до спільноти", + "community_joinConfirmation": "Ви бажаєте приєднатися до спільноти «{name}»?", + "community_scanQr": "Сканувати QR спільноти", + "community_scanInstructions": "Наведіть камеру на QR-код спільноти.", + "community_showQr": "Показати QR-код", + "community_publicChannel": "Публічна спільнота", + "community_hashtagChannel": "Хештег спільноти", + "community_name": "Назва спільноти", + "community_enterName": "Введіть назву спільноти", + "community_created": "Спільноту «{name}» створено", + "community_joined": "Приєднався до спільноти «{name}»", + "community_qrTitle": "Поділитися спільнотою", + "community_qrInstructions": "Відскануйте цей QR-код, щоб приєднатися до {name}", + "community_hashtagPrivacyHint": "Канали хештегів спільноти доступні лише членам спільноти", + "community_invalidQrCode": "Недійсний QR-код спільноти", + "community_alreadyMember": "Вже учасник", + "community_alreadyMemberMessage": "Ви вже Ñ” учасником «{name}».", + "community_addPublicChannel": "Додати публічний канал спільноти", + "community_addPublicChannelHint": "Автоматично додати публічний канал для цієї спільноти", + "community_noCommunities": "Поки не приєднано до жодної групи.", + "community_scanOrCreate": "Відскануйте QR-код або створіть спільноту, щоб почати", + "community_manageCommunities": "Керувати спільнотами", + "community_delete": "Покинути спільноту", + "community_deleteConfirm": "Покинути «{name}»?", + "community_deleteChannelsWarning": "Це також видалить {count} {count, plural, =1{канал} few{канали} many{каналів} other{каналів}} та Ñ—Ñ… повідомлення.", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1496,15 +1496,15 @@ } } }, - "community_deleted": "Спільноту «{name}» покинуто", - "community_addHashtagChannel": "Додати хештег спільноти", - "community_addHashtagChannelDesc": "Додати канал хештегу для цієї спільноти", - "community_selectCommunity": "Вибрати спільноту", - "community_regularHashtag": "Звичайний хештег", - "community_regularHashtagDesc": "Публічний хештег (будь-хто може приєднатися)", - "community_communityHashtag": "Хештег спільноти", - "community_communityHashtagDesc": "Ексклюзивно для членів спільноти", - "community_forCommunity": "Для {name}", + "community_deleted": "Спільноту «{name}» покинуто", + "community_addHashtagChannel": "Додати хештег спільноти", + "community_addHashtagChannelDesc": "Додати канал хештегу для цієї спільноти", + "community_selectCommunity": "Вибрати спільноту", + "community_regularHashtag": "Звичайний хештег", + "community_regularHashtagDesc": "Публічний хештег (будь-хто може приєднатися)", + "community_communityHashtag": "Хештег спільноти", + "community_communityHashtagDesc": "Ексклюзивно для членів спільноти", + "community_forCommunity": "Для {name}", "@community_regenerateSecretConfirm": { "placeholders": { "name": { @@ -1533,13 +1533,13 @@ } } }, - "community_regenerateSecret": "Перегенерувати секрет", - "community_regenerateSecretConfirm": "Перегенерувати секретний ключ для «{name}»? Всі учасники повинні будуть відсканувати новий QR-код, щоб продовжити спілкування.", - "community_regenerate": "Перегенерувати", - "community_secretRegenerated": "Секретний пароль для «{name}» перегенеровано", - "community_scanToUpdateSecret": "Відскануйте новий QR-код, щоб оновити пароль для «{name}»", - "community_updateSecret": "Оновити секрет", - "community_secretUpdated": "Зміну секрету для «{name}» оновлено", + "community_regenerateSecret": "Перегенерувати секрет", + "community_regenerateSecretConfirm": "Перегенерувати секретний ключ для «{name}»? Всі учасники повинні будуть відсканувати новий QR-код, щоб продовжити спілкування.", + "community_regenerate": "Перегенерувати", + "community_secretRegenerated": "Секретний пароль для «{name}» перегенеровано", + "community_scanToUpdateSecret": "Відскануйте новий QR-код, щоб оновити пароль для «{name}»", + "community_updateSecret": "Оновити секрет", + "community_secretUpdated": "Зміну секрету для «{name}» оновлено", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1547,81 +1547,81 @@ } } }, - "pathTrace_you": "Ви", - "pathTrace_failed": "Відстеження шляху не вдалося.", - "pathTrace_notAvailable": "Трасування шляху недоступне.", - "pathTrace_refreshTooltip": "Оновити Path Trace", - "contacts_pathTrace": "Трасування шляхів", - "contacts_ping": "Пінгувати", - "contacts_repeaterPathTrace": "Трасування шляху до повторювача", - "contacts_repeaterPing": "Пінгувати повторювач", - "contacts_roomPathTrace": "Трасування шляху до серверу кімнати", - "contacts_roomPing": "Пінг сервера кімнати", - "contacts_chatTraceRoute": "Трасування шляху", - "contacts_pathTraceTo": "Відстежити маршрут до {name}", - "contacts_invalidAdvertFormat": "Недійсні контактні дані", - "contacts_contactImported": "Контакт було імпортовано.", - "contacts_contactImportFailed": "Контакт не вдалося імпортувати", - "contacts_zeroHopAdvert": "Реклама без перехоплення", - "contacts_floodAdvert": "Залив реклами", - "contacts_copyAdvertToClipboard": "Копіювати оголошення в буфер обміну", - "contacts_clipboardEmpty": "Буфер обміну порожній", - "appSettings_languageRu": "Російська", - "appSettings_enableMessageTracing": "Увімкнути відстеження повідомлень", - "appSettings_enableMessageTracingSubtitle": "Показувати детальні метадані про маршрутизацію та час для повідомлень", - "contacts_ShareContact": "Копіювати контакт у буфер обміну", - "contacts_zeroHopContactAdvertFailed": "Не вдалося надіслати контакт.", - "contacts_contactAdvertCopied": "Рекламу скопійовано до буфера обміну.", - "contacts_contactAdvertCopyFailed": "Копіювання оголошення в буфер обміну завершилося невдало", - "contacts_zeroHopContactAdvertSent": "Відправлено контакт за оголошенням", - "contacts_addContactFromClipboard": "Додати контакт з буфера обміну", - "contacts_ShareContactZeroHop": "Поділитися контактом за оголошенням", - "notification_activityTitle": "Активність MeshCore", - "notification_messagesCount": "{count} {count, plural, =1{повідомлення} few{повідомлення} many{повідомлень} other{повідомлень}}", - "notification_channelMessagesCount": "{count} {count, plural, =1{повідомлення каналу} few{повідомлення каналу} many{повідомлень каналу} other{повідомлень каналу}}", - "notification_newNodesCount": "{count} {count, plural, =1{новий вузол} few{нових вузли} many{нових вузлів} other{нових вузлів}}", - "notification_newTypeDiscovered": "Виявлено новий {contactType}", - "notification_receivedNewMessage": "Отримано нове повідомлення", - "settings_gpxExportRepeaters": "Експортувати ретранслятори / сервер кімнати до GPX", - "settings_gpxExportRepeatersSubtitle": "Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.", - "settings_gpxExportSuccess": "Успішно експортовано файл GPX.", - "settings_gpxExportNoContacts": "Немає контактів для експорту.", - "settings_gpxExportNotAvailable": "Не підтримується на вашому пристрої/операційній системі", - "settings_gpxExportError": "Сталася помилка під час експорту.", - "settings_gpxExportAllSubtitle": "Експортує всі контакти з місцем розташування у файл GPX.", - "settings_gpxExportAll": "Експортувати всі контакти до GPX", - "settings_gpxExportContactsSubtitle": "Експортує супутників з місцезнаходженням у файл GPX.", - "settings_gpxExportContacts": "Експортувати супутників до GPX", - "settings_gpxExportRepeatersRoom": "Місцезнаходження повторювача та сервера кімнати", - "settings_gpxExportChat": "Місця супутників", - "settings_gpxExportShareText": "Дані карти експортовані з meshcore-open", - "settings_gpxExportAllContacts": "Усі місця контактів", - "settings_gpxExportShareSubject": "експорт даних карти meshcore-open у форматі GPX", - "pathTrace_someHopsNoLocation": "Одне або більше хмелів відсутнє місце розташування!", - "map_tapToAdd": "Натисніть на вузли, щоб додати їх до шляху", - "map_runTrace": "Виконати трасування шляху", - "pathTrace_clearTooltip": "Очистити шлях", - "map_removeLast": "Видалити останній", - "map_pathTraceCancelled": "Відмінується трасування шляху", - "scanner_enableBluetooth": "Увімкніть Bluetooth", - "scanner_bluetoothOffMessage": "Будь ласка, увімкніть Bluetooth, щоб сканувати пристрої.", - "scanner_chromeRequired": "Потрібен браузер Chrome", - "scanner_chromeRequiredMessage": "Для підтримки Bluetooth у цьому веб-додатку потрібен Google Chrome або браузер на базі Chromium.", - "scanner_bluetoothOff": "Bluetooth вимкнено", - "snrIndicator_lastSeen": "Останній раз бачили", - "snrIndicator_nearByRepeaters": "Ближні ретранслятори", - "chat_ShowAllPaths": "Показати всі шляхи", - "settings_clientRepeatFreqWarning": "Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.", - "settings_clientRepeatSubtitle": "Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.", - "settings_clientRepeat": "Автономна система", - "settings_aboutOpenMeteoAttribution": "Дані про висоту LOS: Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "одиниці", - "appSettings_unitsMetric": "Метричний (м / км)", - "appSettings_unitsImperial": "Імперська (ft / mi)", - "map_lineOfSight": "Пряма видимість", - "map_losScreenTitle": "Пряма видимість", - "losSelectStartEnd": "Виберіть початковий і кінцевий вузли для LOS.", - "losRunFailed": "Помилка перевірки прямої видимості: {error}", + "pathTrace_you": "Ви", + "pathTrace_failed": "Відстеження шляху не вдалося.", + "pathTrace_notAvailable": "Трасування шляху недоступне.", + "pathTrace_refreshTooltip": "Оновити Path Trace", + "contacts_pathTrace": "Трасування шляхів", + "contacts_ping": "Пінгувати", + "contacts_repeaterPathTrace": "Трасування шляху до повторювача", + "contacts_repeaterPing": "Пінгувати повторювач", + "contacts_roomPathTrace": "Трасування шляху до серверу кімнати", + "contacts_roomPing": "Пінг сервера кімнати", + "contacts_chatTraceRoute": "Трасування шляху", + "contacts_pathTraceTo": "Відстежити маршрут до {name}", + "contacts_invalidAdvertFormat": "Недійсні контактні дані", + "contacts_contactImported": "Контакт було імпортовано.", + "contacts_contactImportFailed": "Контакт не вдалося імпортувати", + "contacts_zeroHopAdvert": "Реклама без перехоплення", + "contacts_floodAdvert": "Залив реклами", + "contacts_copyAdvertToClipboard": "Копіювати оголошення в буфер обміну", + "contacts_clipboardEmpty": "Буфер обміну порожній", + "appSettings_languageRu": "Російська", + "appSettings_enableMessageTracing": "Увімкнути відстеження повідомлень", + "appSettings_enableMessageTracingSubtitle": "Показувати детальні метадані про маршрутизацію та час для повідомлень", + "contacts_ShareContact": "Копіювати контакт у буфер обміну", + "contacts_zeroHopContactAdvertFailed": "Не вдалося надіслати контакт.", + "contacts_contactAdvertCopied": "Рекламу скопійовано до буфера обміну.", + "contacts_contactAdvertCopyFailed": "Копіювання оголошення в буфер обміну завершилося невдало", + "contacts_zeroHopContactAdvertSent": "Відправлено контакт за оголошенням", + "contacts_addContactFromClipboard": "Додати контакт з буфера обміну", + "contacts_ShareContactZeroHop": "Поділитися контактом за оголошенням", + "notification_activityTitle": "Активність MeshCore", + "notification_messagesCount": "{count} {count, plural, =1{повідомлення} few{повідомлення} many{повідомлень} other{повідомлень}}", + "notification_channelMessagesCount": "{count} {count, plural, =1{повідомлення каналу} few{повідомлення каналу} many{повідомлень каналу} other{повідомлень каналу}}", + "notification_newNodesCount": "{count} {count, plural, =1{новий вузол} few{нових вузли} many{нових вузлів} other{нових вузлів}}", + "notification_newTypeDiscovered": "Виявлено новий {contactType}", + "notification_receivedNewMessage": "Отримано нове повідомлення", + "settings_gpxExportRepeaters": "Експортувати ретранслятори / сервер кімнати до GPX", + "settings_gpxExportRepeatersSubtitle": "Експортує ретранслятори / сервер кімнати з місцезнаходженням у файл GPX.", + "settings_gpxExportSuccess": "Успішно експортовано файл GPX.", + "settings_gpxExportNoContacts": "Немає контактів для експорту.", + "settings_gpxExportNotAvailable": "Не підтримується на вашому пристрої/операційній системі", + "settings_gpxExportError": "Сталася помилка під час експорту.", + "settings_gpxExportAllSubtitle": "Експортує всі контакти з місцем розташування у файл GPX.", + "settings_gpxExportAll": "Експортувати всі контакти до GPX", + "settings_gpxExportContactsSubtitle": "Експортує супутників з місцезнаходженням у файл GPX.", + "settings_gpxExportContacts": "Експортувати супутників до GPX", + "settings_gpxExportRepeatersRoom": "Місцезнаходження повторювача та сервера кімнати", + "settings_gpxExportChat": "Місця супутників", + "settings_gpxExportShareText": "Дані карти експортовані з meshcore-open", + "settings_gpxExportAllContacts": "Усі місця контактів", + "settings_gpxExportShareSubject": "експорт даних карти meshcore-open у форматі GPX", + "pathTrace_someHopsNoLocation": "Одне або більше хмелів відсутнє місце розташування!", + "map_tapToAdd": "Натисніть на вузли, щоб додати Ñ—Ñ… до шляху", + "map_runTrace": "Виконати трасування шляху", + "pathTrace_clearTooltip": "Очистити шлях", + "map_removeLast": "Видалити останній", + "map_pathTraceCancelled": "Відмінується трасування шляху", + "scanner_enableBluetooth": "Увімкніть Bluetooth", + "scanner_bluetoothOffMessage": "Будь ласка, увімкніть Bluetooth, щоб сканувати пристрої.", + "scanner_chromeRequired": "Потрібен браузер Chrome", + "scanner_chromeRequiredMessage": "Для підтримки Bluetooth у цьому веб-додатку потрібен Google Chrome або браузер на базі Chromium.", + "scanner_bluetoothOff": "Bluetooth вимкнено", + "snrIndicator_lastSeen": "Останній раз бачили", + "snrIndicator_nearByRepeaters": "Ближні ретранслятори", + "chat_ShowAllPaths": "Показати всі шляхи", + "settings_clientRepeatFreqWarning": "Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.", + "settings_clientRepeatSubtitle": "Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.", + "settings_clientRepeat": "Автономна система", + "settings_aboutOpenMeteoAttribution": "Дані про висоту LOS: Open-Meteo (CC BY 4.0)", + "appSettings_unitsTitle": "одиниці", + "appSettings_unitsMetric": "Метричний (м / км)", + "appSettings_unitsImperial": "Імперська (ft / mi)", + "map_lineOfSight": "Пряма видимість", + "map_losScreenTitle": "Пряма видимість", + "losSelectStartEnd": "Виберіть початковий Ñ– кінцевий вузли для LOS.", + "losRunFailed": "Помилка перевірки прямої видимості: {error}", "@losRunFailed": { "placeholders": { "error": { @@ -1629,13 +1629,13 @@ } } }, - "losClearAllPoints": "Очистити всі пункти", - "losRunToViewElevationProfile": "Запустіть LOS, щоб переглянути профіль висоти", - "losMenuTitle": "Меню LOS", - "losMenuSubtitle": "Торкніться вузлів або утримуйте карту, щоб отримати власні точки", - "losShowDisplayNodes": "Показати вузли відображення", - "losCustomPoints": "Користувальницькі точки", - "losCustomPointLabel": "Спеціальний {index}", + "losClearAllPoints": "Очистити всі пункти", + "losRunToViewElevationProfile": "Запустіть LOS, щоб переглянути профіль висоти", + "losMenuTitle": "Меню LOS", + "losMenuSubtitle": "Торкніться вузлів або утримуйте карту, щоб отримати власні точки", + "losShowDisplayNodes": "Показати вузли відображення", + "losCustomPoints": "Користувальницькі точки", + "losCustomPointLabel": "Спеціальний {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -1643,9 +1643,9 @@ } } }, - "losPointA": "Точка А", - "losPointB": "Точка Б", - "losAntennaA": "Антена A: {value} {unit}", + "losPointA": "Точка А", + "losPointB": "Точка Б", + "losAntennaA": "Антена A: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -1656,7 +1656,7 @@ } } }, - "losAntennaB": "Антена B: {value} {unit}", + "losAntennaB": "Антена B: {value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -1667,9 +1667,9 @@ } } }, - "losRun": "Запустіть LOS", - "losNoElevationData": "Немає даних про висоту", - "losProfileClear": "{distance} {distanceUnit}, чистий LOS, мінімальний зазор {clearance} {heightUnit}", + "losRun": "Запустіть LOS", + "losNoElevationData": "Немає даних про висоту", + "losProfileClear": "{distance} {distanceUnit}, чистий LOS, мінімальний зазор {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1686,7 +1686,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit}, заблоковано {obstruction} {heightUnit}", + "losProfileBlocked": "{distance} {distanceUnit}, заблоковано {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { @@ -1703,9 +1703,9 @@ } } }, - "losStatusChecking": "LOS: перевірка...", - "losStatusNoData": "LOS: немає даних", - "losStatusSummary": "LOS: {clear}/{total} очищено, {blocked} заблоковано, {unknown} невідомо", + "losStatusChecking": "LOS: перевірка...", + "losStatusNoData": "LOS: немає даних", + "losStatusSummary": "LOS: {clear}/{total} очищено, {blocked} заблоковано, {unknown} невідомо", "@losStatusSummary": { "placeholders": { "clear": { @@ -1722,20 +1722,20 @@ } } }, - "losErrorElevationUnavailable": "Дані про висоту недоступні для одного чи кількох зразків.", - "losErrorInvalidInput": "Недійсні дані про точки/висоту для розрахунку LOS.", - "losRenameCustomPoint": "Перейменуйте спеціальну точку", - "losPointName": "Назва точки", - "losShowPanelTooltip": "Показати панель LOS", - "losHidePanelTooltip": "Приховати панель LOS", - "losElevationAttribution": "Дані про висоту: Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "Радіогоризонт", - "losLegendLosBeam": "Лінія прямої видимості", - "losLegendTerrain": "Рельєф", - "losFrequencyLabel": "Частота", - "losFrequencyInfoTooltip": "Переглянути деталі розрахунку", - "losFrequencyDialogTitle": "Розрахунок радіогоризонту", - "losFrequencyDialogDescription": "Починаючи з k={baselineK} на {baselineFreq} МГц, обчислення коригує k-фактор для поточного діапазону {frequencyMHz} МГц, який визначає викривлену межу радіогоризонту.", + "losErrorElevationUnavailable": "Дані про висоту недоступні для одного чи кількох зразків.", + "losErrorInvalidInput": "Недійсні дані про точки/висоту для розрахунку LOS.", + "losRenameCustomPoint": "Перейменуйте спеціальну точку", + "losPointName": "Назва точки", + "losShowPanelTooltip": "Показати панель LOS", + "losHidePanelTooltip": "Приховати панель LOS", + "losElevationAttribution": "Дані про висоту: Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "Радіогоризонт", + "losLegendLosBeam": "Лінія прямої видимості", + "losLegendTerrain": "Рельєф", + "losFrequencyLabel": "Частота", + "losFrequencyInfoTooltip": "Переглянути деталі розрахунку", + "losFrequencyDialogTitle": "Розрахунок радіогоризонту", + "losFrequencyDialogDescription": "Починаючи з k={baselineK} на {baselineFreq} МГц, обчислення коригує k-фактор для поточного діапазону {frequencyMHz} МГц, який визначає викривлену межу радіогоризонту.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1753,9 +1753,9 @@ } } }, - "listFilter_removeFromFavorites": "Видалити зі списку улюблених", - "listFilter_addToFavorites": "Додати до улюблених", - "listFilter_favorites": "Улюблені", + "listFilter_removeFromFavorites": "Видалити зі списку улюблених", + "listFilter_addToFavorites": "Додати до улюблених", + "listFilter_favorites": "Улюблені", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1796,19 +1796,17 @@ } } }, - "contacts_searchRoomServers": "Пошук {number}{str} серверів кімнат...", - "contacts_searchUsers": "Пошук {number}{str} користувачів...", - "contacts_searchFavorites": "Пошук {number}{str} улюблених...", - "contacts_searchContactsNoNumber": "Пошук контактів...", - "contacts_searchRepeaters": "Пошук {number}{str} ретрансляторів...", - "contacts_unread": "Непрочитане", - "connectionChoiceSubtitle": "Виберіть, яким способом ви бажаєте отримати доступ до вашого пристрою MeshCore.", + "contacts_searchRoomServers": "Пошук {number}{str} серверів кімнат...", + "contacts_searchUsers": "Пошук {number}{str} користувачів...", + "contacts_searchFavorites": "Пошук {number}{str} улюблених...", + "contacts_searchContactsNoNumber": "Пошук контактів...", + "contacts_searchRepeaters": "Пошук {number}{str} ретрансляторів...", + "contacts_unread": "Непрочитане", "connectionChoiceUsbLabel": "USB", - "connectionChoiceTitle": "Виберіть спосіб зв'язку", "connectionChoiceBluetoothLabel": "Bluetooth", - "usbScreenSubtitle": "Виберіть виявлене серійне пристрій і підключіть його безпосередньо до вашого вузла MeshCore.", - "usbScreenTitle": "Підключити через USB", - "usbScreenStatus": "Виберіть пристрій USB", - "usbScreenNote": "USB-серіальний інтерфейс активний на підтримуваних пристроях на базі Android та на десктопних платформах.", - "usbScreenEmptyState": "Не знайдено жодних пристроїв USB. Підключіть один і перезавантажте." + "usbScreenSubtitle": "Виберіть виявлене серійне пристрій Ñ– підключіть його безпосередньо до вашого вузла MeshCore.", + "usbScreenTitle": "Підключити через USB", + "usbScreenStatus": "Виберіть пристрій USB", + "usbScreenNote": "USB-серіальний інтерфейс активний на підтримуваних пристроях на базі Android та на десктопних платформах.", + "usbScreenEmptyState": "Не знайдено жодних пристроїв USB. Підключіть один Ñ– перезавантажте." } diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index c35cbaa..c3ea415 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1,5 +1,5 @@ -{ - "channels_channelDeleteFailed": "无法删除频道 \"{name}\"", +{ + "channels_channelDeleteFailed": "无法删除频道 \"{name}\"", "@channels_channelDeleteFailed": { "placeholders": { "name": { @@ -9,34 +9,34 @@ }, "@@locale": "zh", "appTitle": "MeshCore Open", - "nav_contacts": "联系人", - "nav_channels": "频道", - "nav_map": "地图", - "common_cancel": "取消", - "common_ok": "确定", - "common_connect": "连接", - "common_unknownDevice": "未知设备", - "common_save": "保存", - "common_delete": "删除", - "common_close": "关闭", - "common_edit": "编辑", - "common_add": "添加", - "common_settings": "设置", - "common_disconnect": "断开", - "common_connected": "已连接", - "common_disconnected": "已断开", - "common_create": "创建", - "common_continue": "继续", - "common_share": "分享", - "common_copy": "复制", - "common_retry": "重试", - "common_hide": "隐藏", - "common_remove": "移除", - "common_enable": "启用", - "common_disable": "禁用", - "common_reboot": "重启", - "common_loading": "正在加载...", - "common_notAvailable": "—", + "nav_contacts": "联系人", + "nav_channels": "频道", + "nav_map": "地图", + "common_cancel": "取消", + "common_ok": "确定", + "common_connect": "连接", + "common_unknownDevice": "未知设备", + "common_save": "保存", + "common_delete": "删除", + "common_close": "关闭", + "common_edit": "编辑", + "common_add": "添加", + "common_settings": "设置", + "common_disconnect": "æ–­å¼€", + "common_connected": "已连接", + "common_disconnected": "已断开", + "common_create": "创建", + "common_continue": "ç»§ç»­", + "common_share": "分享", + "common_copy": "复制", + "common_retry": "重试", + "common_hide": "隐藏", + "common_remove": "移除", + "common_enable": "启用", + "common_disable": "禁用", + "common_reboot": "重启", + "common_loading": "正在加载...", + "common_notAvailable": "—", "common_voltageValue": "{volts} V", "@common_voltageValue": { "placeholders": { @@ -53,12 +53,12 @@ } } }, - "scanner_title": "连接设备", - "scanner_scanning": "正在搜索设备...", - "scanner_connecting": "正在连接...", - "scanner_disconnecting": "断开连接...", - "scanner_notConnected": "未连接", - "scanner_connectedTo": "已连接到 {deviceName}", + "scanner_title": "连接设备", + "scanner_scanning": "正在搜索设备...", + "scanner_connecting": "正在连接...", + "scanner_disconnecting": "断开连接...", + "scanner_notConnected": "未连接", + "scanner_connectedTo": "已连接到 {deviceName}", "@scanner_connectedTo": { "placeholders": { "deviceName": { @@ -66,9 +66,9 @@ } } }, - "scanner_searchingDevices": "正在搜索 MeshCore 设备...", - "scanner_tapToScan": "点击“扫描”按钮以查找 MeshCore 设备。", - "scanner_connectionFailed": "连接失败:{error}", + "scanner_searchingDevices": "正在搜索 MeshCore 设备...", + "scanner_tapToScan": "点击“扫描”按钮以查找 MeshCore 设备。", + "scanner_connectionFailed": "连接失败:{error}", "@scanner_connectionFailed": { "placeholders": { "error": { @@ -76,56 +76,56 @@ } } }, - "scanner_stop": "停止", - "scanner_scan": "扫描", - "device_quickSwitch": "快速切换", + "scanner_stop": "停止", + "scanner_scan": "扫描", + "device_quickSwitch": "快速切换", "device_meshcore": "MeshCore", - "settings_title": "设置", - "settings_deviceInfo": "设备信息", - "settings_appSettings": "应用设置", - "settings_appSettingsSubtitle": "通知、消息和地图偏好", - "settings_nodeSettings": "节点设置", - "settings_nodeName": "节点名称", - "settings_nodeNameNotSet": "未设置", - "settings_nodeNameHint": "请输入节点名称", - "settings_nodeNameUpdated": "节点名称已更新", - "settings_radioSettings": "无线电设置", - "settings_radioSettingsSubtitle": "频率、功率、扩频因子", - "settings_radioSettingsUpdated": "无线电设置已更新", - "settings_location": "位置", - "settings_locationSubtitle": "GPS 坐标", - "settings_locationUpdated": "位置和 GPS 设置已更新", - "settings_locationBothRequired": "请输入经度和纬度", - "settings_locationInvalid": "无效的经度和纬度", - "settings_locationGPSEnable": "启用 GPS", - "settings_locationGPSEnableSubtitle": "启用 GPS 以自动更新位置。", - "settings_locationIntervalSec": "GPS 间隔(秒)", - "settings_locationIntervalInvalid": "间隔时间必须至少为 60 秒,但不超过 86400 秒。", - "settings_latitude": "纬度", - "settings_longitude": "经度", - "settings_privacyMode": "隐私模式", - "settings_privacyModeSubtitle": "在广告中隐藏姓名/位置", - "settings_privacyModeToggle": "切换隐私模式以在广告中隐藏姓名和位置,保护个人信息。", - "settings_privacyModeEnabled": "隐私模式已启用", - "settings_privacyModeDisabled": "隐私模式已关闭", - "settings_actions": "操作", - "settings_sendAdvertisement": "发送广播", - "settings_sendAdvertisementSubtitle": "立即发送广播", - "settings_advertisementSent": "已发送广播", - "settings_syncTime": "同步时间", - "settings_syncTimeSubtitle": "将设备时钟设置为与手机时间一致", - "settings_timeSynchronized": "时间已同步", - "settings_refreshContacts": "刷新联系人", - "settings_refreshContactsSubtitle": "从设备重新加载联系人列表", - "settings_rebootDevice": "重启设备", - "settings_rebootDeviceSubtitle": "重启 MeshCore 设备", - "settings_rebootDeviceConfirm": "确定要重启设备吗?这将断开与设备的连接。", - "settings_debug": "调试", - "settings_bleDebugLog": "BLE 调试日志", - "settings_bleDebugLogSubtitle": "BLE 命令、响应和原始数据", - "settings_appDebugLog": "应用调试日志", - "settings_appDebugLogSubtitle": "应用调试消息", - "settings_about": "关于", + "settings_title": "设置", + "settings_deviceInfo": "设备信息", + "settings_appSettings": "应用设置", + "settings_appSettingsSubtitle": "通知、消息和地图偏好", + "settings_nodeSettings": "节点设置", + "settings_nodeName": "节点名称", + "settings_nodeNameNotSet": "未设置", + "settings_nodeNameHint": "请输入节点名称", + "settings_nodeNameUpdated": "节点名称已更新", + "settings_radioSettings": "无线电设置", + "settings_radioSettingsSubtitle": "频率、功率、扩频因子", + "settings_radioSettingsUpdated": "无线电设置已更新", + "settings_location": "位置", + "settings_locationSubtitle": "GPS 坐标", + "settings_locationUpdated": "位置和 GPS 设置已更新", + "settings_locationBothRequired": "请输入经度和纬度", + "settings_locationInvalid": "无效的经度和纬度", + "settings_locationGPSEnable": "启用 GPS", + "settings_locationGPSEnableSubtitle": "启用 GPS 以自动更新位置。", + "settings_locationIntervalSec": "GPS 间隔(秒)", + "settings_locationIntervalInvalid": "间隔时间必须至少为 60 秒,但不超过 86400 秒。", + "settings_latitude": "纬度", + "settings_longitude": "经度", + "settings_privacyMode": "隐私模式", + "settings_privacyModeSubtitle": "在广告中隐藏姓名/位置", + "settings_privacyModeToggle": "切换隐私模式以在广告中隐藏姓名和位置,保护个人信息。", + "settings_privacyModeEnabled": "隐私模式已启用", + "settings_privacyModeDisabled": "隐私模式已关闭", + "settings_actions": "操作", + "settings_sendAdvertisement": "发送广播", + "settings_sendAdvertisementSubtitle": "立即发送广播", + "settings_advertisementSent": "已发送广播", + "settings_syncTime": "同步时间", + "settings_syncTimeSubtitle": "将设备时钟设置为与手机时间一致", + "settings_timeSynchronized": "时间已同步", + "settings_refreshContacts": "刷新联系人", + "settings_refreshContactsSubtitle": "从设备重新加载联系人列表", + "settings_rebootDevice": "重启设备", + "settings_rebootDeviceSubtitle": "重启 MeshCore 设备", + "settings_rebootDeviceConfirm": "确定要重启设备吗?这将断开与设备的连接。", + "settings_debug": "调试", + "settings_bleDebugLog": "BLE 调试日志", + "settings_bleDebugLogSubtitle": "BLE 命令、响应和原始数据", + "settings_appDebugLog": "应用调试日志", + "settings_appDebugLogSubtitle": "应用调试消息", + "settings_about": "关于", "settings_aboutVersion": "MeshCore Open v{version}", "@settings_aboutVersion": { "placeholders": { @@ -134,31 +134,31 @@ } } }, - "settings_aboutLegalese": "2026 MeshCore 开源项目", - "settings_aboutDescription": "一个开源的 Flutter 客户端,用于 MeshCore LoRa 无线网络设备。", - "settings_infoName": "名称", + "settings_aboutLegalese": "2026 MeshCore 开源项目", + "settings_aboutDescription": "一个开源的 Flutter 客户端,用于 MeshCore LoRa 无线网络设备。", + "settings_infoName": "名称", "settings_infoId": "MAC ID", - "settings_infoStatus": "状态", - "settings_infoBattery": "电池", - "settings_infoPublicKey": "公钥", - "settings_infoContactsCount": "联系人数量", - "settings_infoChannelCount": "频道数量", - "settings_presets": "预设", + "settings_infoStatus": "状态", + "settings_infoBattery": "电池", + "settings_infoPublicKey": "公钥", + "settings_infoContactsCount": "联系人数量", + "settings_infoChannelCount": "频道数量", + "settings_presets": "预设", "settings_preset915Mhz": "915 MHz", "settings_preset868Mhz": "868 MHz", "settings_preset433Mhz": "433 MHz", - "settings_frequency": "频率 (MHz)", + "settings_frequency": "频率 (MHz)", "settings_frequencyHelper": "300.0 - 2500.0", - "settings_frequencyInvalid": "无效频率范围(300-2500 MHz)", - "settings_bandwidth": "带宽", - "settings_spreadingFactor": "扩频因子", - "settings_codingRate": "编码速率", - "settings_txPower": "TX 功率 (dBm)", + "settings_frequencyInvalid": "无效频率范围(300-2500 MHz)", + "settings_bandwidth": "带宽", + "settings_spreadingFactor": "扩频因子", + "settings_codingRate": "编码速率", + "settings_txPower": "TX 功率 (dBm)", "settings_txPowerHelper": "0 - 22", - "settings_txPowerInvalid": "无效的发射功率(0-22 dBm)", - "settings_longRange": "远距离", - "settings_fastSpeed": "高速", - "settings_error": "错误:{message}", + "settings_txPowerInvalid": "无效的发射功率(0-22 dBm)", + "settings_longRange": "远距离", + "settings_fastSpeed": "高速", + "settings_error": "错误:{message}", "@settings_error": { "placeholders": { "message": { @@ -166,55 +166,55 @@ } } }, - "appSettings_title": "应用设置", - "appSettings_appearance": "外观", - "appSettings_theme": "主题", - "appSettings_themeSystem": "跟随系统", - "appSettings_themeLight": "浅色", - "appSettings_themeDark": "深色", - "appSettings_language": "语言", - "appSettings_languageSystem": "跟随系统", - "appSettings_languageEn": "英语", - "appSettings_languageFr": "法语", - "appSettings_languageEs": "西班牙语", - "appSettings_languageDe": "德语", - "appSettings_languagePl": "波兰语", - "appSettings_languageSl": "斯洛文尼亚语", - "appSettings_languagePt": "葡萄牙语", - "appSettings_languageIt": "意大利语", - "appSettings_languageZh": "中文", - "appSettings_languageSv": "瑞典语", - "appSettings_languageNl": "荷兰语", - "appSettings_languageSk": "斯洛伐克语", - "appSettings_languageBg": "保加利亚语", - "appSettings_languageRu": "俄语", - "appSettings_languageUk": "乌克兰语", - "appSettings_enableMessageTracing": "启用消息追踪", - "appSettings_enableMessageTracingSubtitle": "显示消息的详细路由和时间元数据", - "appSettings_notifications": "通知", - "appSettings_enableNotifications": "启用通知", - "appSettings_enableNotificationsSubtitle": "接收消息和广播的通知", - "appSettings_notificationPermissionDenied": "权限被拒绝", - "appSettings_notificationsEnabled": "通知已启用", - "appSettings_notificationsDisabled": "通知已关闭", - "appSettings_messageNotifications": "消息通知", - "appSettings_messageNotificationsSubtitle": "收到新消息时显示通知", - "appSettings_channelMessageNotifications": "频道消息通知", - "appSettings_channelMessageNotificationsSubtitle": "收到频道消息时显示通知", - "appSettings_advertisementNotifications": "广播通知", - "appSettings_advertisementNotificationsSubtitle": "发现新节点时显示通知", - "appSettings_messaging": "消息", - "appSettings_clearPathOnMaxRetry": "达到最大重试次数时清除路径", - "appSettings_clearPathOnMaxRetrySubtitle": "在5次发送失败后重置联系路径。", - "appSettings_pathsWillBeCleared": "5次失败后将重新路由", - "appSettings_pathsWillNotBeCleared": "路径不会自动清除", - "appSettings_autoRouteRotation": "自动路径轮换", - "appSettings_autoRouteRotationSubtitle": "在最佳路径和泛洪模式之间切换", - "appSettings_autoRouteRotationEnabled": "自动路径轮换已启用", - "appSettings_autoRouteRotationDisabled": "自动路径轮换已禁用", - "appSettings_battery": "电池", - "appSettings_batteryChemistry": "电池类型", - "appSettings_batteryChemistryPerDevice": "为每个设备设置 ({deviceName})", + "appSettings_title": "应用设置", + "appSettings_appearance": "外观", + "appSettings_theme": "主题", + "appSettings_themeSystem": "跟随系统", + "appSettings_themeLight": "浅色", + "appSettings_themeDark": "深色", + "appSettings_language": "语言", + "appSettings_languageSystem": "跟随系统", + "appSettings_languageEn": "英语", + "appSettings_languageFr": "法语", + "appSettings_languageEs": "西班牙语", + "appSettings_languageDe": "德语", + "appSettings_languagePl": "波兰语", + "appSettings_languageSl": "斯洛文尼亚语", + "appSettings_languagePt": "葡萄牙语", + "appSettings_languageIt": "意大利语", + "appSettings_languageZh": "中文", + "appSettings_languageSv": "瑞典语", + "appSettings_languageNl": "荷兰语", + "appSettings_languageSk": "斯洛伐克语", + "appSettings_languageBg": "保加利亚语", + "appSettings_languageRu": "俄语", + "appSettings_languageUk": "乌克兰语", + "appSettings_enableMessageTracing": "启用消息追踪", + "appSettings_enableMessageTracingSubtitle": "显示消息的详细路由和时间元数据", + "appSettings_notifications": "通知", + "appSettings_enableNotifications": "启用通知", + "appSettings_enableNotificationsSubtitle": "接收消息和广播的通知", + "appSettings_notificationPermissionDenied": "权限被拒绝", + "appSettings_notificationsEnabled": "通知已启用", + "appSettings_notificationsDisabled": "通知已关闭", + "appSettings_messageNotifications": "消息通知", + "appSettings_messageNotificationsSubtitle": "收到新消息时显示通知", + "appSettings_channelMessageNotifications": "频道消息通知", + "appSettings_channelMessageNotificationsSubtitle": "收到频道消息时显示通知", + "appSettings_advertisementNotifications": "广播通知", + "appSettings_advertisementNotificationsSubtitle": "发现新节点时显示通知", + "appSettings_messaging": "消息", + "appSettings_clearPathOnMaxRetry": "达到最大重试次数时清除路径", + "appSettings_clearPathOnMaxRetrySubtitle": "在5次发送失败后重置联系路径。", + "appSettings_pathsWillBeCleared": "5次失败后将重新路由", + "appSettings_pathsWillNotBeCleared": "路径不会自动清除", + "appSettings_autoRouteRotation": "自动路径轮换", + "appSettings_autoRouteRotationSubtitle": "在最佳路径和泛洪模式之间切换", + "appSettings_autoRouteRotationEnabled": "自动路径轮换已启用", + "appSettings_autoRouteRotationDisabled": "自动路径轮换已禁用", + "appSettings_battery": "电池", + "appSettings_batteryChemistry": "电池类型", + "appSettings_batteryChemistryPerDevice": "为每个设备设置 ({deviceName})", "@appSettings_batteryChemistryPerDevice": { "placeholders": { "deviceName": { @@ -222,20 +222,20 @@ } } }, - "appSettings_batteryChemistryConnectFirst": "请先连接设备", - "appSettings_batteryNmc": "18650 NMC 电池 (3.0-4.2V)", - "appSettings_batteryLifepo4": "磷酸铁锂 (2.6-3.65V)", - "appSettings_batteryLipo": "锂聚合物电池 (3.0-4.2V)", - "appSettings_mapDisplay": "地图显示", - "appSettings_showRepeaters": "显示转发节点", - "appSettings_showRepeatersSubtitle": "在地图上显示转发节点", - "appSettings_showChatNodes": "显示聊天节点", - "appSettings_showChatNodesSubtitle": "在地图上显示聊天节点", - "appSettings_showOtherNodes": "显示其他节点", - "appSettings_showOtherNodesSubtitle": "在地图上显示其他节点类型", - "appSettings_timeFilter": "时间过滤器", - "appSettings_timeFilterShowAll": "显示所有节点", - "appSettings_timeFilterShowLast": "显示过去 {hours} 小时内的节点", + "appSettings_batteryChemistryConnectFirst": "请先连接设备", + "appSettings_batteryNmc": "18650 NMC 电池 (3.0-4.2V)", + "appSettings_batteryLifepo4": "磷酸铁锂 (2.6-3.65V)", + "appSettings_batteryLipo": "锂聚合物电池 (3.0-4.2V)", + "appSettings_mapDisplay": "地图显示", + "appSettings_showRepeaters": "显示转发节点", + "appSettings_showRepeatersSubtitle": "在地图上显示转发节点", + "appSettings_showChatNodes": "显示聊天节点", + "appSettings_showChatNodesSubtitle": "在地图上显示聊天节点", + "appSettings_showOtherNodes": "显示其他节点", + "appSettings_showOtherNodesSubtitle": "在地图上显示其他节点类型", + "appSettings_timeFilter": "时间过滤器", + "appSettings_timeFilterShowAll": "显示所有节点", + "appSettings_timeFilterShowLast": "显示过去 {hours} 小时内的节点", "@appSettings_timeFilterShowLast": { "placeholders": { "hours": { @@ -243,16 +243,16 @@ } } }, - "appSettings_mapTimeFilter": "地图时间筛选", - "appSettings_showNodesDiscoveredWithin": "显示在此时间段内发现的节点:", - "appSettings_allTime": "所有时间", - "appSettings_lastHour": "过去一小时", - "appSettings_last6Hours": "过去6小时", - "appSettings_last24Hours": "过去24小时", - "appSettings_lastWeek": "上周", - "appSettings_offlineMapCache": "离线地图缓存", - "appSettings_noAreaSelected": "未选择任何区域", - "appSettings_areaSelectedZoom": "已选择区域(缩放 {minZoom} - {maxZoom})", + "appSettings_mapTimeFilter": "地图时间筛选", + "appSettings_showNodesDiscoveredWithin": "显示在此时间段内发现的节点:", + "appSettings_allTime": "所有时间", + "appSettings_lastHour": "过去一小时", + "appSettings_last6Hours": "过去6小时", + "appSettings_last24Hours": "过去24小时", + "appSettings_lastWeek": "上周", + "appSettings_offlineMapCache": "离线地图缓存", + "appSettings_noAreaSelected": "未选择任何区域", + "appSettings_areaSelectedZoom": "已选择区域(缩放 {minZoom} - {maxZoom})", "@appSettings_areaSelectedZoom": { "placeholders": { "minZoom": { @@ -263,19 +263,19 @@ } } }, - "appSettings_debugCard": "调试", - "appSettings_appDebugLogging": "应用调试日志", - "appSettings_appDebugLoggingSubtitle": "记录应用调试消息以进行故障排除。", - "appSettings_appDebugLoggingEnabled": "调试日志已启用", - "appSettings_appDebugLoggingDisabled": "应用调试日志已禁用", - "contacts_title": "联系人", - "contacts_noContacts": "暂无联系人", - "contacts_contactsWillAppear": "当设备发送广播时,联系人将显示。", - "contacts_searchContacts": "搜索联系人...", - "contacts_noUnreadContacts": "没有未读内容", - "contacts_noContactsFound": "未找到任何联系人或群聊", - "contacts_deleteContact": "删除联系人", - "contacts_removeConfirm": "从联系人中移除 {contactName}?", + "appSettings_debugCard": "调试", + "appSettings_appDebugLogging": "应用调试日志", + "appSettings_appDebugLoggingSubtitle": "记录应用调试消息以进行故障排除。", + "appSettings_appDebugLoggingEnabled": "调试日志已启用", + "appSettings_appDebugLoggingDisabled": "应用调试日志已禁用", + "contacts_title": "联系人", + "contacts_noContacts": "暂无联系人", + "contacts_contactsWillAppear": "当设备发送广播时,联系人将显示。", + "contacts_searchContacts": "搜索联系人...", + "contacts_noUnreadContacts": "没有未读内容", + "contacts_noContactsFound": "未找到任何联系人或群聊", + "contacts_deleteContact": "删除联系人", + "contacts_removeConfirm": "从联系人中移除 {contactName}?", "@contacts_removeConfirm": { "placeholders": { "contactName": { @@ -283,13 +283,13 @@ } } }, - "contacts_manageRepeater": "管理转发节点", - "contacts_manageRoom": "管理房间服务器", - "contacts_roomLogin": "服务器登录", - "contacts_openChat": "打开聊天", - "contacts_editGroup": "编辑群聊", - "contacts_deleteGroup": "删除群聊", - "contacts_deleteGroupConfirm": "删除群聊 \"{groupName}\"?", + "contacts_manageRepeater": "管理转发节点", + "contacts_manageRoom": "管理房间服务器", + "contacts_roomLogin": "服务器登录", + "contacts_openChat": "打开聊天", + "contacts_editGroup": "编辑群聊", + "contacts_deleteGroup": "删除群聊", + "contacts_deleteGroupConfirm": "删除群聊 \"{groupName}\"?", "@contacts_deleteGroupConfirm": { "placeholders": { "groupName": { @@ -297,10 +297,10 @@ } } }, - "contacts_newGroup": "新建群聊", - "contacts_groupName": "群聊名称", - "contacts_groupNameRequired": "请输入群聊名称", - "contacts_groupAlreadyExists": "名为 \"{name}\" 的群聊已存在", + "contacts_newGroup": "新建群聊", + "contacts_groupName": "群聊名称", + "contacts_groupNameRequired": "请输入群聊名称", + "contacts_groupAlreadyExists": "名为 \"{name}\" 的群聊已存在", "@contacts_groupAlreadyExists": { "placeholders": { "name": { @@ -308,11 +308,11 @@ } } }, - "contacts_filterContacts": "筛选联系人...", - "contacts_noContactsMatchFilter": "没有符合条件的联系人", - "contacts_noMembers": "暂无成员", - "contacts_lastSeenNow": "刚刚", - "contacts_lastSeenMinsAgo": "最后在线 {minutes} 分钟前", + "contacts_filterContacts": "筛选联系人...", + "contacts_noContactsMatchFilter": "没有符合条件的联系人", + "contacts_noMembers": "暂无成员", + "contacts_lastSeenNow": "刚刚", + "contacts_lastSeenMinsAgo": "最后在线 {minutes} 分钟前", "@contacts_lastSeenMinsAgo": { "placeholders": { "minutes": { @@ -320,8 +320,8 @@ } } }, - "contacts_lastSeenHourAgo": "最后在线 1小时前", - "contacts_lastSeenHoursAgo": "最后在线 {hours} 小时前", + "contacts_lastSeenHourAgo": "最后在线 1小时前", + "contacts_lastSeenHoursAgo": "最后在线 {hours} 小时前", "@contacts_lastSeenHoursAgo": { "placeholders": { "hours": { @@ -329,8 +329,8 @@ } } }, - "contacts_lastSeenDayAgo": "最后在线 1天前", - "contacts_lastSeenDaysAgo": "最后在线 {days} 天前", + "contacts_lastSeenDayAgo": "最后在线 1天前", + "contacts_lastSeenDaysAgo": "最后在线 {days} 天前", "@contacts_lastSeenDaysAgo": { "placeholders": { "days": { @@ -338,12 +338,12 @@ } } }, - "channels_title": "频道", - "channels_noChannelsConfigured": "未配置任何频道", - "channels_addPublicChannel": "添加公共频道", - "channels_searchChannels": "搜索频道...", - "channels_noChannelsFound": "未找到任何频道", - "channels_channelIndex": "频道 {index}", + "channels_title": "频道", + "channels_noChannelsConfigured": "未配置任何频道", + "channels_addPublicChannel": "添加公共频道", + "channels_searchChannels": "搜索频道...", + "channels_noChannelsFound": "未找到任何频道", + "channels_channelIndex": "频道 {index}", "@channels_channelIndex": { "placeholders": { "index": { @@ -351,16 +351,16 @@ } } }, - "channels_hashtagChannel": "标签频道", - "channels_public": "公共", - "channels_private": "私有", - "channels_publicChannel": "公共频道", - "channels_privateChannel": "私有频道", - "channels_editChannel": "编辑频道", - "channels_muteChannel": "静音频道", - "channels_unmuteChannel": "取消静音频道", - "channels_deleteChannel": "删除频道", - "channels_deleteChannelConfirm": "删除频道 \"{name}\"?此操作不可撤销。", + "channels_hashtagChannel": "标签频道", + "channels_public": "公共", + "channels_private": "私有", + "channels_publicChannel": "公共频道", + "channels_privateChannel": "私有频道", + "channels_editChannel": "编辑频道", + "channels_muteChannel": "静音频道", + "channels_unmuteChannel": "取消静音频道", + "channels_deleteChannel": "删除频道", + "channels_deleteChannelConfirm": "删除频道 \"{name}\"?此操作不可撤销。", "@channels_deleteChannelConfirm": { "placeholders": { "name": { @@ -368,7 +368,7 @@ } } }, - "channels_channelDeleted": "已删除频道 \"{name}\"", + "channels_channelDeleted": "已删除频道 \"{name}\"", "@channels_channelDeleted": { "placeholders": { "name": { @@ -376,16 +376,16 @@ } } }, - "channels_addChannel": "添加频道", - "channels_channelIndexLabel": "频道索引", - "channels_channelName": "频道名称", - "channels_usePublicChannel": "使用公共频道", - "channels_standardPublicPsk": "标准公共 PSK", - "channels_pskHex": "PSK (十六进制)", - "channels_generateRandomPsk": "生成随机 PSK", - "channels_enterChannelName": "请输入频道名称", - "channels_pskMustBe32Hex": "PSK 必须为 32 个十六进制字符", - "channels_channelAdded": "已添加频道 \"{name}\"", + "channels_addChannel": "添加频道", + "channels_channelIndexLabel": "频道索引", + "channels_channelName": "频道名称", + "channels_usePublicChannel": "使用公共频道", + "channels_standardPublicPsk": "标准公共 PSK", + "channels_pskHex": "PSK (十六进制)", + "channels_generateRandomPsk": "生成随机 PSK", + "channels_enterChannelName": "请输入频道名称", + "channels_pskMustBe32Hex": "PSK 必须为 32 个十六进制字符", + "channels_channelAdded": "已添加频道 \"{name}\"", "@channels_channelAdded": { "placeholders": { "name": { @@ -393,7 +393,7 @@ } } }, - "channels_editChannelTitle": "编辑频道 {index}", + "channels_editChannelTitle": "编辑频道 {index}", "@channels_editChannelTitle": { "placeholders": { "index": { @@ -401,8 +401,8 @@ } } }, - "channels_smazCompression": "SMAZ 压缩", - "channels_channelUpdated": "频道 \"{name}\" 已更新", + "channels_smazCompression": "SMAZ 压缩", + "channels_channelUpdated": "频道 \"{name}\" 已更新", "@channels_channelUpdated": { "placeholders": { "name": { @@ -410,28 +410,28 @@ } } }, - "channels_publicChannelAdded": "已添加公共频道", - "channels_sortBy": "排序方式", - "channels_sortManual": "手动", + "channels_publicChannelAdded": "已添加公共频道", + "channels_sortBy": "排序方式", + "channels_sortManual": "手动", "channels_sortAZ": "A-Z", - "channels_sortLatestMessages": "最新消息", - "channels_sortUnread": "未读", - "channels_createPrivateChannel": "创建私有频道", - "channels_createPrivateChannelDesc": "使用密钥保护。", - "channels_joinPrivateChannel": "加入私有频道", - "channels_joinPrivateChannelDesc": "手动输入密钥。", - "channels_joinPublicChannel": "加入公共频道", - "channels_joinPublicChannelDesc": "任何人都可以加入。", - "channels_joinHashtagChannel": "加入标签频道", - "channels_joinHashtagChannelDesc": "任何人都可以加入标签频道。", - "channels_scanQrCode": "扫描二维码", - "channels_scanQrCodeComingSoon": "即将推出", - "channels_enterHashtag": "输入标签", - "channels_hashtagHint": "例如:#团队", - "chat_noMessages": "暂无消息", - "chat_sendMessageToStart": "发送消息开始对话", - "chat_originalMessageNotFound": "找不到原始消息", - "chat_replyingTo": "正在回复 {name}", + "channels_sortLatestMessages": "最新消息", + "channels_sortUnread": "未读", + "channels_createPrivateChannel": "创建私有频道", + "channels_createPrivateChannelDesc": "使用密钥保护。", + "channels_joinPrivateChannel": "加入私有频道", + "channels_joinPrivateChannelDesc": "手动输入密钥。", + "channels_joinPublicChannel": "加入公共频道", + "channels_joinPublicChannelDesc": "任何人都可以加入。", + "channels_joinHashtagChannel": "加入标签频道", + "channels_joinHashtagChannelDesc": "任何人都可以加入标签频道。", + "channels_scanQrCode": "扫描二维码", + "channels_scanQrCodeComingSoon": "即将推出", + "channels_enterHashtag": "输入标签", + "channels_hashtagHint": "例如:#团队", + "chat_noMessages": "暂无消息", + "chat_sendMessageToStart": "发送消息开始对话", + "chat_originalMessageNotFound": "找不到原始消息", + "chat_replyingTo": "正在回复 {name}", "@chat_replyingTo": { "placeholders": { "name": { @@ -439,7 +439,7 @@ } } }, - "chat_replyTo": "回复 {name}", + "chat_replyTo": "回复 {name}", "@chat_replyTo": { "placeholders": { "name": { @@ -447,8 +447,8 @@ } } }, - "chat_location": "位置", - "chat_sendMessageTo": "发送消息给 {contactName}", + "chat_location": "位置", + "chat_sendMessageTo": "发送消息给 {contactName}", "@chat_sendMessageTo": { "placeholders": { "contactName": { @@ -456,8 +456,8 @@ } } }, - "chat_typeMessage": "输入消息...", - "chat_messageTooLong": "消息过长(最多 {maxBytes} 字节)", + "chat_typeMessage": "输入消息...", + "chat_messageTooLong": "消息过长(最多 {maxBytes} 字节)", "@chat_messageTooLong": { "placeholders": { "maxBytes": { @@ -465,10 +465,10 @@ } } }, - "chat_messageCopied": "消息已复制", - "chat_messageDeleted": "消息已删除", - "chat_retryingMessage": "正在重试消息", - "chat_retryCount": "重试 {current}/{max}", + "chat_messageCopied": "消息已复制", + "chat_messageDeleted": "消息已删除", + "chat_retryingMessage": "正在重试消息", + "chat_retryCount": "重试 {current}/{max}", "@chat_retryCount": { "placeholders": { "current": { @@ -479,33 +479,33 @@ } } }, - "chat_sendGif": "发送 GIF", - "chat_reply": "回复", - "chat_addReaction": "添加表情", - "chat_me": "我", - "emojiCategorySmileys": "表情", - "emojiCategoryGestures": "手势", - "emojiCategoryHearts": "爱心", - "emojiCategoryObjects": "物品", - "gifPicker_title": "选择 GIF", - "gifPicker_searchHint": "搜索 GIF...", - "gifPicker_poweredBy": "由 GIPHY 提供", - "gifPicker_noGifsFound": "未找到 GIF", - "gifPicker_failedLoad": "加载 GIF 失败", - "gifPicker_failedSearch": "搜索 GIF 失败", - "gifPicker_noInternet": "无网络连接", - "debugLog_appTitle": "应用调试日志", - "debugLog_bleTitle": "BLE 调试日志", - "debugLog_copyLog": "复制日志", - "debugLog_clearLog": "清除日志", - "debugLog_copied": "调试日志已复制", - "debugLog_bleCopied": "BLE 日志已复制", - "debugLog_noEntries": "暂无调试日志", - "debugLog_enableInSettings": "请在设置中启用应用调试日志。", - "debugLog_frames": "帧", - "debugLog_rawLogRx": "原始日志 RX", - "debugLog_noBleActivity": "暂无 BLE 活动", - "debugFrame_length": "帧长度:{count} 字节", + "chat_sendGif": "发送 GIF", + "chat_reply": "回复", + "chat_addReaction": "添加表情", + "chat_me": "我", + "emojiCategorySmileys": "表情", + "emojiCategoryGestures": "手势", + "emojiCategoryHearts": "爱心", + "emojiCategoryObjects": "物品", + "gifPicker_title": "选择 GIF", + "gifPicker_searchHint": "搜索 GIF...", + "gifPicker_poweredBy": "ç”± GIPHY 提供", + "gifPicker_noGifsFound": "未找到 GIF", + "gifPicker_failedLoad": "加载 GIF 失败", + "gifPicker_failedSearch": "搜索 GIF 失败", + "gifPicker_noInternet": "无网络连接", + "debugLog_appTitle": "应用调试日志", + "debugLog_bleTitle": "BLE 调试日志", + "debugLog_copyLog": "复制日志", + "debugLog_clearLog": "清除日志", + "debugLog_copied": "调试日志已复制", + "debugLog_bleCopied": "BLE 日志已复制", + "debugLog_noEntries": "暂无调试日志", + "debugLog_enableInSettings": "请在设置中启用应用调试日志。", + "debugLog_frames": "帧", + "debugLog_rawLogRx": "原始日志 RX", + "debugLog_noBleActivity": "暂无 BLE 活动", + "debugFrame_length": "帧长度:{count} 字节", "@debugFrame_length": { "placeholders": { "count": { @@ -513,7 +513,7 @@ } } }, - "debugFrame_command": "命令:0x{value}", + "debugFrame_command": "命令:0x{value}", "@debugFrame_command": { "placeholders": { "value": { @@ -521,8 +521,8 @@ } } }, - "debugFrame_textMessageHeader": "文本消息:", - "debugFrame_destinationPubKey": "- 目标公钥:{pubKey}", + "debugFrame_textMessageHeader": "文本消息:", + "debugFrame_destinationPubKey": "- 目标公钥:{pubKey}", "@debugFrame_destinationPubKey": { "placeholders": { "pubKey": { @@ -530,7 +530,7 @@ } } }, - "debugFrame_timestamp": "- 时间戳:{timestamp}", + "debugFrame_timestamp": "- 时间戳:{timestamp}", "@debugFrame_timestamp": { "placeholders": { "timestamp": { @@ -538,7 +538,7 @@ } } }, - "debugFrame_flags": "- 标志:0x{value}", + "debugFrame_flags": "- 标志:0x{value}", "@debugFrame_flags": { "placeholders": { "value": { @@ -546,7 +546,7 @@ } } }, - "debugFrame_textType": "- 文本类型:{type} ({label})", + "debugFrame_textType": "- 文本类型:{type} ({label})", "@debugFrame_textType": { "placeholders": { "type": { @@ -557,9 +557,9 @@ } } }, - "debugFrame_textTypeCli": "命令行", - "debugFrame_textTypePlain": "纯文本", - "debugFrame_text": "- 文本:“{text}”", + "debugFrame_textTypeCli": "命令行", + "debugFrame_textTypePlain": "纯文本", + "debugFrame_text": "- 文本:“{text}”", "@debugFrame_text": { "placeholders": { "text": { @@ -567,16 +567,16 @@ } } }, - "debugFrame_hexDump": "十六进制数据:", - "chat_pathManagement": "路径管理", - "chat_routingMode": "路由模式", - "chat_autoUseSavedPath": "自动(使用保存的路径)", - "chat_forceFloodMode": "强制泛洪模式", - "chat_recentAckPaths": "最近使用的 ACK 路径(点击使用):", - "chat_pathHistoryFull": "路径历史已满,请删除后再添加。", - "chat_hopSingular": "跳", - "chat_hopPlural": "跳", - "chat_hopsCount": "{count} 跳", + "debugFrame_hexDump": "十六进制数据:", + "chat_pathManagement": "路径管理", + "chat_routingMode": "路由模式", + "chat_autoUseSavedPath": "自动(使用保存的路径)", + "chat_forceFloodMode": "强制泛洪模式", + "chat_recentAckPaths": "最近使用的 ACK 路径(点击使用):", + "chat_pathHistoryFull": "路径历史已满,请删除后再添加。", + "chat_hopSingular": "è·³", + "chat_hopPlural": "è·³", + "chat_hopsCount": "{count} è·³", "@chat_hopsCount": { "placeholders": { "count": { @@ -584,20 +584,20 @@ } } }, - "chat_successes": "成功", - "chat_removePath": "移除路径", - "chat_noPathHistoryYet": "暂无路径历史。\n发送消息以探索路径。", - "chat_pathActions": "路径操作:", - "chat_setCustomPath": "设置自定义路径", - "chat_setCustomPathSubtitle": "手动指定路由路径", - "chat_clearPath": "清除路径", - "chat_clearPathSubtitle": "清除当前路径,下次发送将重新尝试。", - "chat_pathCleared": "路径已清除。下一条消息将重新路由。", - "chat_floodModeSubtitle": "在应用栏中切换路由模式。", - "chat_floodModeEnabled": "泛洪模式已启用。可通过应用栏的路由图标切换。", - "chat_fullPath": "完整路径", - "chat_pathDetailsNotAvailable": "路径信息暂不可用,请尝试发送消息刷新。", - "chat_pathSetHops": "路径设置:{hopCount} 跳 - {status}", + "chat_successes": "成功", + "chat_removePath": "移除路径", + "chat_noPathHistoryYet": "暂无路径历史。\n发送消息以探索路径。", + "chat_pathActions": "路径操作:", + "chat_setCustomPath": "设置自定义路径", + "chat_setCustomPathSubtitle": "手动指定路由路径", + "chat_clearPath": "清除路径", + "chat_clearPathSubtitle": "清除当前路径,下次发送将重新尝试。", + "chat_pathCleared": "路径已清除。下一条消息将重新路由。", + "chat_floodModeSubtitle": "在应用栏中切换路由模式。", + "chat_floodModeEnabled": "泛洪模式已启用。可通过应用栏的路由图标切换。", + "chat_fullPath": "完整路径", + "chat_pathDetailsNotAvailable": "路径信息暂不可用,请尝试发送消息刷新。", + "chat_pathSetHops": "路径设置:{hopCount} è·³ - {status}", "@chat_pathSetHops": { "placeholders": { "hopCount": { @@ -608,16 +608,16 @@ } } }, - "chat_pathSavedLocally": "已本地保存,连接设备后可同步。", - "chat_pathDeviceConfirmed": "设备已确认。", - "chat_pathDeviceNotConfirmed": "设备尚未确认。", - "chat_type": "类型", - "chat_path": "路径", - "chat_publicKey": "公钥", - "chat_compressOutgoingMessages": "压缩发送的消息", - "chat_floodForced": "泛洪(强制)", - "chat_directForced": "直连(强制)", - "chat_hopsForced": "{count} 跳(强制)", + "chat_pathSavedLocally": "已本地保存,连接设备后可同步。", + "chat_pathDeviceConfirmed": "设备已确认。", + "chat_pathDeviceNotConfirmed": "设备尚未确认。", + "chat_type": "类型", + "chat_path": "路径", + "chat_publicKey": "公钥", + "chat_compressOutgoingMessages": "压缩发送的消息", + "chat_floodForced": "泛洪(强制)", + "chat_directForced": "直连(强制)", + "chat_hopsForced": "{count} 跳(强制)", "@chat_hopsForced": { "placeholders": { "count": { @@ -625,10 +625,10 @@ } } }, - "chat_floodAuto": "自动泛洪", - "chat_direct": "直连", - "chat_poiShared": "共享位置", - "chat_unread": "未读:{count}", + "chat_floodAuto": "自动泛洪", + "chat_direct": "直连", + "chat_poiShared": "共享位置", + "chat_unread": "未读:{count}", "@chat_unread": { "placeholders": { "count": { @@ -636,10 +636,10 @@ } } }, - "chat_openLink": "打开链接?", - "chat_openLinkConfirmation": "是否使用浏览器打开此链接?", - "chat_open": "打开", - "chat_couldNotOpenLink": "无法打开链接:{url}", + "chat_openLink": "打开链接?", + "chat_openLinkConfirmation": "是否使用浏览器打开此链接?", + "chat_open": "打开", + "chat_couldNotOpenLink": "无法打开链接:{url}", "@chat_couldNotOpenLink": { "placeholders": { "url": { @@ -647,11 +647,11 @@ } } }, - "chat_invalidLink": "无效的链接格式", - "map_title": "节点地图", - "map_noNodesWithLocation": "没有包含位置信息的节点", - "map_nodesNeedGps": "节点需要共享 GPS 坐标才能在地图上显示", - "map_nodesCount": "节点:{count}", + "chat_invalidLink": "无效的链接格式", + "map_title": "节点地图", + "map_noNodesWithLocation": "没有包含位置信息的节点", + "map_nodesNeedGps": "节点需要共享 GPS 坐标才能在地图上显示", + "map_nodesCount": "节点:{count}", "@map_nodesCount": { "placeholders": { "count": { @@ -659,7 +659,7 @@ } } }, - "map_pinsCount": "标记:{count}", + "map_pinsCount": "标记:{count}", "@map_pinsCount": { "placeholders": { "count": { @@ -667,27 +667,27 @@ } } }, - "map_chat": "聊天", - "map_repeater": "转发节点", - "map_room": "房间", - "map_sensor": "传感器", - "map_pinDm": "标记(私信)", - "map_pinPrivate": "私有", - "map_pinPublic": "公共", - "map_lastSeen": "最后在线", - "map_disconnectConfirm": "确定要断开与此设备的连接吗?", - "map_from": "来自", - "map_source": "来源", - "map_flags": "标志", - "map_shareMarkerHere": "在此分享标记", - "map_pinLabel": "标签", - "map_label": "标签", - "map_pointOfInterest": "兴趣点", - "map_sendToContact": "发送给联系人", - "map_sendToChannel": "发送到频道", - "map_noChannelsAvailable": "没有可用的频道", - "map_publicLocationShare": "公共位置共享", - "map_publicLocationShareConfirm": "您即将在 {channelLabel} 上分享一个位置。此频道是公开的,任何拥有 PSK 的人都可以看到。", + "map_chat": "聊天", + "map_repeater": "转发节点", + "map_room": "房间", + "map_sensor": "传感器", + "map_pinDm": "标记(私信)", + "map_pinPrivate": "私有", + "map_pinPublic": "公共", + "map_lastSeen": "最后在线", + "map_disconnectConfirm": "确定要断开与此设备的连接吗?", + "map_from": "来自", + "map_source": "来源", + "map_flags": "标志", + "map_shareMarkerHere": "在此分享标记", + "map_pinLabel": "标签", + "map_label": "标签", + "map_pointOfInterest": "兴趣点", + "map_sendToContact": "发送给联系人", + "map_sendToChannel": "发送到频道", + "map_noChannelsAvailable": "没有可用的频道", + "map_publicLocationShare": "公共位置共享", + "map_publicLocationShareConfirm": "您即将在 {channelLabel} 上分享一个位置。此频道是公开的,任何拥有 PSK 的人都可以看到。", "@map_publicLocationShareConfirm": { "placeholders": { "channelLabel": { @@ -695,26 +695,26 @@ } } }, - "map_connectToShareMarkers": "连接设备以共享标记", - "map_filterNodes": "过滤节点", - "map_nodeTypes": "节点类型", - "map_chatNodes": "聊天节点", - "map_repeaters": "转发节点", - "map_otherNodes": "其他节点", - "map_keyPrefix": "关键字前缀", - "map_filterByKeyPrefix": "按关键字前缀筛选", - "map_publicKeyPrefix": "关键字前缀", - "map_markers": "标记", - "map_showSharedMarkers": "显示共享标记", - "map_lastSeenTime": "最后在线时间", - "map_sharedPin": "共享标记", - "map_joinRoom": "加入房间", - "map_manageRepeater": "管理转发节点", - "mapCache_title": "离线地图缓存", - "mapCache_selectAreaFirst": "请先选择要缓存的区域", - "mapCache_noTilesToDownload": "此区域没有可下载的瓦片", - "mapCache_downloadTilesTitle": "下载瓦片", - "mapCache_downloadTilesPrompt": "这需要下载 {count} 个瓦片", + "map_connectToShareMarkers": "连接设备以共享标记", + "map_filterNodes": "过滤节点", + "map_nodeTypes": "节点类型", + "map_chatNodes": "聊天节点", + "map_repeaters": "转发节点", + "map_otherNodes": "其他节点", + "map_keyPrefix": "关键字前缀", + "map_filterByKeyPrefix": "按关键字前缀筛选", + "map_publicKeyPrefix": "关键字前缀", + "map_markers": "标记", + "map_showSharedMarkers": "显示共享标记", + "map_lastSeenTime": "最后在线时间", + "map_sharedPin": "共享标记", + "map_joinRoom": "加入房间", + "map_manageRepeater": "管理转发节点", + "mapCache_title": "离线地图缓存", + "mapCache_selectAreaFirst": "请先选择要缓存的区域", + "mapCache_noTilesToDownload": "此区域没有可下载的瓦片", + "mapCache_downloadTilesTitle": "下载瓦片", + "mapCache_downloadTilesPrompt": "这需要下载 {count} 个瓦片", "@mapCache_downloadTilesPrompt": { "placeholders": { "count": { @@ -722,8 +722,8 @@ } } }, - "mapCache_downloadAction": "下载", - "mapCache_cachedTiles": "已缓存 {count} 个瓦片", + "mapCache_downloadAction": "下载", + "mapCache_cachedTiles": "已缓存 {count} 个瓦片", "@mapCache_cachedTiles": { "placeholders": { "count": { @@ -731,7 +731,7 @@ } } }, - "mapCache_cachedTilesWithFailed": "已缓存 {downloaded} 个瓦片({failed} 个失败)", + "mapCache_cachedTilesWithFailed": "已缓存 {downloaded} 个瓦片({failed} 个失败)", "@mapCache_cachedTilesWithFailed": { "placeholders": { "downloaded": { @@ -742,14 +742,14 @@ } } }, - "mapCache_clearOfflineCacheTitle": "清除离线缓存", - "mapCache_clearOfflineCachePrompt": "清除所有缓存的地图瓦片", - "mapCache_offlineCacheCleared": "离线缓存已清除", - "mapCache_noAreaSelected": "未选择区域", - "mapCache_cacheArea": "缓存区域", - "mapCache_useCurrentView": "使用当前视图", - "mapCache_zoomRange": "缩放范围", - "mapCache_estimatedTiles": "估计瓦片数:{count}", + "mapCache_clearOfflineCacheTitle": "清除离线缓存", + "mapCache_clearOfflineCachePrompt": "清除所有缓存的地图瓦片", + "mapCache_offlineCacheCleared": "离线缓存已清除", + "mapCache_noAreaSelected": "未选择区域", + "mapCache_cacheArea": "缓存区域", + "mapCache_useCurrentView": "使用当前视图", + "mapCache_zoomRange": "缩放范围", + "mapCache_estimatedTiles": "估计瓦片数:{count}", "@mapCache_estimatedTiles": { "placeholders": { "count": { @@ -757,7 +757,7 @@ } } }, - "mapCache_downloadedTiles": "已下载 {completed}/{total}", + "mapCache_downloadedTiles": "已下载 {completed}/{total}", "@mapCache_downloadedTiles": { "placeholders": { "completed": { @@ -768,9 +768,9 @@ } } }, - "mapCache_downloadTilesButton": "下载瓦片", - "mapCache_clearCacheButton": "清除缓存", - "mapCache_failedDownloads": "下载失败:{count}", + "mapCache_downloadTilesButton": "下载瓦片", + "mapCache_clearCacheButton": "清除缓存", + "mapCache_failedDownloads": "下载失败:{count}", "@mapCache_failedDownloads": { "placeholders": { "count": { @@ -778,7 +778,7 @@ } } }, - "mapCache_boundsLabel": "北 {north}, 南 {south}, 东 {east}, 西 {west}", + "mapCache_boundsLabel": "北 {north}, 南 {south}, 东 {east}, 西 {west}", "@mapCache_boundsLabel": { "placeholders": { "north": { @@ -795,8 +795,8 @@ } } }, - "time_justNow": "刚才", - "time_minutesAgo": "{minutes}分钟前", + "time_justNow": "刚才", + "time_minutesAgo": "{minutes}分钟前", "@time_minutesAgo": { "placeholders": { "minutes": { @@ -804,7 +804,7 @@ } } }, - "time_hoursAgo": "{hours}小时前", + "time_hoursAgo": "{hours}小时前", "@time_hoursAgo": { "placeholders": { "hours": { @@ -812,7 +812,7 @@ } } }, - "time_daysAgo": "{days}天前", + "time_daysAgo": "{days}天前", "@time_daysAgo": { "placeholders": { "days": { @@ -820,33 +820,33 @@ } } }, - "time_hour": "小时", - "time_hours": "小时", - "time_day": "天", - "time_days": "天", - "time_week": "周", - "time_weeks": "周", - "time_month": "月", - "time_months": "月", - "time_minutes": "分钟", - "time_allTime": "所有时间", - "dialog_disconnect": "断开", - "dialog_disconnectConfirm": "确定要断开与此设备的连接吗?", - "login_repeaterLogin": "转发节点登录", - "login_roomLogin": "房间服务器登录", - "login_password": "密码", - "login_enterPassword": "请输入密码", - "login_savePassword": "保存密码", - "login_savePasswordSubtitle": "密码将安全地存储在此设备上", - "login_repeaterDescription": "输入转发节点密码以访问设置和状态。", - "login_roomDescription": "输入房间服务器密码以访问设置和状态。", - "login_routing": "路由", - "login_routingMode": "路由模式", - "login_autoUseSavedPath": "自动(使用保存的路径)", - "login_forceFloodMode": "强制泛洪模式", - "login_managePaths": "管理路径", - "login_login": "登录", - "login_attempt": "尝试 {current}/{max}", + "time_hour": "小时", + "time_hours": "小时", + "time_day": "天", + "time_days": "天", + "time_week": "周", + "time_weeks": "周", + "time_month": "月", + "time_months": "月", + "time_minutes": "分钟", + "time_allTime": "所有时间", + "dialog_disconnect": "æ–­å¼€", + "dialog_disconnectConfirm": "确定要断开与此设备的连接吗?", + "login_repeaterLogin": "转发节点登录", + "login_roomLogin": "房间服务器登录", + "login_password": "密码", + "login_enterPassword": "请输入密码", + "login_savePassword": "保存密码", + "login_savePasswordSubtitle": "密码将安全地存储在此设备上", + "login_repeaterDescription": "输入转发节点密码以访问设置和状态。", + "login_roomDescription": "输入房间服务器密码以访问设置和状态。", + "login_routing": "路由", + "login_routingMode": "路由模式", + "login_autoUseSavedPath": "自动(使用保存的路径)", + "login_forceFloodMode": "强制泛洪模式", + "login_managePaths": "管理路径", + "login_login": "登录", + "login_attempt": "尝试 {current}/{max}", "@login_attempt": { "placeholders": { "current": { @@ -857,7 +857,7 @@ } } }, - "login_failed": "登录失败:{error}", + "login_failed": "登录失败:{error}", "@login_failed": { "placeholders": { "error": { @@ -865,10 +865,10 @@ } } }, - "login_failedMessage": "登录失败。可能是密码错误或无法连接到服务器。", - "common_reload": "重新加载", - "common_clear": "清除", - "path_currentPath": "当前路径:{path}", + "login_failedMessage": "登录失败。可能是密码错误或无法连接到服务器。", + "common_reload": "重新加载", + "common_clear": "清除", + "path_currentPath": "当前路径:{path}", "@path_currentPath": { "placeholders": { "path": { @@ -876,7 +876,7 @@ } } }, - "path_usingHopsPath": "使用 {count} 跳路径", + "path_usingHopsPath": "使用 {count} 跳路径", "@path_usingHopsPath": { "placeholders": { "count": { @@ -884,16 +884,16 @@ } } }, - "path_enterCustomPath": "输入自定义路径", - "path_currentPathLabel": "当前路径", - "path_hexPrefixInstructions": "请输入每个中继节点的2字符十六进制前缀,用逗号分隔。", - "path_hexPrefixExample": "例如:A1, F2, 3C(每个节点使用其公钥的第一字节)", - "path_labelHexPrefixes": "路径(十六进制前缀)", - "path_helperMaxHops": "最多 64 跳。每个前缀由 2 个十六进制字符(1 字节)组成。", - "path_selectFromContacts": "或从联系人列表中选择:", - "path_noRepeatersFound": "未找到任何转发节点或房间服务器。", - "path_customPathsRequire": "自定义路径需要中间节点转发消息。", - "path_invalidHexPrefixes": "无效的十六进制前缀:{prefixes}", + "path_enterCustomPath": "输入自定义路径", + "path_currentPathLabel": "当前路径", + "path_hexPrefixInstructions": "请输入每个中继节点的2字符十六进制前缀,用逗号分隔。", + "path_hexPrefixExample": "例如:A1, F2, 3C(每个节点使用其公钥的第一字节)", + "path_labelHexPrefixes": "路径(十六进制前缀)", + "path_helperMaxHops": "最多 64 跳。每个前缀由 2 个十六进制字符(1 字节)组成。", + "path_selectFromContacts": "或从联系人列表中选择:", + "path_noRepeatersFound": "未找到任何转发节点或房间服务器。", + "path_customPathsRequire": "自定义路径需要中间节点转发消息。", + "path_invalidHexPrefixes": "无效的十六进制前缀:{prefixes}", "@path_invalidHexPrefixes": { "placeholders": { "prefixes": { @@ -901,29 +901,29 @@ } } }, - "path_tooLong": "路径过长,最多允许 64 跳。", - "path_setPath": "设置路径", - "repeater_management": "转发节点管理", - "room_management": "房间服务器管理", - "repeater_managementTools": "管理工具", - "repeater_status": "状态", - "repeater_statusSubtitle": "查看转发节点状态、统计和邻居", - "repeater_telemetry": "遥测", - "repeater_telemetrySubtitle": "查看传感器和系统状态数据", - "repeater_cli": "命令行", - "repeater_cliSubtitle": "向转发节点发送命令", - "repeater_neighbors": "邻居", - "repeater_neighborsSubtitle": "查看邻居节点(零跳)", - "repeater_settings": "设置", - "repeater_settingsSubtitle": "配置转发节点参数", - "repeater_statusTitle": "转发节点状态", - "repeater_routingMode": "路由模式", - "repeater_autoUseSavedPath": "自动(使用保存的路径)", - "repeater_forceFloodMode": "强制泛洪模式", - "repeater_pathManagement": "路径管理", - "repeater_refresh": "刷新", - "repeater_statusRequestTimeout": "状态请求超时", - "repeater_errorLoadingStatus": "加载状态时出错:{error}", + "path_tooLong": "路径过长,最多允许 64 跳。", + "path_setPath": "设置路径", + "repeater_management": "转发节点管理", + "room_management": "房间服务器管理", + "repeater_managementTools": "管理工具", + "repeater_status": "状态", + "repeater_statusSubtitle": "查看转发节点状态、统计和邻居", + "repeater_telemetry": "遥测", + "repeater_telemetrySubtitle": "查看传感器和系统状态数据", + "repeater_cli": "命令行", + "repeater_cliSubtitle": "向转发节点发送命令", + "repeater_neighbors": "邻居", + "repeater_neighborsSubtitle": "查看邻居节点(零跳)", + "repeater_settings": "设置", + "repeater_settingsSubtitle": "配置转发节点参数", + "repeater_statusTitle": "转发节点状态", + "repeater_routingMode": "路由模式", + "repeater_autoUseSavedPath": "自动(使用保存的路径)", + "repeater_forceFloodMode": "强制泛洪模式", + "repeater_pathManagement": "路径管理", + "repeater_refresh": "刷新", + "repeater_statusRequestTimeout": "状态请求超时", + "repeater_errorLoadingStatus": "加载状态时出错:{error}", "@repeater_errorLoadingStatus": { "placeholders": { "error": { @@ -931,23 +931,23 @@ } } }, - "repeater_systemInformation": "系统信息", - "repeater_battery": "电池", - "repeater_clockAtLogin": "登录时的时钟", - "repeater_uptime": "运行时间", - "repeater_queueLength": "队列长度", - "repeater_debugFlags": "调试标志", - "repeater_radioStatistics": "无线电统计", - "repeater_lastRssi": "上次 RSSI", - "repeater_lastSnr": "上次 SNR", - "repeater_noiseFloor": "底噪", - "repeater_txAirtime": "发送空中时间", - "repeater_rxAirtime": "接收空中时间", - "repeater_packetStatistics": "数据包统计", - "repeater_sent": "发送", - "repeater_received": "接收", - "repeater_duplicates": "重复", - "repeater_daysHoursMinsSecs": "{days}天 {hours}小时 {minutes}分 {seconds}秒", + "repeater_systemInformation": "系统信息", + "repeater_battery": "电池", + "repeater_clockAtLogin": "登录时的时钟", + "repeater_uptime": "运行时间", + "repeater_queueLength": "队列长度", + "repeater_debugFlags": "调试标志", + "repeater_radioStatistics": "无线电统计", + "repeater_lastRssi": "上次 RSSI", + "repeater_lastSnr": "上次 SNR", + "repeater_noiseFloor": "底噪", + "repeater_txAirtime": "发送空中时间", + "repeater_rxAirtime": "接收空中时间", + "repeater_packetStatistics": "数据包统计", + "repeater_sent": "发送", + "repeater_received": "接收", + "repeater_duplicates": "重复", + "repeater_daysHoursMinsSecs": "{days}天 {hours}小时 {minutes}分 {seconds}ç§’", "@repeater_daysHoursMinsSecs": { "placeholders": { "days": { @@ -964,7 +964,7 @@ } } }, - "repeater_packetTxTotal": "总计:{total},泛洪:{flood},直连:{direct}", + "repeater_packetTxTotal": "总计:{total},泛洪:{flood},直连:{direct}", "@repeater_packetTxTotal": { "placeholders": { "total": { @@ -978,7 +978,7 @@ } } }, - "repeater_packetRxTotal": "总计:{total},泛洪:{flood},直连:{direct}", + "repeater_packetRxTotal": "总计:{total},泛洪:{flood},直连:{direct}", "@repeater_packetRxTotal": { "placeholders": { "total": { @@ -992,7 +992,7 @@ } } }, - "repeater_duplicatesFloodDirect": "泛洪:{flood},直连:{direct}", + "repeater_duplicatesFloodDirect": "泛洪:{flood},直连:{direct}", "@repeater_duplicatesFloodDirect": { "placeholders": { "flood": { @@ -1003,7 +1003,7 @@ } } }, - "repeater_duplicatesTotal": "总计:{total}", + "repeater_duplicatesTotal": "总计:{total}", "@repeater_duplicatesTotal": { "placeholders": { "total": { @@ -1011,37 +1011,37 @@ } } }, - "repeater_settingsTitle": "转发节点设置", - "repeater_basicSettings": "基本设置", - "repeater_repeaterName": "转发节点名称", - "repeater_repeaterNameHelper": "此转发节点的显示名称", - "repeater_adminPassword": "管理员密码", - "repeater_adminPasswordHelper": "完整访问密码", - "repeater_guestPassword": "访客密码", - "repeater_guestPasswordHelper": "只读访问密码", - "repeater_radioSettings": "无线电设置", - "repeater_frequencyMhz": "频率 (MHz)", + "repeater_settingsTitle": "转发节点设置", + "repeater_basicSettings": "基本设置", + "repeater_repeaterName": "转发节点名称", + "repeater_repeaterNameHelper": "此转发节点的显示名称", + "repeater_adminPassword": "管理员密码", + "repeater_adminPasswordHelper": "完整访问密码", + "repeater_guestPassword": "访客密码", + "repeater_guestPasswordHelper": "只读访问密码", + "repeater_radioSettings": "无线电设置", + "repeater_frequencyMhz": "频率 (MHz)", "repeater_frequencyHelper": "300-2500 MHz", - "repeater_txPower": "TX 功率", + "repeater_txPower": "TX 功率", "repeater_txPowerHelper": "1-30 dBm", - "repeater_bandwidth": "带宽", - "repeater_spreadingFactor": "扩频因子", - "repeater_codingRate": "编码速率", - "repeater_locationSettings": "位置设置", - "repeater_latitude": "纬度", - "repeater_latitudeHelper": "十进制,例如 37.7749", - "repeater_longitude": "经度", - "repeater_longitudeHelper": "十进制,例如 -122.4194", - "repeater_features": "功能", - "repeater_packetForwarding": "数据包转发", - "repeater_packetForwardingSubtitle": "启用转发节点转发数据包", - "repeater_guestAccess": "访客访问", - "repeater_guestAccessSubtitle": "允许访客只读权限", - "repeater_privacyMode": "隐私模式", - "repeater_privacyModeSubtitle": "在广播中隐藏姓名/位置", - "repeater_advertisementSettings": "广播设置", - "repeater_localAdvertInterval": "本地广播间隔", - "repeater_localAdvertIntervalMinutes": "{minutes} 分钟", + "repeater_bandwidth": "带宽", + "repeater_spreadingFactor": "扩频因子", + "repeater_codingRate": "编码速率", + "repeater_locationSettings": "位置设置", + "repeater_latitude": "纬度", + "repeater_latitudeHelper": "十进制,例如 37.7749", + "repeater_longitude": "经度", + "repeater_longitudeHelper": "十进制,例如 -122.4194", + "repeater_features": "功能", + "repeater_packetForwarding": "数据包转发", + "repeater_packetForwardingSubtitle": "启用转发节点转发数据包", + "repeater_guestAccess": "访客访问", + "repeater_guestAccessSubtitle": "允许访客只读权限", + "repeater_privacyMode": "隐私模式", + "repeater_privacyModeSubtitle": "在广播中隐藏姓名/位置", + "repeater_advertisementSettings": "广播设置", + "repeater_localAdvertInterval": "本地广播间隔", + "repeater_localAdvertIntervalMinutes": "{minutes} 分钟", "@repeater_localAdvertIntervalMinutes": { "placeholders": { "minutes": { @@ -1049,8 +1049,8 @@ } } }, - "repeater_floodAdvertInterval": "泛洪广播间隔", - "repeater_floodAdvertIntervalHours": "{hours} 小时", + "repeater_floodAdvertInterval": "泛洪广播间隔", + "repeater_floodAdvertIntervalHours": "{hours} 小时", "@repeater_floodAdvertIntervalHours": { "placeholders": { "hours": { @@ -1058,19 +1058,19 @@ } } }, - "repeater_encryptedAdvertInterval": "加密广播间隔", - "repeater_dangerZone": "危险设置", - "repeater_rebootRepeater": "重启转发节点", - "repeater_rebootRepeaterSubtitle": "重启转发节点设备", - "repeater_rebootRepeaterConfirm": "确定要重启此转发节点吗?", - "repeater_regenerateIdentityKey": "重新生成身份密钥", - "repeater_regenerateIdentityKeySubtitle": "生成新的公钥/私钥对", - "repeater_regenerateIdentityKeyConfirm": "这将为转发节点生成新身份,继续吗?", - "repeater_eraseFileSystem": "擦除文件系统", - "repeater_eraseFileSystemSubtitle": "格式化转发节点文件系统", - "repeater_eraseFileSystemConfirm": "警告:此操作将清除转发节点上的所有数据,且无法恢复!", - "repeater_eraseSerialOnly": "擦除功能仅可通过串行控制台使用。", - "repeater_commandSent": "命令已发送:{command}", + "repeater_encryptedAdvertInterval": "加密广播间隔", + "repeater_dangerZone": "危险设置", + "repeater_rebootRepeater": "重启转发节点", + "repeater_rebootRepeaterSubtitle": "重启转发节点设备", + "repeater_rebootRepeaterConfirm": "确定要重启此转发节点吗?", + "repeater_regenerateIdentityKey": "重新生成身份密钥", + "repeater_regenerateIdentityKeySubtitle": "生成新的公钥/私钥对", + "repeater_regenerateIdentityKeyConfirm": "这将为转发节点生成新身份,继续吗?", + "repeater_eraseFileSystem": "擦除文件系统", + "repeater_eraseFileSystemSubtitle": "格式化转发节点文件系统", + "repeater_eraseFileSystemConfirm": "警告:此操作将清除转发节点上的所有数据,且无法恢复!", + "repeater_eraseSerialOnly": "擦除功能仅可通过串行控制台使用。", + "repeater_commandSent": "命令已发送:{command}", "@repeater_commandSent": { "placeholders": { "command": { @@ -1078,7 +1078,7 @@ } } }, - "repeater_errorSendingCommand": "发送命令时出错:{error}", + "repeater_errorSendingCommand": "发送命令时出错:{error}", "@repeater_errorSendingCommand": { "placeholders": { "error": { @@ -1086,9 +1086,9 @@ } } }, - "repeater_confirm": "确认", - "repeater_settingsSaved": "设置保存成功", - "repeater_errorSavingSettings": "保存设置时出错:{error}", + "repeater_confirm": "确认", + "repeater_settingsSaved": "设置保存成功", + "repeater_errorSavingSettings": "保存设置时出错:{error}", "@repeater_errorSavingSettings": { "placeholders": { "error": { @@ -1096,15 +1096,15 @@ } } }, - "repeater_refreshBasicSettings": "刷新基本设置", - "repeater_refreshRadioSettings": "刷新无线电设置", - "repeater_refreshTxPower": "刷新 TX 功率", - "repeater_refreshLocationSettings": "刷新位置设置", - "repeater_refreshPacketForwarding": "刷新包转发", - "repeater_refreshGuestAccess": "刷新访客权限", - "repeater_refreshPrivacyMode": "刷新隐私模式", - "repeater_refreshAdvertisementSettings": "刷新广播设置", - "repeater_refreshed": "{label} 已刷新", + "repeater_refreshBasicSettings": "刷新基本设置", + "repeater_refreshRadioSettings": "刷新无线电设置", + "repeater_refreshTxPower": "刷新 TX 功率", + "repeater_refreshLocationSettings": "刷新位置设置", + "repeater_refreshPacketForwarding": "刷新包转发", + "repeater_refreshGuestAccess": "刷新访客权限", + "repeater_refreshPrivacyMode": "刷新隐私模式", + "repeater_refreshAdvertisementSettings": "刷新广播设置", + "repeater_refreshed": "{label} 已刷新", "@repeater_refreshed": { "placeholders": { "label": { @@ -1112,7 +1112,7 @@ } } }, - "repeater_errorRefreshing": "刷新 {label} 时出错", + "repeater_errorRefreshing": "刷新 {label} 时出错", "@repeater_errorRefreshing": { "placeholders": { "label": { @@ -1120,18 +1120,18 @@ } } }, - "repeater_cliTitle": "转发节点命令行", - "repeater_debugNextCommand": "调试下一条命令", - "repeater_commandHelp": "帮助", - "repeater_clearHistory": "清除历史", - "repeater_noCommandsSent": "尚未发送命令", - "repeater_typeCommandOrUseQuick": "输入命令或使用快捷命令", - "repeater_enterCommandHint": "输入命令...", - "repeater_previousCommand": "上一条命令", - "repeater_nextCommand": "下一条命令", - "repeater_enterCommandFirst": "请先输入命令", - "repeater_cliCommandFrameTitle": "CLI 命令帧", - "repeater_cliCommandError": "错误:{error}", + "repeater_cliTitle": "转发节点命令行", + "repeater_debugNextCommand": "调试下一条命令", + "repeater_commandHelp": "帮助", + "repeater_clearHistory": "清除历史", + "repeater_noCommandsSent": "尚未发送命令", + "repeater_typeCommandOrUseQuick": "输入命令或使用快捷命令", + "repeater_enterCommandHint": "输入命令...", + "repeater_previousCommand": "上一条命令", + "repeater_nextCommand": "下一条命令", + "repeater_enterCommandFirst": "请先输入命令", + "repeater_cliCommandFrameTitle": "CLI 命令帧", + "repeater_cliCommandError": "错误:{error}", "@repeater_cliCommandError": { "placeholders": { "error": { @@ -1139,81 +1139,81 @@ } } }, - "repeater_cliQuickGetName": "获取名称", - "repeater_cliQuickGetRadio": "获取无线电设置", - "repeater_cliQuickGetTx": "获取 TX", - "repeater_cliQuickNeighbors": "邻居", - "repeater_cliQuickVersion": "版本", - "repeater_cliQuickAdvertise": "发送广播", - "repeater_cliQuickClock": "时钟", - "repeater_cliHelpAdvert": "发送广播包", - "repeater_cliHelpReboot": "重启设备。(注意:可能会收到超时错误,属于正常现象)", - "repeater_cliHelpClock": "显示设备当前时间", - "repeater_cliHelpPassword": "设置新的管理员密码", - "repeater_cliHelpVersion": "显示设备版本和固件构建日期", - "repeater_cliHelpClearStats": "重置各种统计数据", - "repeater_cliHelpSetAf": "设置时间因子", - "repeater_cliHelpSetTx": "设置 LoRa 发射功率 (dBm)(重启生效)", - "repeater_cliHelpSetRepeat": "启用或禁用此节点的转发功能", - "repeater_cliHelpSetAllowReadOnly": "(房间服务器)设为“开”则允许空密码登录,但只能读(不能发送)", - "repeater_cliHelpSetFloodMax": "设置最大传入数据包跳数(≥该值则不转发)", - "repeater_cliHelpSetIntThresh": "设置干扰阈值 (dB),默认14,设为0禁用", - "repeater_cliHelpSetAgcResetInterval": "设置 AGC 重置间隔(秒),设为0禁用", - "repeater_cliHelpSetMultiAcks": "启用或禁用“多重确认”功能", - "repeater_cliHelpSetAdvertInterval": "设置本地广播间隔(分钟),设为0禁用", - "repeater_cliHelpSetFloodAdvertInterval": "设置泛洪广播间隔(小时),设为0禁用", - "repeater_cliHelpSetGuestPassword": "设置/更新访客密码", - "repeater_cliHelpSetName": "设置广播名称", - "repeater_cliHelpSetLat": "设置广播纬度(十进制)", - "repeater_cliHelpSetLon": "设置广播经度(十进制)", - "repeater_cliHelpSetRadio": "完全重设无线电参数并保存,需重启生效", - "repeater_cliHelpSetRxDelay": "(实验性)设置接收延迟基数,设为0禁用", - "repeater_cliHelpSetTxDelay": "通过因子和随机时隙延迟泛洪数据包转发,降低冲突", - "repeater_cliHelpSetDirectTxDelay": "同 txdelay,用于直连模式数据包", - "repeater_cliHelpSetBridgeEnabled": "启用/禁用桥接", - "repeater_cliHelpSetBridgeDelay": "设置桥接转发延迟", - "repeater_cliHelpSetBridgeSource": "选择桥接器转发接收或发送的数据包", - "repeater_cliHelpSetBridgeBaud": "设置 RS232 桥接串口波特率", - "repeater_cliHelpSetBridgeSecret": "设置 ESPNOW 桥接密钥", - "repeater_cliHelpSetAdcMultiplier": "设置电池电压校正系数(特定板支持)", - "repeater_cliHelpTempRadio": "临时设置无线电参数指定分钟,之后恢复(不保存)", - "repeater_cliHelpSetPerm": "修改 ACL,权限位:0访客、1只读、2读写、3管理员", - "repeater_cliHelpGetBridgeType": "支持桥接模式:RS232、ESPNOW", - "repeater_cliHelpLogStart": "开始记录数据包到文件系统", - "repeater_cliHelpLogStop": "停止记录数据包", - "repeater_cliHelpLogErase": "删除所有记录的数据包", - "repeater_cliHelpNeighbors": "显示零跳广播收到的其他转发节点列表", - "repeater_cliHelpNeighborRemove": "从邻居列表删除第一个匹配项(通过公钥前缀)", - "repeater_cliHelpRegion": "(仅串口)列出所有定义区域及当前泛洪权限", - "repeater_cliHelpRegionLoad": "特殊多命令调用,以空行结束", - "repeater_cliHelpRegionGet": "搜索指定前缀的区域", - "repeater_cliHelpRegionPut": "添加或更新区域定义", - "repeater_cliHelpRegionRemove": "删除指定区域定义", - "repeater_cliHelpRegionAllowf": "为区域设置“泛洪”权限", - "repeater_cliHelpRegionDenyf": "移除区域的“泛洪”权限", - "repeater_cliHelpRegionHome": "返回当前“主区域”(预留)", - "repeater_cliHelpRegionHomeSet": "设置“主”区域", - "repeater_cliHelpRegionSave": "保存区域列表到存储", - "repeater_cliHelpGps": "显示 GPS 状态", - "repeater_cliHelpGpsOnOff": "切换 GPS 电源", - "repeater_cliHelpGpsSync": "将节点时间与 GPS 同步", - "repeater_cliHelpGpsSetLoc": "将节点坐标设为 GPS 坐标并保存", - "repeater_cliHelpGpsAdvert": "设置位置广播配置:none/share/prefs", - "repeater_cliHelpGpsAdvertSet": "设置广播位置配置", - "repeater_commandsListTitle": "命令列表", - "repeater_commandsListNote": "注意:多数 set 命令也有对应的 get 命令", - "repeater_general": "通用", - "repeater_settingsCategory": "设置", - "repeater_bridge": "桥接", - "repeater_logging": "日志", - "repeater_neighborsRepeaterOnly": "邻居(仅转发节点)", - "repeater_regionManagementRepeaterOnly": "区域管理(仅转发节点)", - "repeater_regionNote": "区域命令用于管理区域定义和权限", - "repeater_gpsManagement": "GPS 管理", - "repeater_gpsNote": "GPS 命令用于位置相关任务", - "telemetry_receivedData": "接收到的遥测数据", - "telemetry_requestTimeout": "遥测请求超时", - "telemetry_errorLoading": "加载遥测数据时出错:{error}", + "repeater_cliQuickGetName": "获取名称", + "repeater_cliQuickGetRadio": "获取无线电设置", + "repeater_cliQuickGetTx": "获取 TX", + "repeater_cliQuickNeighbors": "邻居", + "repeater_cliQuickVersion": "版本", + "repeater_cliQuickAdvertise": "发送广播", + "repeater_cliQuickClock": "æ—¶é’Ÿ", + "repeater_cliHelpAdvert": "发送广播包", + "repeater_cliHelpReboot": "重启设备。(注意:可能会收到超时错误,属于正常现象)", + "repeater_cliHelpClock": "显示设备当前时间", + "repeater_cliHelpPassword": "设置新的管理员密码", + "repeater_cliHelpVersion": "显示设备版本和固件构建日期", + "repeater_cliHelpClearStats": "重置各种统计数据", + "repeater_cliHelpSetAf": "设置时间因子", + "repeater_cliHelpSetTx": "设置 LoRa 发射功率 (dBm)(重启生效)", + "repeater_cliHelpSetRepeat": "启用或禁用此节点的转发功能", + "repeater_cliHelpSetAllowReadOnly": "(房间服务器)设为“开”则允许空密码登录,但只能读(不能发送)", + "repeater_cliHelpSetFloodMax": "设置最大传入数据包跳数(≥该值则不转发)", + "repeater_cliHelpSetIntThresh": "设置干扰阈值 (dB),默认14,设为0禁用", + "repeater_cliHelpSetAgcResetInterval": "设置 AGC 重置间隔(秒),设为0禁用", + "repeater_cliHelpSetMultiAcks": "启用或禁用“多重确认”功能", + "repeater_cliHelpSetAdvertInterval": "设置本地广播间隔(分钟),设为0禁用", + "repeater_cliHelpSetFloodAdvertInterval": "设置泛洪广播间隔(小时),设为0禁用", + "repeater_cliHelpSetGuestPassword": "设置/更新访客密码", + "repeater_cliHelpSetName": "设置广播名称", + "repeater_cliHelpSetLat": "设置广播纬度(十进制)", + "repeater_cliHelpSetLon": "设置广播经度(十进制)", + "repeater_cliHelpSetRadio": "完全重设无线电参数并保存,需重启生效", + "repeater_cliHelpSetRxDelay": "(实验性)设置接收延迟基数,设为0禁用", + "repeater_cliHelpSetTxDelay": "通过因子和随机时隙延迟泛洪数据包转发,降低冲突", + "repeater_cliHelpSetDirectTxDelay": "同 txdelay,用于直连模式数据包", + "repeater_cliHelpSetBridgeEnabled": "启用/禁用桥接", + "repeater_cliHelpSetBridgeDelay": "设置桥接转发延迟", + "repeater_cliHelpSetBridgeSource": "选择桥接器转发接收或发送的数据包", + "repeater_cliHelpSetBridgeBaud": "设置 RS232 桥接串口波特率", + "repeater_cliHelpSetBridgeSecret": "设置 ESPNOW 桥接密钥", + "repeater_cliHelpSetAdcMultiplier": "设置电池电压校正系数(特定板支持)", + "repeater_cliHelpTempRadio": "临时设置无线电参数指定分钟,之后恢复(不保存)", + "repeater_cliHelpSetPerm": "修改 ACL,权限位:0访客、1只读、2读写、3管理员", + "repeater_cliHelpGetBridgeType": "支持桥接模式:RS232、ESPNOW", + "repeater_cliHelpLogStart": "开始记录数据包到文件系统", + "repeater_cliHelpLogStop": "停止记录数据包", + "repeater_cliHelpLogErase": "删除所有记录的数据包", + "repeater_cliHelpNeighbors": "显示零跳广播收到的其他转发节点列表", + "repeater_cliHelpNeighborRemove": "从邻居列表删除第一个匹配项(通过公钥前缀)", + "repeater_cliHelpRegion": "(仅串口)列出所有定义区域及当前泛洪权限", + "repeater_cliHelpRegionLoad": "特殊多命令调用,以空行结束", + "repeater_cliHelpRegionGet": "搜索指定前缀的区域", + "repeater_cliHelpRegionPut": "添加或更新区域定义", + "repeater_cliHelpRegionRemove": "删除指定区域定义", + "repeater_cliHelpRegionAllowf": "为区域设置“泛洪”权限", + "repeater_cliHelpRegionDenyf": "移除区域的“泛洪”权限", + "repeater_cliHelpRegionHome": "返回当前“主区域”(预留)", + "repeater_cliHelpRegionHomeSet": "设置“主”区域", + "repeater_cliHelpRegionSave": "保存区域列表到存储", + "repeater_cliHelpGps": "显示 GPS 状态", + "repeater_cliHelpGpsOnOff": "切换 GPS 电源", + "repeater_cliHelpGpsSync": "将节点时间与 GPS 同步", + "repeater_cliHelpGpsSetLoc": "将节点坐标设为 GPS 坐标并保存", + "repeater_cliHelpGpsAdvert": "设置位置广播配置:none/share/prefs", + "repeater_cliHelpGpsAdvertSet": "设置广播位置配置", + "repeater_commandsListTitle": "命令列表", + "repeater_commandsListNote": "注意:多数 set 命令也有对应的 get 命令", + "repeater_general": "通用", + "repeater_settingsCategory": "设置", + "repeater_bridge": "桥接", + "repeater_logging": "日志", + "repeater_neighborsRepeaterOnly": "邻居(仅转发节点)", + "repeater_regionManagementRepeaterOnly": "区域管理(仅转发节点)", + "repeater_regionNote": "区域命令用于管理区域定义和权限", + "repeater_gpsManagement": "GPS 管理", + "repeater_gpsNote": "GPS 命令用于位置相关任务", + "telemetry_receivedData": "接收到的遥测数据", + "telemetry_requestTimeout": "遥测请求超时", + "telemetry_errorLoading": "加载遥测数据时出错:{error}", "@telemetry_errorLoading": { "placeholders": { "error": { @@ -1221,8 +1221,8 @@ } } }, - "telemetry_noData": "暂无遥测数据", - "telemetry_channelTitle": "频道 {channel}", + "telemetry_noData": "暂无遥测数据", + "telemetry_channelTitle": "频道 {channel}", "@telemetry_channelTitle": { "placeholders": { "channel": { @@ -1230,11 +1230,11 @@ } } }, - "telemetry_batteryLabel": "电池", - "telemetry_voltageLabel": "电压", - "telemetry_mcuTemperatureLabel": "MCU 温度", - "telemetry_temperatureLabel": "温度", - "telemetry_currentLabel": "电流", + "telemetry_batteryLabel": "电池", + "telemetry_voltageLabel": "电压", + "telemetry_mcuTemperatureLabel": "MCU 温度", + "telemetry_temperatureLabel": "温度", + "telemetry_currentLabel": "电流", "telemetry_batteryValue": "{percent}% / {volts}V", "@telemetry_batteryValue": { "placeholders": { @@ -1262,7 +1262,7 @@ } } }, - "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", + "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "@telemetry_temperatureValue": { "placeholders": { "celsius": { @@ -1273,9 +1273,9 @@ } } }, - "neighbors_receivedData": "已接收邻居信息", - "neighbors_requestTimedOut": "邻居请求超时", - "neighbors_errorLoading": "加载邻居时出错:{error}", + "neighbors_receivedData": "已接收邻居信息", + "neighbors_requestTimedOut": "邻居请求超时", + "neighbors_errorLoading": "加载邻居时出错:{error}", "@neighbors_errorLoading": { "placeholders": { "error": { @@ -1283,9 +1283,9 @@ } } }, - "neighbors_repeatersNeighbors": "转发节点的邻居", - "neighbors_noData": "暂无邻居信息", - "neighbors_unknownContact": "未知 {pubkey}", + "neighbors_repeatersNeighbors": "转发节点的邻居", + "neighbors_noData": "暂无邻居信息", + "neighbors_unknownContact": "未知 {pubkey}", "@neighbors_unknownContact": { "placeholders": { "pubkey": { @@ -1293,7 +1293,7 @@ } } }, - "neighbors_heardAgo": "听到:{time}前", + "neighbors_heardAgo": "听到:{time}前", "@neighbors_heardAgo": { "placeholders": { "time": { @@ -1301,18 +1301,18 @@ } } }, - "channelPath_title": "数据包路径", - "channelPath_viewMap": "查看地图", - "channelPath_otherObservedPaths": "其他观察到的路径", - "channelPath_repeaterHops": "转发节点跳数", - "channelPath_noHopDetails": "此数据包未提供详细信息", - "channelPath_messageDetails": "消息详情", - "channelPath_senderLabel": "发送者", - "channelPath_timeLabel": "时间", - "channelPath_repeatsLabel": "重复", - "channelPath_pathLabel": "路径 {index}", - "channelPath_observedLabel": "观察到的", - "channelPath_observedPathTitle": "观察到的路径 {index} • {hops}", + "channelPath_title": "数据包路径", + "channelPath_viewMap": "查看地图", + "channelPath_otherObservedPaths": "其他观察到的路径", + "channelPath_repeaterHops": "转发节点跳数", + "channelPath_noHopDetails": "此数据包未提供详细信息", + "channelPath_messageDetails": "消息详情", + "channelPath_senderLabel": "发送者", + "channelPath_timeLabel": "æ—¶é—´", + "channelPath_repeatsLabel": "重复", + "channelPath_pathLabel": "路径 {index}", + "channelPath_observedLabel": "观察到的", + "channelPath_observedPathTitle": "观察到的路径 {index} • {hops}", "@channelPath_observedPathTitle": { "placeholders": { "index": { @@ -1323,7 +1323,7 @@ } } }, - "channelPath_noLocationData": "无位置信息", + "channelPath_noLocationData": "无位置信息", "channelPath_timeWithDate": "{day}/{month} {time}", "@channelPath_timeWithDate": { "placeholders": { @@ -1346,10 +1346,10 @@ } } }, - "channelPath_unknownPath": "未知", - "channelPath_floodPath": "泛洪", - "channelPath_directPath": "直连", - "channelPath_observedZeroOf": "0 / {total} 跳", + "channelPath_unknownPath": "未知", + "channelPath_floodPath": "泛洪", + "channelPath_directPath": "直连", + "channelPath_observedZeroOf": "0 / {total} è·³", "@channelPath_observedZeroOf": { "placeholders": { "total": { @@ -1357,7 +1357,7 @@ } } }, - "channelPath_observedSomeOf": "{observed} / {total} 跳", + "channelPath_observedSomeOf": "{observed} / {total} è·³", "@channelPath_observedSomeOf": { "placeholders": { "observed": { @@ -1368,9 +1368,9 @@ } } }, - "channelPath_mapTitle": "路径地图", - "channelPath_noRepeaterLocations": "此路径上没有可用的转发节点位置信息", - "channelPath_primaryPath": "路径 {index}(主要)", + "channelPath_mapTitle": "路径地图", + "channelPath_noRepeaterLocations": "此路径上没有可用的转发节点位置信息", + "channelPath_primaryPath": "路径 {index}(主要)", "@channelPath_primaryPath": { "placeholders": { "index": { @@ -1385,9 +1385,9 @@ } } }, - "channelPath_pathLabelTitle": "路径", - "channelPath_observedPathHeader": "观察到的路径", - "channelPath_selectedPathLabel": "{label} • {prefixes}", + "channelPath_pathLabelTitle": "路径", + "channelPath_observedPathHeader": "观察到的路径", + "channelPath_selectedPathLabel": "{label} • {prefixes}", "@channelPath_selectedPathLabel": { "placeholders": { "label": { @@ -1398,14 +1398,14 @@ } } }, - "channelPath_noHopDetailsAvailable": "此数据包暂无详细信息", - "channelPath_unknownRepeater": "未知转发节点", - "community_title": "社区", - "community_create": "创建社区", - "community_createDesc": "创建新社区并通过二维码分享。", - "community_join": "加入", - "community_joinTitle": "加入社区", - "community_joinConfirmation": "是否加入社区 \"{name}\"?", + "channelPath_noHopDetailsAvailable": "此数据包暂无详细信息", + "channelPath_unknownRepeater": "未知转发节点", + "community_title": "社区", + "community_create": "创建社区", + "community_createDesc": "创建新社区并通过二维码分享。", + "community_join": "加入", + "community_joinTitle": "加入社区", + "community_joinConfirmation": "是否加入社区 \"{name}\"?", "@community_joinConfirmation": { "placeholders": { "name": { @@ -1413,14 +1413,14 @@ } } }, - "community_scanQr": "扫描社区二维码", - "community_scanInstructions": "将摄像头对准社区的二维码", - "community_showQr": "显示二维码", - "community_publicChannel": "社区公共频道", - "community_hashtagChannel": "社区标签频道", - "community_name": "社区名称", - "community_enterName": "请输入社区名称", - "community_created": "社区 \"{name}\" 已创建", + "community_scanQr": "扫描社区二维码", + "community_scanInstructions": "将摄像头对准社区的二维码", + "community_showQr": "显示二维码", + "community_publicChannel": "社区公共频道", + "community_hashtagChannel": "社区标签频道", + "community_name": "社区名称", + "community_enterName": "请输入社区名称", + "community_created": "社区 \"{name}\" 已创建", "@community_created": { "placeholders": { "name": { @@ -1428,7 +1428,7 @@ } } }, - "community_joined": "已加入社区 \"{name}\"", + "community_joined": "已加入社区 \"{name}\"", "@community_joined": { "placeholders": { "name": { @@ -1436,8 +1436,8 @@ } } }, - "community_qrTitle": "分享社区", - "community_qrInstructions": "扫描此二维码加入 \"{name}\"", + "community_qrTitle": "分享社区", + "community_qrInstructions": "扫描此二维码加入 \"{name}\"", "@community_qrInstructions": { "placeholders": { "name": { @@ -1445,10 +1445,10 @@ } } }, - "community_hashtagPrivacyHint": "仅社区成员可加入社区标签频道。", - "community_invalidQrCode": "无效的社区二维码", - "community_alreadyMember": "已是成员", - "community_alreadyMemberMessage": "您已是 \"{name}\" 的成员。", + "community_hashtagPrivacyHint": "仅社区成员可加入社区标签频道。", + "community_invalidQrCode": "无效的社区二维码", + "community_alreadyMember": "已是成员", + "community_alreadyMemberMessage": "您已是 \"{name}\" 的成员。", "@community_alreadyMemberMessage": { "placeholders": { "name": { @@ -1456,13 +1456,13 @@ } } }, - "community_addPublicChannel": "添加公共频道", - "community_addPublicChannelHint": "自动添加此社区的公共频道", - "community_noCommunities": "尚未加入任何社区。", - "community_scanOrCreate": "扫描二维码或创建社区以开始。", - "community_manageCommunities": "管理社区", - "community_delete": "退出社区", - "community_deleteConfirm": "是否退出 \"{name}\"?", + "community_addPublicChannel": "添加公共频道", + "community_addPublicChannelHint": "自动添加此社区的公共频道", + "community_noCommunities": "尚未加入任何社区。", + "community_scanOrCreate": "扫描二维码或创建社区以开始。", + "community_manageCommunities": "管理社区", + "community_delete": "退出社区", + "community_deleteConfirm": "是否退出 \"{name}\"?", "@community_deleteConfirm": { "placeholders": { "name": { @@ -1470,7 +1470,7 @@ } } }, - "community_deleteChannelsWarning": "这将同时删除 {count} 个频道及其所有消息。", + "community_deleteChannelsWarning": "这将同时删除 {count} 个频道及其所有消息。", "@community_deleteChannelsWarning": { "placeholders": { "count": { @@ -1478,7 +1478,7 @@ } } }, - "community_deleted": "已退出社区 \"{name}\"", + "community_deleted": "已退出社区 \"{name}\"", "@community_deleted": { "placeholders": { "name": { @@ -1486,8 +1486,8 @@ } } }, - "community_regenerateSecret": "重新生成密钥", - "community_regenerateSecretConfirm": "是否为 \"{name}\" 重新生成密钥?所有成员需扫描新的二维码才能继续通信。", + "community_regenerateSecret": "重新生成密钥", + "community_regenerateSecretConfirm": "是否为 \"{name}\" 重新生成密钥?所有成员需扫描新的二维码才能继续通信。", "@community_regenerateSecretConfirm": { "placeholders": { "name": { @@ -1495,8 +1495,8 @@ } } }, - "community_regenerate": "重新生成", - "community_secretRegenerated": "已为 \"{name}\" 重新生成密钥", + "community_regenerate": "重新生成", + "community_secretRegenerated": "已为 \"{name}\" 重新生成密钥", "@community_secretRegenerated": { "placeholders": { "name": { @@ -1504,8 +1504,8 @@ } } }, - "community_updateSecret": "更新密钥", - "community_secretUpdated": "“{name}”的密钥已更新", + "community_updateSecret": "更新密钥", + "community_secretUpdated": "“{name}”的密钥已更新", "@community_secretUpdated": { "placeholders": { "name": { @@ -1513,7 +1513,7 @@ } } }, - "community_scanToUpdateSecret": "扫描新二维码以更新 \"{name}\" 的密钥", + "community_scanToUpdateSecret": "扫描新二维码以更新 \"{name}\" 的密钥", "@community_scanToUpdateSecret": { "placeholders": { "name": { @@ -1521,14 +1521,14 @@ } } }, - "community_addHashtagChannel": "添加标签频道", - "community_addHashtagChannelDesc": "为此社区创建标签频道", - "community_selectCommunity": "选择社区", - "community_regularHashtag": "普通标签", - "community_regularHashtagDesc": "公共标签频道(任何人都可参与)", - "community_communityHashtag": "社区标签", - "community_communityHashtagDesc": "仅限社区成员", - "community_forCommunity": "为 {name}", + "community_addHashtagChannel": "添加标签频道", + "community_addHashtagChannelDesc": "为此社区创建标签频道", + "community_selectCommunity": "选择社区", + "community_regularHashtag": "普通标签", + "community_regularHashtagDesc": "公共标签频道(任何人都可参与)", + "community_communityHashtag": "社区标签", + "community_communityHashtagDesc": "仅限社区成员", + "community_forCommunity": "为 {name}", "@community_forCommunity": { "placeholders": { "name": { @@ -1536,30 +1536,30 @@ } } }, - "listFilter_tooltip": "筛选与排序", - "listFilter_sortBy": "排序方式", - "listFilter_latestMessages": "最新消息", - "listFilter_heardRecently": "最近听到", + "listFilter_tooltip": "筛选与排序", + "listFilter_sortBy": "排序方式", + "listFilter_latestMessages": "最新消息", + "listFilter_heardRecently": "最近听到", "listFilter_az": "A-Z", - "listFilter_filters": "筛选", - "listFilter_all": "全部", - "listFilter_users": "用户", - "listFilter_repeaters": "转发节点", - "listFilter_roomServers": "房间服务器", - "listFilter_unreadOnly": "仅显示未读", - "listFilter_newGroup": "新建群聊", - "pathTrace_you": "我自己", - "pathTrace_failed": "路径追踪失败。", - "pathTrace_notAvailable": "无法获取路径信息。", - "pathTrace_refreshTooltip": "刷新路径追踪", - "contacts_pathTrace": "路径追踪", + "listFilter_filters": "筛选", + "listFilter_all": "全部", + "listFilter_users": "用户", + "listFilter_repeaters": "转发节点", + "listFilter_roomServers": "房间服务器", + "listFilter_unreadOnly": "仅显示未读", + "listFilter_newGroup": "新建群聊", + "pathTrace_you": "我自己", + "pathTrace_failed": "路径追踪失败。", + "pathTrace_notAvailable": "无法获取路径信息。", + "pathTrace_refreshTooltip": "刷新路径追踪", + "contacts_pathTrace": "路径追踪", "contacts_ping": "Ping", - "contacts_repeaterPathTrace": "Trace 转发节点", - "contacts_repeaterPing": "Ping 转发节点", - "contacts_roomPathTrace": "Trace 房间服务器", - "contacts_roomPing": "Ping 房间服务器", - "contacts_chatTraceRoute": "路由追踪", - "contacts_pathTraceTo": "追踪至 {name} 的路径", + "contacts_repeaterPathTrace": "Trace 转发节点", + "contacts_repeaterPing": "Ping 转发节点", + "contacts_roomPathTrace": "Trace 房间服务器", + "contacts_roomPing": "Ping 房间服务器", + "contacts_chatTraceRoute": "路由追踪", + "contacts_pathTraceTo": "追踪至 {name} 的路径", "@contacts_pathTraceTo": { "placeholders": { "name": { @@ -1567,66 +1567,66 @@ } } }, - "contacts_clipboardEmpty": "剪贴板为空", - "contacts_invalidAdvertFormat": "无效的联系人信息格式", - "contacts_contactImported": "联系人已导入", - "contacts_contactImportFailed": "导入联系人失败。", - "contacts_zeroHopAdvert": "发送零跳广播", - "contacts_floodAdvert": "发送泛洪广播", - "contacts_copyAdvertToClipboard": "复制广播到剪贴板", - "contacts_addContactFromClipboard": "从剪贴板添加联系人", - "contacts_ShareContact": "复制联系人信息到剪贴板", - "contacts_ShareContactZeroHop": "通过广播分享联系人", - "contacts_zeroHopContactAdvertSent": "零跳广播已发送", - "contacts_zeroHopContactAdvertFailed": "发送联系人广播失败。", - "contacts_contactAdvertCopied": "广播已复制到剪贴板。", - "contacts_contactAdvertCopyFailed": "复制广播到剪贴板失败。", - "notification_activityTitle": "MeshCore 活动", - "notification_messagesCount": "{count} 条消息", - "notification_channelMessagesCount": "{count} 条频道消息", - "notification_newNodesCount": "{count} 个新节点", - "notification_newTypeDiscovered": "发现新 {contactType}", - "notification_receivedNewMessage": "收到新消息", - "settings_gpxExportRepeaters": "导出转发节点/房间服务器到 GPX", - "settings_gpxExportRepeatersSubtitle": "导出带位置的转发节点/房间服务器到 GPX 文件", - "settings_gpxExportContactsSubtitle": "导出带位置的伙伴到 GPX 文件", - "settings_gpxExportNotAvailable": "您的设备/操作系统不支持", - "settings_gpxExportSuccess": "GPX 文件导出成功", - "settings_gpxExportError": "导出时出错", - "settings_gpxExportRepeatersRoom": "转发节点与房间服务器位置", - "settings_gpxExportChat": "伙伴位置", - "settings_gpxExportAll": "导出所有联系人到 GPX", - "settings_gpxExportContacts": "导出伙伴到 GPX", - "settings_gpxExportAllSubtitle": "导出所有带位置的联系人到 GPX 文件", - "settings_gpxExportAllContacts": "所有联系人位置", - "settings_gpxExportNoContacts": "没有可导出的联系人", - "settings_gpxExportShareText": "来自 MeshCore Open 的地图数据导出", - "settings_gpxExportShareSubject": "MeshCore Open GPX 地图数据导出", - "pathTrace_someHopsNoLocation": "某些跳缺少位置信息!", - "map_tapToAdd": "点击节点以添加到路径", - "pathTrace_clearTooltip": "清除路径", - "map_pathTraceCancelled": "路径追踪已取消", - "map_removeLast": "移除最后一个", - "map_runTrace": "运行路径追踪", - "scanner_bluetoothOffMessage": "请开启蓝牙以搜索设备", - "scanner_chromeRequired": "需要 Chrome 浏览器", - "scanner_chromeRequiredMessage": "此 Web 应用程序需要 Google Chrome 或基于 Chromium 的浏览器以支持蓝牙。", - "scanner_bluetoothOff": "蓝牙已关闭", - "scanner_enableBluetooth": "启用蓝牙", - "snrIndicator_lastSeen": "最近访问", - "snrIndicator_nearByRepeaters": "附近的重复器", - "chat_ShowAllPaths": "显示所有路径", - "settings_clientRepeat": "离网重复", - "settings_clientRepeatSubtitle": "允许此设备重复发送网状数据包给其他设备", - "settings_clientRepeatFreqWarning": "离网重复通信需要使用 433、869 或 918 兆赫兹的频率。", - "settings_aboutOpenMeteoAttribution": "LOS 高程数据:Open-Meteo (CC BY 4.0)", - "appSettings_unitsTitle": "单位", - "appSettings_unitsMetric": "公制(米/公里)", - "appSettings_unitsImperial": "英制 (ft / mi)", - "map_lineOfSight": "视线", - "map_losScreenTitle": "视线", - "losSelectStartEnd": "选择 LOS 的起始节点和结束节点。", - "losRunFailed": "视线检查失败:{error}", + "contacts_clipboardEmpty": "剪贴板为空", + "contacts_invalidAdvertFormat": "无效的联系人信息格式", + "contacts_contactImported": "联系人已导入", + "contacts_contactImportFailed": "导入联系人失败。", + "contacts_zeroHopAdvert": "发送零跳广播", + "contacts_floodAdvert": "发送泛洪广播", + "contacts_copyAdvertToClipboard": "复制广播到剪贴板", + "contacts_addContactFromClipboard": "从剪贴板添加联系人", + "contacts_ShareContact": "复制联系人信息到剪贴板", + "contacts_ShareContactZeroHop": "通过广播分享联系人", + "contacts_zeroHopContactAdvertSent": "零跳广播已发送", + "contacts_zeroHopContactAdvertFailed": "发送联系人广播失败。", + "contacts_contactAdvertCopied": "广播已复制到剪贴板。", + "contacts_contactAdvertCopyFailed": "复制广播到剪贴板失败。", + "notification_activityTitle": "MeshCore 活动", + "notification_messagesCount": "{count} 条消息", + "notification_channelMessagesCount": "{count} 条频道消息", + "notification_newNodesCount": "{count} 个新节点", + "notification_newTypeDiscovered": "发现新 {contactType}", + "notification_receivedNewMessage": "收到新消息", + "settings_gpxExportRepeaters": "导出转发节点/房间服务器到 GPX", + "settings_gpxExportRepeatersSubtitle": "导出带位置的转发节点/房间服务器到 GPX 文件", + "settings_gpxExportContactsSubtitle": "导出带位置的伙伴到 GPX 文件", + "settings_gpxExportNotAvailable": "您的设备/操作系统不支持", + "settings_gpxExportSuccess": "GPX 文件导出成功", + "settings_gpxExportError": "导出时出错", + "settings_gpxExportRepeatersRoom": "转发节点与房间服务器位置", + "settings_gpxExportChat": "伙伴位置", + "settings_gpxExportAll": "导出所有联系人到 GPX", + "settings_gpxExportContacts": "导出伙伴到 GPX", + "settings_gpxExportAllSubtitle": "导出所有带位置的联系人到 GPX 文件", + "settings_gpxExportAllContacts": "所有联系人位置", + "settings_gpxExportNoContacts": "没有可导出的联系人", + "settings_gpxExportShareText": "来自 MeshCore Open 的地图数据导出", + "settings_gpxExportShareSubject": "MeshCore Open GPX 地图数据导出", + "pathTrace_someHopsNoLocation": "某些跳缺少位置信息!", + "map_tapToAdd": "点击节点以添加到路径", + "pathTrace_clearTooltip": "清除路径", + "map_pathTraceCancelled": "路径追踪已取消", + "map_removeLast": "移除最后一个", + "map_runTrace": "运行路径追踪", + "scanner_bluetoothOffMessage": "请开启蓝牙以搜索设备", + "scanner_chromeRequired": "需要 Chrome 浏览器", + "scanner_chromeRequiredMessage": "æ­¤ Web 应用程序需要 Google Chrome 或基于 Chromium 的浏览器以支持蓝牙。", + "scanner_bluetoothOff": "蓝牙已关闭", + "scanner_enableBluetooth": "启用蓝牙", + "snrIndicator_lastSeen": "最近访问", + "snrIndicator_nearByRepeaters": "附近的重复器", + "chat_ShowAllPaths": "显示所有路径", + "settings_clientRepeat": "离网重复", + "settings_clientRepeatSubtitle": "允许此设备重复发送网状数据包给其他设备", + "settings_clientRepeatFreqWarning": "离网重复通信需要使用 433、869 或 918 兆赫兹的频率。", + "settings_aboutOpenMeteoAttribution": "LOS 高程数据:Open-Meteo (CC BY 4.0)", + "appSettings_unitsTitle": "单位", + "appSettings_unitsMetric": "公制(米/公里)", + "appSettings_unitsImperial": "英制 (ft / mi)", + "map_lineOfSight": "视线", + "map_losScreenTitle": "视线", + "losSelectStartEnd": "选择 LOS 的起始节点和结束节点。", + "losRunFailed": "视线检查失败:{error}", "@losRunFailed": { "placeholders": { "error": { @@ -1634,13 +1634,13 @@ } } }, - "losClearAllPoints": "清除所有点", - "losRunToViewElevationProfile": "运行 LOS 查看高程剖面", - "losMenuTitle": "服务水平菜单", - "losMenuSubtitle": "点击节点或长按地图以获取自定义点", - "losShowDisplayNodes": "显示显示节点", - "losCustomPoints": "自定义积分", - "losCustomPointLabel": "自定义 {index}", + "losClearAllPoints": "清除所有点", + "losRunToViewElevationProfile": "运行 LOS 查看高程剖面", + "losMenuTitle": "服务水平菜单", + "losMenuSubtitle": "点击节点或长按地图以获取自定义点", + "losShowDisplayNodes": "显示显示节点", + "losCustomPoints": "自定义积分", + "losCustomPointLabel": "自定义 {index}", "@losCustomPointLabel": { "placeholders": { "index": { @@ -1648,9 +1648,9 @@ } } }, - "losPointA": "A点", - "losPointB": "B点", - "losAntennaA": "天线 A: {value} {unit}", + "losPointA": "A点", + "losPointB": "B点", + "losAntennaA": "天线 A: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { @@ -1661,7 +1661,7 @@ } } }, - "losAntennaB": "天线 B:{value} {unit}", + "losAntennaB": "天线 B:{value} {unit}", "@losAntennaB": { "placeholders": { "value": { @@ -1672,9 +1672,9 @@ } } }, - "losRun": "运行视距", - "losNoElevationData": "无海拔数据", - "losProfileClear": "{distance} {distanceUnit},清除 LOS,最小间隙 {clearance} {heightUnit}", + "losRun": "运行视距", + "losNoElevationData": "无海拔数据", + "losProfileClear": "{distance} {distanceUnit},清除 LOS,最小间隙 {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { @@ -1691,7 +1691,7 @@ } } }, - "losProfileBlocked": "{distance} {distanceUnit},被 {obstruction} {heightUnit} 阻止", + "losProfileBlocked": "{distance} {distanceUnit},被 {obstruction} {heightUnit} 阻止", "@losProfileBlocked": { "placeholders": { "distance": { @@ -1708,9 +1708,9 @@ } } }, - "losStatusChecking": "洛斯:正在检查...", - "losStatusNoData": "LOS:无数据", - "losStatusSummary": "LOS:{clear}/{total} 清除,{blocked} 阻塞,{unknown} 未知", + "losStatusChecking": "洛斯:正在检查...", + "losStatusNoData": "LOS:无数据", + "losStatusSummary": "LOS:{clear}/{total} 清除,{blocked} 阻塞,{unknown} 未知", "@losStatusSummary": { "placeholders": { "clear": { @@ -1727,20 +1727,20 @@ } } }, - "losErrorElevationUnavailable": "一个或多个样本的海拔数据不可用。", - "losErrorInvalidInput": "用于 LOS 计算的点/高程数据无效。", - "losRenameCustomPoint": "重命名自定义点", - "losPointName": "点名称", - "losShowPanelTooltip": "显示 LOS 面板", - "losHidePanelTooltip": "隐藏 LOS 面板", - "losElevationAttribution": "高程数据:Open-Meteo (CC BY 4.0)", - "losLegendRadioHorizon": "无线电地平线", - "losLegendLosBeam": "视距波束", - "losLegendTerrain": "地形", - "losFrequencyLabel": "频率", - "losFrequencyInfoTooltip": "查看计算详情", - "losFrequencyDialogTitle": "无线电地平线计算", - "losFrequencyDialogDescription": "从 {baselineFreq} MHz 处的 k={baselineK} 开始,计算调整当前 {frequencyMHz} MHz 频段的 k 因子,该因子定义了弯曲的无线电范围上限。", + "losErrorElevationUnavailable": "一个或多个样本的海拔数据不可用。", + "losErrorInvalidInput": "用于 LOS 计算的点/高程数据无效。", + "losRenameCustomPoint": "重命名自定义点", + "losPointName": "点名称", + "losShowPanelTooltip": "显示 LOS 面板", + "losHidePanelTooltip": "隐藏 LOS 面板", + "losElevationAttribution": "高程数据:Open-Meteo (CC BY 4.0)", + "losLegendRadioHorizon": "无线电地平线", + "losLegendLosBeam": "视距波束", + "losLegendTerrain": "地形", + "losFrequencyLabel": "频率", + "losFrequencyInfoTooltip": "查看计算详情", + "losFrequencyDialogTitle": "无线电地平线计算", + "losFrequencyDialogDescription": "从 {baselineFreq} MHz 处的 k={baselineK} 开始,计算调整当前 {frequencyMHz} MHz 频段的 k 因子,该因子定义了弯曲的无线电范围上限。", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { @@ -1758,9 +1758,9 @@ } } }, - "listFilter_favorites": "收藏", - "listFilter_addToFavorites": "添加到收藏", - "listFilter_removeFromFavorites": "从收藏中移除", + "listFilter_favorites": "收藏", + "listFilter_addToFavorites": "添加到收藏", + "listFilter_removeFromFavorites": "从收藏中移除", "@contacts_searchFavorites": { "placeholders": { "number": { @@ -1801,19 +1801,17 @@ } } }, - "contacts_searchUsers": "搜索 {number}{str} 位用户...", - "contacts_unread": "未读", - "contacts_searchRepeaters": "搜索 {number}{str} 重复器...", - "contacts_searchContactsNoNumber": "搜索联系人...", - "contacts_searchRoomServers": "搜索 {number}{str} 房间服务器...", - "contacts_searchFavorites": "搜索 {number}{str} 收藏...", - "connectionChoiceSubtitle": "请选择您希望如何访问 MeshCore 设备的选项。", - "connectionChoiceBluetoothLabel": "蓝牙", - "connectionChoiceTitle": "选择您的连接方式", + "contacts_searchUsers": "搜索 {number}{str} 位用户...", + "contacts_unread": "未读", + "contacts_searchRepeaters": "搜索 {number}{str} 重复器...", + "contacts_searchContactsNoNumber": "搜索联系人...", + "contacts_searchRoomServers": "搜索 {number}{str} 房间服务器...", + "contacts_searchFavorites": "搜索 {number}{str} 收藏...", + "connectionChoiceBluetoothLabel": "蓝牙", "connectionChoiceUsbLabel": "USB", - "usbScreenTitle": "通过USB连接", - "usbScreenSubtitle": "选择已检测到的串行设备,并直接连接到您的 MeshCore 节点。", - "usbScreenStatus": "选择一个 USB 设备", - "usbScreenNote": "在支持的 Android 设备和桌面平台上,USB 串行通信功能已启用。", - "usbScreenEmptyState": "未找到任何 USB 设备。请插入一个,然后刷新。" + "usbScreenTitle": "通过USB连接", + "usbScreenSubtitle": "选择已检测到的串行设备,并直接连接到您的 MeshCore 节点。", + "usbScreenStatus": "选择一个 USB 设备", + "usbScreenNote": "在支持的 Android 设备和桌面平台上,USB 串行通信功能已启用。", + "usbScreenEmptyState": "未找到任何 USB 设备。请插入一个,然后刷新。" } diff --git a/lib/main.dart b/lib/main.dart index dd503fd..9e53e21 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,7 +8,7 @@ import 'screens/chrome_required_screen.dart'; import 'utils/platform_info.dart'; import 'connector/meshcore_connector.dart'; -import 'screens/connection_choice_screen.dart'; +import 'screens/scanner_screen.dart'; import 'services/storage_service.dart'; import 'services/message_retry_service.dart'; import 'services/path_history_service.dart'; @@ -192,7 +192,7 @@ class MeshCoreApp extends StatelessWidget { }, home: (PlatformInfo.isWeb && !PlatformInfo.isChrome) ? const ChromeRequiredScreen() - : const ConnectionChoiceScreen(), + : const ScannerScreen(), ); }, ), diff --git a/lib/screens/connection_choice_screen.dart b/lib/screens/connection_choice_screen.dart deleted file mode 100644 index 16634c6..0000000 --- a/lib/screens/connection_choice_screen.dart +++ /dev/null @@ -1,232 +0,0 @@ -import 'dart:math' as math; - -import 'package:flutter/material.dart'; - -import '../l10n/l10n.dart'; -import '../utils/platform_info.dart'; -import 'scanner_screen.dart'; -import 'usb_screen.dart'; - -/// Entry point that lets the user choose between USB or Bluetooth. -class ConnectionChoiceScreen extends StatelessWidget { - const ConnectionChoiceScreen({super.key}); - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - final theme = Theme.of(context); - final usbSupported = PlatformInfo.supportsUsbSerial; - return Scaffold( - appBar: AppBar( - title: FittedBox( - fit: BoxFit.scaleDown, - child: Text(l10n.appTitle, textAlign: TextAlign.center), - ), - centerTitle: true, - automaticallyImplyLeading: false, - ), - body: SafeArea( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 32), - child: LayoutBuilder( - builder: (context, constraints) { - final availableHeight = constraints.maxHeight.isFinite - ? constraints.maxHeight - : 600.0; - final gap = math.max( - 8.0, - math.min(20.0, availableHeight * 0.035), - ); - - return Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Flexible( - flex: 3, - child: Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Flexible( - child: FittedBox( - fit: BoxFit.scaleDown, - child: Text( - l10n.connectionChoiceTitle, - textAlign: TextAlign.center, - style: theme.textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.w600, - ), - ), - ), - ), - SizedBox(height: math.max(4.0, gap * 0.5)), - Flexible( - child: FittedBox( - fit: BoxFit.scaleDown, - child: Text( - l10n.connectionChoiceSubtitle, - textAlign: TextAlign.center, - style: theme.textTheme.bodyMedium?.copyWith( - color: theme.colorScheme.onSurfaceVariant, - ), - ), - ), - ), - ], - ), - ), - ), - SizedBox(height: gap), - Expanded( - flex: 4, - child: _ConnectionMethodButton( - icon: Icons.usb, - label: l10n.connectionChoiceUsbLabel, - color: theme.colorScheme.primaryContainer, - iconColor: theme.colorScheme.onPrimaryContainer, - onPressed: usbSupported - ? () { - debugPrint( - 'ConnectionChoiceScreen: USB selected, opening UsbScreen', - ); - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) => const UsbScreen(), - ), - ); - } - : null, - ), - ), - SizedBox(height: gap), - Expanded( - flex: 4, - child: _ConnectionMethodButton( - icon: Icons.bluetooth, - label: l10n.connectionChoiceBluetoothLabel, - color: theme.colorScheme.surfaceContainerHighest, - iconColor: theme.colorScheme.onSurfaceVariant, - onPressed: () { - debugPrint( - 'ConnectionChoiceScreen: Bluetooth selected, opening ScannerScreen', - ); - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) => const ScannerScreen(), - ), - ); - }, - ), - ), - ], - ); - }, - ), - ), - ), - ); - } -} - -class _ConnectionMethodButton extends StatelessWidget { - const _ConnectionMethodButton({ - required this.icon, - required this.label, - required this.onPressed, - required this.color, - required this.iconColor, - }); - - final IconData icon; - final String label; - final VoidCallback? onPressed; - final Color color; - final Color iconColor; - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - return ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: color, - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(18)), - minimumSize: const Size.fromHeight(0), - ), - onPressed: onPressed, - child: LayoutBuilder( - builder: (context, constraints) { - final availableHeight = constraints.maxHeight.isFinite - ? constraints.maxHeight - : 200.0; - final availableWidth = constraints.maxWidth.isFinite - ? constraints.maxWidth - : 320.0; - final isCompact = availableHeight < 72.0 || availableWidth < 180.0; - final useTightVertical = !isCompact && availableHeight < 120.0; - final baseGap = isCompact - ? 8.0 - : (useTightVertical - ? math.max(4.0, math.min(8.0, availableHeight * 0.06)) - : 12.0); - final labelStyle = - (isCompact - ? theme.textTheme.titleMedium - : (useTightVertical - ? theme.textTheme.titleMedium - : theme.textTheme.titleLarge)) - ?.copyWith(fontWeight: FontWeight.w600); - final verticalIconSize = useTightVertical - ? math.max(32.0, math.min(48.0, availableHeight * 0.42)) - : 60.0; - final content = isCompact - ? Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon(icon, size: 24.0, color: iconColor), - SizedBox(width: baseGap), - Flexible( - child: Text( - label, - textAlign: TextAlign.center, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: labelStyle, - ), - ), - ], - ) - : Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon(icon, size: verticalIconSize, color: iconColor), - SizedBox(height: baseGap), - Text( - label, - textAlign: TextAlign.center, - maxLines: 1, - overflow: TextOverflow.visible, - style: labelStyle, - ), - ], - ); - - return Center( - child: FittedBox( - fit: BoxFit.scaleDown, - child: ConstrainedBox( - constraints: BoxConstraints( - maxWidth: math.max(0, availableWidth - 12), - maxHeight: math.max(0, availableHeight - 12), - ), - child: content, - ), - ), - ); - }, - ), - ); - } -} diff --git a/lib/screens/scanner_screen.dart b/lib/screens/scanner_screen.dart index 69ddf6c..54074a9 100644 --- a/lib/screens/scanner_screen.dart +++ b/lib/screens/scanner_screen.dart @@ -9,6 +9,7 @@ import '../l10n/l10n.dart'; import '../widgets/adaptive_app_bar_title.dart'; import '../widgets/device_tile.dart'; import 'contacts_screen.dart'; +import 'usb_screen.dart'; /// Screen for scanning and connecting to MeshCore devices class ScannerScreen extends StatefulWidget { @@ -114,40 +115,67 @@ class _ScannerScreenState extends State { }, ), ), - floatingActionButton: Consumer( + bottomNavigationBar: Consumer( builder: (context, connector, child) { final isScanning = connector.state == MeshCoreConnectionState.scanning; final isBluetoothOff = _bluetoothState == BluetoothAdapterState.off; + final usbSupported = PlatformInfo.supportsUsbSerial; - return FloatingActionButton.extended( - onPressed: isBluetoothOff - ? null - : () { - if (isScanning) { - connector.stopScan(); - } else { - unawaited( - connector.startScan().catchError((e) { - debugPrint("Scanner screen startScan error: $e"); - }), + return SafeArea( + top: false, + minimum: const EdgeInsets.fromLTRB(16, 8, 16, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + if (usbSupported) + FloatingActionButton.extended( + onPressed: () { + debugPrint( + 'ScannerScreen: USB selected, opening UsbScreen', ); - } - }, - icon: isScanning - ? const SizedBox( - width: 20, - height: 20, - child: CircularProgressIndicator( - strokeWidth: 2, - color: Colors.white, - ), - ) - : const Icon(Icons.bluetooth_searching), - label: Text( - isScanning - ? context.l10n.scanner_stop - : context.l10n.scanner_scan, + Navigator.of(context).push( + MaterialPageRoute(builder: (_) => const UsbScreen()), + ); + }, + heroTag: 'scanner_usb_action', + icon: const Icon(Icons.usb), + label: Text(context.l10n.connectionChoiceUsbLabel), + ), + if (usbSupported) const SizedBox(width: 12), + FloatingActionButton.extended( + heroTag: 'scanner_ble_action', + onPressed: isBluetoothOff + ? null + : () { + if (isScanning) { + connector.stopScan(); + } else { + unawaited( + connector.startScan().catchError((e) { + debugPrint( + "Scanner screen startScan error: $e", + ); + }), + ); + } + }, + icon: isScanning + ? const SizedBox( + width: 20, + height: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + ), + ) + : const Icon(Icons.bluetooth_searching), + label: Text( + isScanning + ? context.l10n.scanner_stop + : context.l10n.scanner_scan, + ), + ), + ], ), ); }, diff --git a/lib/screens/usb_screen.dart b/lib/screens/usb_screen.dart index 03d9446..c703a64 100644 --- a/lib/screens/usb_screen.dart +++ b/lib/screens/usb_screen.dart @@ -5,10 +5,12 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../connector/meshcore_connector.dart'; +import '../connector/meshcore_connector_usb.dart'; import '../l10n/l10n.dart'; import '../utils/platform_info.dart'; import '../utils/usb_port_labels.dart'; import 'contacts_screen.dart'; +import 'scanner_screen.dart'; class UsbScreen extends StatefulWidget { const UsbScreen({super.key}); @@ -28,6 +30,7 @@ class _UsbScreenState extends State { String? _errorText; Timer? _hotPlugTimer; late final MeshCoreConnector _connector; + late final MeshCoreConnectorUsb _usbConnector; late final VoidCallback _connectionListener; /// Whether the current platform supports dynamic hot-plug polling. @@ -40,12 +43,13 @@ class _UsbScreenState extends State { void initState() { super.initState(); _connector = context.read(); + _usbConnector = MeshCoreConnectorUsb(_connector); _connectionListener = () { if (!mounted) return; - final activeUsbPortDisplayLabel = _connector.activeUsbPortDisplayLabel; + final activeUsbPortDisplayLabel = _usbConnector.activeUsbPortDisplayLabel; final shouldUpdateDisplayLabel = activeUsbPortDisplayLabel != _connectedPortDisplayLabel; - if (_connector.state == MeshCoreConnectionState.disconnected) { + if (_usbConnector.state == MeshCoreConnectionState.disconnected) { _navigatedToContacts = false; setState(() { _isConnecting = false; @@ -56,8 +60,8 @@ class _UsbScreenState extends State { _connectedPortDisplayLabel = activeUsbPortDisplayLabel; }); } - if (_connector.state == MeshCoreConnectionState.connected && - _connector.isUsbTransportConnected && + if (_usbConnector.state == MeshCoreConnectionState.connected && + _usbConnector.isUsbTransportConnected && !_navigatedToContacts) { _navigatedToContacts = true; Navigator.of(context).pushReplacement( @@ -65,14 +69,14 @@ class _UsbScreenState extends State { ); } }; - _connector.addListener(_connectionListener); + _usbConnector.addListener(_connectionListener); _startHotPlugTimer(); } @override void didChangeDependencies() { super.didChangeDependencies(); - _connector.setUsbRequestPortLabel(context.l10n.usbScreenStatus); + _usbConnector.setRequestPortLabel(context.l10n.usbScreenStatus); if (!_didScheduleInitialLoad) { _didScheduleInitialLoad = true; unawaited(_loadPorts()); @@ -83,12 +87,12 @@ class _UsbScreenState extends State { void dispose() { _hotPlugTimer?.cancel(); _hotPlugTimer = null; - _connector.removeListener(_connectionListener); + _usbConnector.removeListener(_connectionListener); if (!_navigatedToContacts && - _connector.activeTransport == MeshCoreTransportType.usb && - _connector.state != MeshCoreConnectionState.disconnected) { + _usbConnector.activeTransport == MeshCoreTransportType.usb && + _usbConnector.state != MeshCoreConnectionState.disconnected) { WidgetsBinding.instance.addPostFrameCallback((_) { - unawaited(_connector.disconnect(manual: true)); + unawaited(_usbConnector.disconnect(manual: true)); }); } super.dispose(); @@ -113,6 +117,23 @@ class _UsbScreenState extends State { style: theme.textTheme.titleLarge, ), centerTitle: true, + actions: [ + if (PlatformInfo.isWeb || + PlatformInfo.isAndroid || + PlatformInfo.isIOS) + TextButton.icon( + onPressed: () { + debugPrint( + 'UsbScreen: Bluetooth selected, opening ScannerScreen', + ); + Navigator.of(context).pushReplacement( + MaterialPageRoute(builder: (_) => const ScannerScreen()), + ); + }, + icon: const Icon(Icons.bluetooth), + label: Text(l10n.connectionChoiceBluetoothLabel), + ), + ], ), body: SafeArea( child: LayoutBuilder( @@ -376,7 +397,8 @@ class _UsbScreenState extends State { final isSelected = port == _selectedPort; final displayName = _friendlyPortName(port); final rawName = normalizeUsbPortName(port); - final showRawName = rawName != displayName; + final showRawName = + rawName != displayName && !rawName.startsWith('web:'); return Material( color: isSelected ? theme.colorScheme.primaryContainer @@ -433,7 +455,7 @@ class _UsbScreenState extends State { Future _loadPorts() async { if (!mounted) return; - _connector.setUsbRequestPortLabel(context.l10n.usbScreenStatus); + _usbConnector.setRequestPortLabel(context.l10n.usbScreenStatus); setState(() { _isLoadingPorts = true; @@ -441,7 +463,7 @@ class _UsbScreenState extends State { }); try { - final ports = await _connector.listUsbPorts(); + final ports = await _usbConnector.listPorts(); if (!mounted) return; setState(() { _ports @@ -470,8 +492,8 @@ class _UsbScreenState extends State { if (selectedPort == null || selectedPort.isEmpty) { return; } - _connector.setUsbRequestPortLabel(context.l10n.usbScreenStatus); - if (_connector.state != MeshCoreConnectionState.disconnected) { + _usbConnector.setRequestPortLabel(context.l10n.usbScreenStatus); + if (_usbConnector.state != MeshCoreConnectionState.disconnected) { setState(() { _isConnecting = false; _errorText = null; @@ -486,7 +508,7 @@ class _UsbScreenState extends State { }); try { - await _connector.connectUsb(portName: rawPortName); + await _usbConnector.connect(portName: rawPortName); } catch (error, stackTrace) { debugPrint( 'UsbScreen: connect failed for $rawPortName: $error\n$stackTrace', diff --git a/lib/services/usb_serial_service_native.dart b/lib/services/usb_serial_service_native.dart index 204f312..ac73673 100644 --- a/lib/services/usb_serial_service_native.dart +++ b/lib/services/usb_serial_service_native.dart @@ -280,6 +280,11 @@ class UsbSerialService { Future disconnect() async { if (_status == UsbSerialStatus.disconnected) return; + final portLabel = _connectedPortLabel ?? _connectedPortKey; + _debugLogService?.info( + 'USB disconnect starting port=${portLabel ?? 'unknown'}', + tag: 'USB Serial', + ); _status = UsbSerialStatus.disconnecting; _connectedPortKey = null; _connectedPortLabel = null; @@ -319,6 +324,10 @@ class UsbSerialService { _dataSubscription = null; } _status = UsbSerialStatus.disconnected; + _debugLogService?.info( + 'USB disconnect complete port=${portLabel ?? 'unknown'}', + tag: 'USB Serial', + ); } void setRequestPortLabel(String label) { diff --git a/lib/services/usb_serial_service_web.dart b/lib/services/usb_serial_service_web.dart index 974928e..df5893b 100644 --- a/lib/services/usb_serial_service_web.dart +++ b/lib/services/usb_serial_service_web.dart @@ -16,6 +16,10 @@ class UsbSerialService { '2886:1667': 'Seeed Wio Tracker L1', }; static final Map _deviceNamesByPortKey = {}; + static final Map _baseLabelsByPortKey = {}; + static final Map _authorizedPortsByKey = + {}; + static int _nextAuthorizedPortId = 1; final StreamController _frameController = StreamController.broadcast(); @@ -51,11 +55,12 @@ class UsbSerialService { return const []; } + _resetPortCache(); final ports = await _getAuthorizedPorts(); if (ports.isEmpty) { - return [_requestPortLabel]; + return [_requestPortListEntry]; } - return ports.map(_displayLabelForPort).toList(growable: false); + return ports.map(_listEntryForPort).toList(growable: false); } Future connect({ @@ -75,8 +80,12 @@ class UsbSerialService { try { final requestedPortName = normalizeUsbPortName(portName); + final selectedPortKey = requestedPortName.startsWith('web:port:') + ? requestedPortName + : null; + _port = _authorizedPortsByKey[requestedPortName]; final authorizedPorts = await _getAuthorizedPorts(); - _port = _selectPort(authorizedPorts, requestedPortName); + _port ??= _selectPort(authorizedPorts, requestedPortName); _port ??= await _requestPort(); if (_port == null) { @@ -84,8 +93,11 @@ class UsbSerialService { } await _openPort(_port!, baudRate); - _connectedPortKey = _portKeyFor(_port!); - _connectedPortName = _buildDisplayLabel(_connectedPortKey!); + _connectedPortKey = _cachePort(_port!, preferredKey: selectedPortKey); + _connectedPortName = _displayLabelForPort( + _port!, + portKey: _connectedPortKey, + ); _writer = _getWriter(_port!); _reader = _getReader(_port!); _status = UsbSerialStatus.connected; @@ -122,6 +134,11 @@ class UsbSerialService { Future disconnect() async { if (_status == UsbSerialStatus.disconnected) return; + final portLabel = _connectedPortName ?? _connectedPortKey; + _debugLogService?.info( + 'USB disconnect starting port=${portLabel ?? 'unknown'}', + tag: 'USB Serial', + ); _status = UsbSerialStatus.disconnecting; final reader = _reader; final writer = _writer; @@ -156,6 +173,10 @@ class UsbSerialService { } _status = UsbSerialStatus.disconnected; + _debugLogService?.info( + 'USB disconnect complete port=${portLabel ?? 'unknown'}', + tag: 'USB Serial', + ); } void updateConnectedLabel(String label) { @@ -210,9 +231,12 @@ class UsbSerialService { if (ports.isEmpty) { return null; } - if (requestedPortName.isEmpty || requestedPortName == _requestPortLabel) { + if (requestedPortName.isEmpty || requestedPortName == _requestPortKey) { return ports.first; } + if (requestedPortName.startsWith('web:port:')) { + return null; + } for (final port in ports) { final description = _describePort(port); if (description == requestedPortName) { @@ -368,10 +392,29 @@ class UsbSerialService { } String _describePort(JSObject port) { + final info = _portInfo(port); + if (info == null) { + return _requestPortLabel; + } + + final vendorId = info.usbVendorId; + final productId = info.usbProductId; + final hasVendor = vendorId != null; + final hasProduct = productId != null; + + return describeWebUsbPort( + vendorId: hasVendor ? vendorId : null, + productId: hasProduct ? productId : null, + requestPortLabel: _requestPortLabel, + knownUsbNames: _knownUsbNames, + ); + } + + _WebPortInfo? _portInfo(JSObject port) { try { final info = port.callMethod('getInfo'.toJS); if (info == null) { - return _requestPortLabel; + return null; } final infoObject = info as JSObject; @@ -381,32 +424,52 @@ class UsbSerialService { final productId = infoObject .getProperty('usbProductId'.toJS) ?.dartify(); - final hasVendor = vendorId is num; - final hasProduct = productId is num; - - return describeWebUsbPort( - vendorId: hasVendor ? vendorId.toInt() : null, - productId: hasProduct ? productId.toInt() : null, - requestPortLabel: _requestPortLabel, - knownUsbNames: _knownUsbNames, + return _WebPortInfo( + usbVendorId: vendorId is num ? vendorId.toInt() : null, + usbProductId: productId is num ? productId.toInt() : null, ); } catch (_) { - return _requestPortLabel; + return null; } } - String _portKeyFor(JSObject port) => _describePort(port); + String _portKeyFor(JSObject port) { + return _cachePort(port); + } - String _displayLabelForPort(JSObject port) => - _buildDisplayLabel(_portKeyFor(port)); + String _cachePort(JSObject port, {String? preferredKey}) { + final portKey = preferredKey ?? 'web:port:${_nextAuthorizedPortId++}'; + _baseLabelsByPortKey[portKey] = _describePort(port); + _authorizedPortsByKey[portKey] = port; + return portKey; + } + + String _displayLabelForPort(JSObject port, {String? portKey}) => + _buildDisplayLabel(portKey ?? _portKeyFor(port)); String _buildDisplayLabel(String portKey) { return buildUsbDisplayLabel( - basePortLabel: portKey, + basePortLabel: _baseLabelsByPortKey[portKey] ?? portKey, deviceName: _deviceNamesByPortKey[portKey], ); } + String _listEntryForPort(JSObject port) { + final portKey = _portKeyFor(port); + return '$portKey - ${_displayLabelForPort(port, portKey: portKey)}'; + } + + String get _requestPortKey => 'web:request'; + + String get _requestPortListEntry => '$_requestPortKey - $_requestPortLabel'; + + void _resetPortCache() { + _authorizedPortsByKey.clear(); + _baseLabelsByPortKey.clear(); + _deviceNamesByPortKey.clear(); + _nextAuthorizedPortId = 1; + } + void _releaseLock(JSObject resource) { try { resource.callMethod('releaseLock'.toJS); @@ -462,3 +525,10 @@ class UsbSerialService { } enum UsbSerialStatus { disconnected, connecting, connected, disconnecting } + +final class _WebPortInfo { + const _WebPortInfo({required this.usbVendorId, required this.usbProductId}); + + final int? usbVendorId; + final int? usbProductId; +} diff --git a/lib/utils/dialog_utils.dart b/lib/utils/dialog_utils.dart index 510eca7..8a6ad9b 100644 --- a/lib/utils/dialog_utils.dart +++ b/lib/utils/dialog_utils.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import '../connector/meshcore_connector.dart'; import '../l10n/l10n.dart'; +import 'app_logger.dart'; /// Shows a confirmation dialog before disconnecting from the device. /// Returns true if user confirmed and disconnect completed, false otherwise. @@ -28,6 +29,7 @@ Future showDisconnectDialog( ); if (confirmed == true) { + appLogger.info('Disconnect confirmed from popup', tag: 'Connection'); await connector.disconnect(); return true; } diff --git a/test/screens/usb_flow_test.dart b/test/screens/usb_flow_test.dart index 317dc92..115281c 100644 --- a/test/screens/usb_flow_test.dart +++ b/test/screens/usb_flow_test.dart @@ -4,7 +4,7 @@ import 'package:provider/provider.dart'; import 'package:meshcore_open/connector/meshcore_connector.dart'; import 'package:meshcore_open/l10n/app_localizations.dart'; -import 'package:meshcore_open/screens/connection_choice_screen.dart'; +import 'package:meshcore_open/screens/scanner_screen.dart'; import 'package:meshcore_open/screens/usb_screen.dart'; import 'package:meshcore_open/utils/platform_info.dart'; @@ -131,7 +131,7 @@ void main() { }, ); - testWidgets('ConnectionChoiceScreen USB button reflects platform support', ( + testWidgets('ScannerScreen USB action reflects platform support', ( tester, ) async { final connector = _FakeMeshCoreConnector(); @@ -139,19 +139,15 @@ void main() { await tester.pumpWidget( _buildTestApp( connector: connector, - child: const ConnectionChoiceScreen(), + child: const ScannerScreen(), ), ); await tester.pumpAndSettle(); - final usbButton = tester.widget( - find.widgetWithText(ElevatedButton, 'USB'), - ); - if (PlatformInfo.supportsUsbSerial) { - expect(usbButton.onPressed, isNotNull); + expect(find.widgetWithText(FloatingActionButton, 'USB'), findsOneWidget); } else { - expect(usbButton.onPressed, isNull); + expect(find.widgetWithText(FloatingActionButton, 'USB'), findsNothing); } }); }