From efe77a67e38a83063f6f7a080cc70f2d654a344e Mon Sep 17 00:00:00 2001 From: Kaj Schittecat Date: Tue, 4 Aug 2026 21:47:19 +0200 Subject: [PATCH] i18n: bake the .lang files into boards that cannot rely on the Store (V4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gen-lang-builtin.py generates src/ui-touch/i18n_builtin.h from the SAME deploy/apps/lang/*.lang files the Store serves, so the downloaded and the compiled-in translations can never drift — translators still edit one place. TR() consults the loaded file overlay first, then the baked table, then English, so a downloaded language still wins on boards that can fetch one. CAP_BUILTIN_LANGS is ON for the V4 (its net worker is fragile at ~95% internal RAM, so the Store is not dependable there and it would otherwise be stuck on English) and OFF elsewhere. Cost is FLASH only, no RAM: V4 71.7% -> 85.5% T-Deck 75.5% (unchanged, gate off) Co-Authored-By: Claude Opus 4.8 --- scripts/build/gen-lang-builtin.py | 112 + src/ui-touch/device_caps.h | 13 + src/ui-touch/i18n.cpp | 20 + src/ui-touch/i18n_builtin.h | 11959 ++++++++++++++++++++++++++++ 4 files changed, 12104 insertions(+) create mode 100644 scripts/build/gen-lang-builtin.py create mode 100644 src/ui-touch/i18n_builtin.h diff --git a/scripts/build/gen-lang-builtin.py b/scripts/build/gen-lang-builtin.py new file mode 100644 index 0000000..e9960ef --- /dev/null +++ b/scripts/build/gen-lang-builtin.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Bake deploy/apps/lang/*.lang into a compiled-in fallback table. + +Boards that can reach the Lua Store download their language as a file. Boards +that cannot (the V4: ~14 KB of free internal heap, so the net worker and the +store are unreliable there) still need translations, and before this they were +stuck on English. + +This generates src/ui-touch/i18n_builtin.h from the SAME .lang files the store +serves, so the two can never drift: translators edit deploy/apps/lang/*.lang, +and both paths follow. Rows are emitted sorted by key so TR() can binary-search +them, and the table lives in .rodata — flash, not RAM. + +Run from the repo root (a PlatformIO pre-build step does this automatically): + python3 scripts/build/gen-lang-builtin.py +""" +import glob, os, sys + +ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +LANGDIR = os.path.join(ROOT, 'deploy/apps/lang') +OUT = os.path.join(ROOT, 'src/ui-touch/i18n_builtin.h') + +# Index order must match the UiLang enum in i18n.h. +CODES = ["en", "hu", "nl", "de", "fr", "es", "it", + "ru", "uk", "bg", "sr", "el", "pt-br", "ro"] + + +def c_escape(s): + out = [] + for ch in s: + if ch == '\\': out.append('\\\\') + elif ch == '"': out.append('\\"') + elif ch == '\n': out.append('\\n') + elif ch == '\t': out.append('\\t') + elif ch == '\r': out.append('\\r') + elif ord(ch) < 0x20: out.append('\\x%02x' % ord(ch)) + else: out.append(ch) + return ''.join(out) + + +def read_lang(path): + """key -> value, with the file's own \\n/\\t/\\\\ escapes decoded.""" + rows = {} + for line in open(path, encoding='utf-8'): + line = line.rstrip('\n').rstrip('\r') + if '\t' not in line: # header/comment lines carry no tab + continue + k, v = line.split('\t', 1) + def un(t): + o, i = [], 0 + while i < len(t): + if t[i] == '\\' and i + 1 < len(t): + n = t[i + 1] + o.append('\n' if n == 'n' else '\t' if n == 't' else n) + i += 2 + else: + o.append(t[i]); i += 1 + return ''.join(o) + k, v = un(k), un(v) + if k and v: + rows[k] = v + return rows + + +def main(): + langs = {} + for code in CODES[1:]: # English is the key itself + p = os.path.join(LANGDIR, code + '.lang') + if os.path.exists(p): + langs[code] = read_lang(p) + + if not langs: + sys.exit('no .lang files found in ' + LANGDIR) + + w = ['// Generated by scripts/build/gen-lang-builtin.py — DO NOT EDIT.', + '// Source: deploy/apps/lang/*.lang (the same files the Lua Store serves).', + '// Compiled-in fallback for boards that cannot rely on downloading a language.', + '#pragma once', '#include "i18n.h"', ''] + + for code in CODES[1:]: + rows = langs.get(code, {}) + sym = 'kBuiltin_' + code.replace('-', '_') + w.append('static const I18nPair %s[] = {' % sym) + for k in sorted(rows): # sorted: TR() binary-searches + w.append(' { "%s", "%s" },' % (c_escape(k), c_escape(rows[k]))) + w.append('};') + + w.append('') + w.append('static const I18nPair* const kBuiltinLang[LANG_COUNT] = {') + w.append(' nullptr,') # LANG_EN: the key is the English + for code in CODES[1:]: + sym = 'kBuiltin_' + code.replace('-', '_') + w.append(' %s,' % (sym if langs.get(code) else 'nullptr')) + w.append('};') + w.append('static const int kBuiltinLangCount[LANG_COUNT] = {') + w.append(' 0,') + for code in CODES[1:]: + sym = 'kBuiltin_' + code.replace('-', '_') + w.append(' %s,' % (('(int)(sizeof(%s)/sizeof(%s[0]))' % (sym, sym)) + if langs.get(code) else '0')) + w.append('};') + w.append('') + + open(OUT, 'w', encoding='utf-8').write('\n'.join(w)) + total = sum(len(r) for r in langs.values()) + print('%s: %d languages, %d rows, %d bytes' % + (os.path.relpath(OUT, ROOT), len(langs), total, os.path.getsize(OUT))) + + +if __name__ == '__main__': + main() diff --git a/src/ui-touch/device_caps.h b/src/ui-touch/device_caps.h index 9f2f59e..599820d 100644 --- a/src/ui-touch/device_caps.h +++ b/src/ui-touch/device_caps.h @@ -263,3 +263,16 @@ #ifndef CAP_LUA_APPS #define CAP_LUA_APPS 1 #endif + +// Compile the translations into the image (i18n_builtin.h, generated from +// deploy/apps/lang/*.lang) instead of relying on downloading a .lang file. +// ON for boards where the Lua Store is not dependable — the V4 runs at ~95% +// internal RAM with Wi-Fi up, so its net worker and the store are fragile and +// it would otherwise be stuck on English. Costs ~400 KB of FLASH, no RAM. +#ifndef CAP_BUILTIN_LANGS + #if defined(HELTEC_LORA_V4_TFT) || defined(HELTEC_LORA_V4) + #define CAP_BUILTIN_LANGS 1 + #else + #define CAP_BUILTIN_LANGS 0 + #endif +#endif diff --git a/src/ui-touch/i18n.cpp b/src/ui-touch/i18n.cpp index 529ea1d..260bfc0 100644 --- a/src/ui-touch/i18n.cpp +++ b/src/ui-touch/i18n.cpp @@ -1,5 +1,9 @@ #include "i18n.h" #include +#include "device_caps.h" +#if CAP_BUILTIN_LANGS +#include "i18n_builtin.h" // generated: baked-in translations +#endif // Native language names shown in the picker. Index order == UiLang. const char* const kUiLangNames[LANG_COUNT] = { @@ -38,7 +42,11 @@ bool i18nHasFileOverlay() { return s_file_n > 0; } const char* TR(const char* en) { if (!en) return ""; +#if CAP_BUILTIN_LANGS + if (!s_file_n && s_ui_lang == LANG_EN) return en; +#else if (!s_file_n) return en; // no language file loaded: the keys ARE the English UI +#endif // Icon-prefixed labels (" Copy") carry the LVGL symbol's UTF-8 bytes // (3-byte private-use sequences, 0xEE/0xEF lead) in the lookup key, but the // table is keyed on the plain text — so those labels never matched and the @@ -62,6 +70,18 @@ const char* TR(const char* en) { if (c < 0) hi = mid - 1; else lo = mid + 1; } } +#if CAP_BUILTIN_LANGS + if (!v && s_ui_lang != LANG_EN && kBuiltinLang[s_ui_lang]) { + const I18nPair* tab = kBuiltinLang[s_ui_lang]; + int lo = 0, hi = kBuiltinLangCount[s_ui_lang] - 1; + while (lo <= hi) { // sorted by the generator + const int mid = (lo + hi) / 2; + const int c = strcmp(base, tab[mid].key); + if (c == 0) { v = tab[mid].val; break; } + if (c < 0) hi = mid - 1; else lo = mid + 1; + } + } +#endif if (!v) return en; // untranslated: original, prefix intact if (plen == 0) return v; // plain key: the table cell directly static char ring[4][120]; diff --git a/src/ui-touch/i18n_builtin.h b/src/ui-touch/i18n_builtin.h new file mode 100644 index 0000000..ba5c04a --- /dev/null +++ b/src/ui-touch/i18n_builtin.h @@ -0,0 +1,11959 @@ +// Generated by scripts/build/gen-lang-builtin.py — DO NOT EDIT. +// Source: deploy/apps/lang/*.lang (the same files the Lua Store serves). +// Compiled-in fallback for boards that cannot rely on downloading a language. +#pragma once +#include "i18n.h" + +static const I18nPair kBuiltin_hu[] = { + { " (device behind)", " (készülék hátulján)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d lefedettségi pont · %lu mentve SD-re#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: várakozás GPS-jelre…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d a térképen" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d közeli (%d ism, %d társ)" }, + { "%u types · hops %u · manual %s", "%u tipus · ugrás %u · kézi %s" }, + { "(RTC unset)", "(RTC nincs beállítva)" }, + { "(device behind)", "(eszköz lemaradt)" }, + { "(no default)", "(nincs alapértelmezett)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 bájt (hagyományos)\n2 bájt\n3 bájt" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nNincs korlát" }, + { "12-hour clock", "12 órás óra" }, + { "32 hex characters", "32 hex karakter" }, + { "32-hex secret. Anyone with this can read the channel.", "32 hexadecimális titok. Bárki, aki ezzel rendelkezik, olvashatja a csatornát." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Említések" }, + { "@ mention sound", "@ említés hangja" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "AUTOMATIKUS ADVERTEK" }, + { "About", "Névjegy" }, + { "About the map", "A térképről" }, + { "Accent popups", "Accent popups" }, + { "Accent popups: off", "Accent popups: kikapcsolva" }, + { "Accent popups: on", "Accent popups: bekapcsolva" }, + { "Ack", "Nyugta" }, + { "Active", "Aktív" }, + { "Add", "Hozzáad" }, + { "Add channel", "Catorna hozzáadás" }, + { "Add contact", "Kontakt hozzáadás" }, + { "Added", "Hozzáadva" }, + { "Added to contacts", "Hozzáadva a kontaktokhoz" }, + { "Added to favorites", "Hozzáadva a kedvencekhez" }, + { "Admin", "Adminisztráció" }, + { "Advert", "Hirdetés" }, + { "Advert failed", "Hirdetés sikertelen" }, + { "Advert location", "Hirdetés helye" }, + { "Advert policy saved", "Hirdetési szabályzat mentve" }, + { "Advert sent", "Advert elküldve" }, + { "All marked read", "Összes megjelölve olvasottnak" }, + { "Already exists", "Már létezik" }, + { "Already exists or table full.", "Már létezik, vagy a tábla megtelt." }, + { "Already in contacts", "Már a névjegyek közt" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Újraindítás után mindig a beépített antennával indul. Csak akkor válassz Külsőt, ha tényleg van antenna a külső aljzatban." }, + { "Analyzing terrain…", "Terep elemzése…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Terep elemzése…\n(újrapróbálkozás: %d a 3-ból)" }, + { "Answer telemetry requests", "Telemetriai kérések megválaszolása" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Bárki csatlakozhat. A kulcs a hashtagből származik (kisbetűs)." }, + { "App drawer as home", "Alkalmazásfiók kezdőlapként" }, + { "App icon size", "Alkalmazás ikon mérete" }, + { "Applies after restart.", "Újraindítás után érvényes." }, + { "Apply", "Alkalmaz" }, + { "Apply auto-poll", "Automatikus szavazás alkalmazása" }, + { "Apply radio params", "Rádióparaméterek alkalmazása" }, + { "Apps", "Appok" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "A nyilak + Enter mindig működik. Ezek a betűk extra – koppintson egy sorra, majd nyomjon meg egy billentyűt." }, + { "Auto advert", "Automatikus hirdetés" }, + { "Auto chat", "Automatikus csevegés" }, + { "Auto repeater", "Automatikus ismétlő" }, + { "Auto room", "Auto room" }, + { "Auto sensor", "Auto szenzor" }, + { "Auto-Join", "Automatikus csatlakozás" }, + { "Auto-add contacts", "Névjegyek automatikus hozzáadása" }, + { "Auto-add saved", "Automatikus hozzáadás mentve" }, + { "Auto-add settings", "Automatikus hozzáadás beállításai" }, + { "Auto-delete above hops", "Automatikus törlés a fenti hops-ok felett" }, + { "Auto-delete oldest", "Legrégebbi automatikus törlése" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "A legrégebbi automatikus törlése helyet szabadít fel, ha megtelik. Hops-ok: 0 = összes megtartása; a további hops-on keresztül hallott nodeok eltávolításra kerülnek." }, + { "Auto-discover", "Automatikus felismerés" }, + { "Auto-discover off", "Automatikus felismerés kikapcsolva" }, + { "Auto-discover on", "Automatikus felismerés bekapcsolva" }, + { "Auto-poll every", "Automatikus lekérdezés minden" }, + { "Auto-refresh off", "Automatikus frissítés kikapcsolva" }, + { "Auto-refresh on", "Automatikus frissítés bekapcsolva" }, + { "Available", "Elérhető" }, + { "BLE off", "BLE kikapcsolva" }, + { "BLE on", "BLE bekapcsolva" }, + { "BT", "BT" }, + { "Back", "Vissza" }, + { "Backups", "Mentés" }, + { "Battery", "Akkumlátor" }, + { "Battery & power history", "Akkumulátor és teljesítmény előzményei" }, + { "Battery (V)", "Akkumlátor (V)" }, + { "Battery calibration reset to default", "Az akkumulátor kalibrálása visszaállt az alapértelmezett értékre" }, + { "Battery read too low — charge fully first", "Az akkumulátor túl alacsony állapotban van – először töltse fel teljesen" }, + { "Battery saver (experimental)", "Akkumulátorkímélő (kísérleti)" }, + { "Battery — last 24h", "Akkumulátor – elmúlt 24 óra" }, + { "Battery:", "Akkumlátor" }, + { "Block", "Tiltás" }, + { "Block list full", "A feketelista megtelt" }, + { "Blocked list", "Tiltólista" }, + { "Blocked users", "Letiltott felhasználók" }, + { "Blocked — their messages are hidden", "Blokkolt – az üzeneteik rejtve vannak" }, + { "Blocking unsupported", "A blokkolás nem támogatott" }, + { "Blue battery Last 6 min", "Kék akkumulátor töltöttségi szintje: utolsó 6 perc" }, + { "Blue battery Orange temp Cyan humidity", "Kék akkumulátor Narancssárga hőmérséklet Ciánkék páratartalom" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth már ki van kapcsolva" }, + { "Bluetooth already on", "Bluetooth már be van kapcsolva" }, + { "Bluetooth off", "Bluetooth kikapcsolva" }, + { "Bluetooth on", "Bluetooth bekapcsolva" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Ezen az eszközön nincs Bluetooth-párosítás.\n\nA rádiócsip gyári firmware-e nem támogatja.\n\nPárosítsd a telefonos appot Wi-Fin: csatlakoztasd az eszközt a hálózatodra, majd add hozzá az appban IP-cím szerint (TCP, 5000-es port) — a Beállítások > Hálózat alatt látható. USB is működik." }, + { "Broker host / IP", "Broker host / IP" }, + { "Buffered receive (experimental)", "Pufferelt fogadás (kísérleti)" }, + { "Built-in", "Beépített" }, + { "Built-in (default)", "Beépített (alapértelmezett)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Akkumulátor kalibrálása (full = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Kalibrálva: 100%% = %u.%02u V (hosszan nyomva a visszaállításhoz)" }, + { "Can't block — not a contact", "Nem blokkolható – nem egy névjegy" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Nem tudom megjeleníteni a képet\n (csak JPEG, <= 1024 px)" }, + { "Cancel", "Mégse" }, + { "Cancelled", "Lemondva" }, + { "Cannot open file", "Nem lehet megnyitni a fájlt" }, + { "Catalog unavailable", "A katalógus nem érhető el" }, + { "Centered on %s", "Középre igazítva %s" }, + { "Changing orientation - rebooting...", "Tájolásváltás - újraindítás..." }, + { "Channel created", "Csatorna létrehozva" }, + { "Channel joined", "Csatlakozva a csatornához" }, + { "Channel name", "Csatorna neve" }, + { "Channel not found", "Csatorna nem található" }, + { "Channel removed", "Csatorna eltávolítva" }, + { "Channel scope saved", "Csatorna hatóköre mentve" }, + { "Channel settings", "Csatorna beállításai" }, + { "Channel table is full", "A csatornatáblázat megtelt" }, + { "Channel table is full.", "A csatornatábla megtelt." }, + { "Channel-specific regions can be set in each channel's settings.", "A csatornaspecifikus régiók az egyes csatornák beállításaiban állíthatók be." }, + { "Channels:", "Csatornák" }, + { "Chat bubbles", "Csetbuborékok" }, + { "Chat bubbles: plain", "Csevegőbuborékok: sima" }, + { "Chat history is NOT saving", "A csevegési előzmények NEM kerülnek mentésre" }, + { "Chat history save FAILED", "Csevegési előzmények mentése SIKERTELEN" }, + { "Chat icon", "Csevegésikon" }, + { "Chat icon reset to letters", "A csevegés ikon betűkre áll vissza" }, + { "Chat icon set", "Csevegés ikonkészlet" }, + { "Chat removed", "Chat eltávolítva" }, + { "Chat save fallback (failed tries)", "Csevegésmentés tartalék (hibás próbák)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Csevegések, névjegyek, beállítások és mesh-terminál - mind a böngészőben. Nincs újraindítás; az eszköz képernyője változatlan marad." }, + { "Choose .wav from files", ".wav választása a fájlokból" }, + { "Choose your name", "Válaszd ki a neved" }, + { "Choose your region", "Válassza ki a régióját" }, + { "Clear", "Tisztít" }, + { "Clear battery history?", "Törli az akkumulátorelőzményeket?" }, + { "Clear history", "Előzmények törlése" }, + { "Clear telemetry history for this node?", "Törli a telemetriai előzményeket ehhez a csomóponthoz?" }, + { "Client repeat", "Client repeat" }, + { "Clock synced", "Óra szinkronizálva" }, + { "Clock: 12-hour", "Óra: 12 órás" }, + { "Clock: 24-hour", "Óra: 24 órás" }, + { "Close", "Bezár" }, + { "Colourful chat bubbles", "Színes csevegőbuborékok" }, + { "Commands", "Parancsok" }, + { "Community Preset", "Közösségi profil" }, + { "Community preset (meshcomod web)", "Közösségi előbeállítás (meshcomod web)" }, + { "Compact messages", "Kompakt üzenetek" }, + { "Compact messages (IRC style)", "Kompakt üzenetek (IRC stílus)" }, + { "Connect", "Csatlakozás" }, + { "Connect Wi-Fi to reload tiles", "Csatlakozz Wi-Fi-hez a csempék újratöltéséhez" }, + { "Connect to Wi-Fi", "Csatlakozás Wi-Fi-hez" }, + { "Connect to Wi-Fi first", "Előbb csatlakozz Wi-Fihez" }, + { "Connect to Wi-Fi first, then try again.", "Először csatlakozz Wi-Fi-hez, majd próbáld újra." }, + { "Connect to Wi-Fi to get a browser address.", "Csatlakozz Wi-Fihez, hogy böngészőcímet kapj." }, + { "Connected", "Csatlakoztatva" }, + { "Connected - a browser is viewing this screen.", "Kapcsolódva - egy böngésző nézi ezt a képernyőt." }, + { "Connecting...", "Csatlakozás..." }, + { "Connecting…", "Kapcsolódás…" }, + { "Console not available on this build", "Konzol nem érhető el ezen a builden" }, + { "Contact added", "Kontakt hozzáadva" }, + { "Contact deleted", "Kontact törölve" }, + { "Contact gone", "Eltűnt névjegy" }, + { "Contact missing", "Hiányzó névjegy" }, + { "Contacts", "Névjegyek" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "A névjegyek a belső tárolón vannak - az SD-kártya nem csatolódott induláskor. Helyezd be újra a kártyát, és indítsd újra." }, + { "Contacts are on internal flash.", "A névjegyek a belső tárolón vannak." }, + { "Contacts are saved to the SD card.", "A névjegyek az SD-kártyára mentődnek." }, + { "Contacts full", "Névjegyek tele" }, + { "Contacts:", "Névjegyek" }, + { "Control", "Vezérlés" }, + { "Control this device from a browser", "Vezéreld az eszközt böngészőből" }, + { "Copied %s", "%s másolva" }, + { "Copied - Paste in a folder", "Másolt - Beillesztés egy mappába" }, + { "Copy", "Másolás" }, + { "Copy failed (no internal identity)", "Másolás sikertelen (nincs belső identitás)" }, + { "Copy internal data to SD", "Belső adatok másolása SD-re" }, + { "Copy secret", "Secret másolása" }, + { "Copying internal data to SD...", "Belső adatok másolása SD-kártyára..." }, + { "Could not add", "Nem sikerült hozzáadni" }, + { "Could not save the crash report", "Nem sikerült menteni a hibajelentést" }, + { "Couldn't delete", "Nem sikerült törölni" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Nem sikerült lekérni a domborzati adatokat.\nEllenőrizze a kapcsolatot és a\nmagassági szervert, majd\npróbálja újra." }, + { "Couldn't save the name to storage", "Nem sikerült menteni a nevet a tárhelyre" }, + { "Couldn't send login", "Nem sikerült elküldeni a bejelentkezést" }, + { "Couldn't start the analyzer.\nTry again.", "Nem sikerült elindítani az analizátort.\nPróbáld újra." }, + { "Crash export failed", "A Crash exportálása sikertelen volt" }, + { "Create", "Létrehoz" }, + { "Create QR", "QR készítése" }, + { "Create a private channel", "Privát csatorna létrehozása" }, + { "Create failed", "Létrehozás sikertelen" }, + { "Create private channel", "Privát csatorna létrehozása" }, + { "Custom UTC offset (hours)", "Egyéni UTC eltolás (órában)" }, + { "Cut", "Kivágás" }, + { "Cut - Paste in a folder", "Kivágás - Beillesztés egy mappába" }, + { "DM sound", "DM hang" }, + { "DND", "DND" }, + { "Danger zone", "Veszélyes zóna" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Adatok -> SD-kártya újraindításkor\n(a kártyát be kell helyezni)" }, + { "Data -> internal on reboot", "Adatok -> belső újraindításkor" }, + { "Delete", "Töröl" }, + { "Delete %d contact(s)?", "Törölt névjegy(ek)?" }, + { "Delete chat", "Csevegés törlése" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Törli a csevegést \"%s\" felhasználóval?\nAz üzenetelőzmények törlődnek." }, + { "Delete failed", "Törlés sikertelen" }, + { "Delete history", "Előzmények törlése" }, + { "Delete this backup file?\nThis cannot be undone.", "Törli ezt a biztonsági mentésfájlt?\nEz a művelet nem vonható vissza." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Törlöd a csevegés teljes előzményét?\nMaga a csevegés megmarad." }, + { "Deleted", "Törölve" }, + { "Deleted %d", "Törölt %d" }, + { "Deleted %d messages", "%d üzenet törölve" }, + { "Deleting contacts", "Névjegyek törlése" }, + { "Delivered", "Kiszállítva" }, + { "Detailed sensors", "Részletes szenzorok" }, + { "Device clock differs from \"%s\" by %lu h%s", "Az eszköz órája %lu h%s-szal tér el a \"%s\"-től" }, + { "Device clock differs from \"%s\" by %lu min%s", "Az eszköz órája %lu perc%s-szal tér el a \"%s\"-től" }, + { "Device name hidden", "Eszköz neve rejtett" }, + { "Device name shown", "Eszköz neve látható" }, + { "Device time:", "Eszköz idő" }, + { "Diagnostics", "Diagnosztika" }, + { "Diagnostics are on the About page.", "A diagnosztika a Névjegy oldalon található.,Diagnostiek staat op de pagina Over." }, + { "Discovered", "Felfedezve" }, + { "Discovered settings", "Discovered beállítások" }, + { "Display", "Kijelző" }, + { "Display name", "Megjelenített név" }, + { "Distance in miles", "Távolság mérföldben" }, + { "Distance: km", "Távolság: km" }, + { "Distance: miles", "Távolság: mérföld" }, + { "Do Not Disturb", "Ne zavarj" }, + { "Do Not Disturb off", "Ne zavarj kikapcsolva" }, + { "Do Not Disturb on", "Ne zavarj bekapcsolva" }, + { "Download failed", "A letöltés nem sikerült" }, + { "Download failed (network?)", "A letöltés nem sikerült (hálózat?)" }, + { "Download mode", "Letöltési mód" }, + { "Download mode… reflash over USB", "Letöltési mód… újratöltés USB-n keresztül" }, + { "Downloaded - tap Use to switch", "Letöltve - a váltáshoz koppints a Használ gombra" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Térképlapok letöltése…\n\nWi-Fi kapcsolaton keresztül.\nA lapok érkezésükkor jelennek meg\nés offline használatra mentésre kerülnek." }, + { "Downloading…", "Letöltés…" }, + { "Duty meter", "Üzemeltetési mérő" }, + { "Edge scroll", "Szélgörgetés" }, + { "Edit in Settings → Quick replies", "Szerkesztés a Beállítások → Gyors válaszok menüpontban" }, + { "Editing", "Szerkesztés" }, + { "Empty = plaintext to a private broker", "Üres = sima szöveg egy privát brókernek" }, + { "Empty file", "Üres fájl" }, + { "Enable Bluetooth", "Bluetooth engedélyezése" }, + { "Enable MQTT bridge", "MQTT-bridge engedélyezése" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Csak akkor engedélyezd, ha az átjátszód csak egy régiót áraszt el újra. Egyéb esetben hagyd kikapcsolva – blokkolhatja a régiók közötti bejelentkezést/közvetlen üzeneteket." }, + { "Enable web access", "Webes hozzáférés bekapcsolása" }, + { "Encryption key (optional)", "Titkosítási kulcs (opcionális)" }, + { "End time", "Befejezés" }, + { "Enter SSID first", "Először adja meg az SSID-t" }, + { "Enter a name", "Írjon be egy nevet" }, + { "Enter a network name", "Adjon meg egy hálózatnevet" }, + { "Enter adds a new line", "Az Enter új sort ad hozzá" }, + { "Enter exactly 32 hex characters.", "Pontosan 32 hex karaktert adjon meg." }, + { "Enter key sends message", "Az Enter billentyű elküldi az üzenetet" }, + { "Enter sends messages", "Az Enter üzeneteket küld" }, + { "Enter the 32-hex secret shared by the channel creator.", "Add meg a csatorna létrehozója által megosztott 32 hexadecimális titkos kódot." }, + { "Entering remote mode - rebooting...", "Távoli módba lépés - újraindítás..." }, + { "Erase all", "Minden törlése" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Törli az identitást, a névjegyeket, a csatornákat, az üzeneteket, a Wi-Fi-t és az összes beállítást, majd újraindul." }, + { "Erasing everything…", "Minden törlésre kerül…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Minden csomópontnak, amellyel kommunikálsz, egyeznie kell. Ezt később módosíthatod a Beállításokban." }, + { "Expansion Kit", "Bővítőkészlet" }, + { "Experimental", "Kísérleti" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Kísérleti – ismert problémák vannak benne. Ki = lágy egérmutató." }, + { "Experimental saved", "Kísérleti mentés" }, + { "Export failed (can't open file)", "Exportálás sikertelen (nem lehet megnyitni a fájlt)" }, + { "Export new backup", "Új biztonsági mentés exportálása" }, + { "Export settings", "Beállítások exportálása" }, + { "Exporting settings…", "Beállítások exportálása…" }, + { "External antenna selected", "Külső antenna kiválasztva" }, + { "Factory reset", "Gyári visszaállítás" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Gyári beállítások visszaállítása?\n\nTörli az identitást, a névjegyeket,\ncsatornákat, üzeneteket, a Wi-Fi-t\nés minden beállítást. Ez\na művelet nem vonható vissza." }, + { "Failed to save channel.", "Nem sikerült menteni a csatornát." }, + { "Favorites full (max %d)", "Kedvencek megteltek (max. %d)" }, + { "Favorites unsupported", "Kedvencek nem támogatottak" }, + { "Fetching the app list from firmware.wadamesh.com", "Applista letöltése: firmware.wadamesh.com" }, + { "Files", "Fájlok" }, + { "Find", "Keresés" }, + { "Finish", "Befejezés" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nNem sikerült elérni a frissítőszervert" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Villog, ha új üzenet érkezett" }, + { "Flood", "Szórás" }, + { "Flood advert sent", "Flood advert elküldve" }, + { "Flood every", "Flood every" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Árvíz: a hálón keresztül továbbítva (többugrásos).\nNullaugrásos: csak szomszédok (nincs továbbítás)." }, + { "Folder created", "Mappa létrehozva" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Indító telepítések esetén: a kiválasztott csatorna legújabb firmware-jét menti az SD-kártyára (BINS mappa)." }, + { "Forget network", "Hálózat elfelejtése" }, + { "Format", "Formátum" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Formázza az SD kártyát MESHCOMOD (FAT32) formátumban?\nA kártyán lévő összes adat törlődik." }, + { "Format failed (no card / SD error)", "Formázás sikertelen (nincs kártya / SD hiba)" }, + { "Frequency / bandwidth", "Frekvencia / sávszélesség" }, + { "Full", "Tele" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Buzzer %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Buzzer %s\n%s" }, + { "GPS off", "GPS kikapcsolva" }, + { "GPS on", "GPS bekapcsolva" }, + { "GPS serial baud", "GPS soros baud" }, + { "GPS unset", "GPS nincs beállítva" }, + { "GPS: acquiring...", "GPS: begyűjtés..." }, + { "GPS: fix", "GPS: fix" }, + { "GPS: off", "GPS: kikapcsolva" }, + { "GPS: searching", "GPS: keresés" }, + { "Game over — score %d (tap to restart)", "Vége a játéknak — %d pont (érintsd meg az újraindításhoz)" }, + { "Get", "Letölt" }, + { "Get Started", "Kezdés" }, + { "Get test builds (beta)", "Tesztverziók beszerzése (béta)" }, + { "Go", "Mehet" }, + { "Green pressure Gray altitude", "Zöld nyomás Szürke magasság" }, + { "Hashtag name", "Hashtag név" }, + { "Hidden - turn it back on in the Lua Store", "Elrejtve - a Lua Store-ban kapcsolhatod vissza" }, + { "Hidden network", "Rejtett hálózat" }, + { "Hide", "Elrejt" }, + { "Hide device name", "Eszköz nevének elrejtése" }, + { "Hide this app from the drawer?", "Elrejted ezt az appot a menüből?" }, + { "High-gain receiver (FEM LNA)", "Nagy nyereségű vevő (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Nagyon kísérleti jellegű. Ez a funkció továbbítja a csomópont által fogadott összes üzenet szövegét, feladó nevét és időbélyegét egy MQTT brókernek, ahol bárki, aki el tudja olvasni a brókert, elolvashatja azokat. A közvetlen üzenetek olyan személyek privát üzenetei, akik soha nem járultak hozzá a megosztásukhoz. Használjon egy általa felügyelt brókert, állítson be titkosítási kulcsot alább, és soha ne használjon nyilvános brókert." }, + { "History limit off", "Előzménykorlát kikapcsolva" }, + { "Hotkey saved", "Gyorsbillentyű mentése" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Hogyan fogsz megjelenni más csomópontok számára. Ezt később módosíthatod a Beállításokban." }, + { "Humidity", "Páratartalom" }, + { "I accept the privacy risk", "Elfogadom az adatvédelmi kockázatot" }, + { "Identity (public key)", "Azonosítás (nyilvános kulcs)" }, + { "Idle power-save", "Alapjárati energiatakarékos mód" }, + { "Idle sleep disabled", "Tétlen alvás letiltva" }, + { "Idle sleep enabled", "Üresjárati alvás engedélyezve" }, + { "Image too large (>4 MB)", "A kép túl nagy (>4 MB)" }, + { "Import", "Importálás" }, + { "Import backup", "Biztonsági mentés importálása" }, + { "Import failed (bad/unreadable JSON)", "Importálás sikertelen (hibás/olvashatatlan JSON)" }, + { "Import settings", "Beállítások importálása" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Importálja ezt a biztonsági mentést?\nLecseréli az identitást,\ncsatornákat és\nkapcsolatokat, majd újraindul." }, + { "Import: storage unavailable", "Importálás: tárhely nem elérhető" }, + { "Importing settings…", "Beállítások importálása…" }, + { "Inactive", "Inaktív" }, + { "Info", "Infó" }, + { "Insert emoji / symbol", "Emoji / szimbólum beszúrása" }, + { "Install", "Telepít" }, + { "Install a previous version", "Telepítse az előző verziót" }, + { "Install an earlier version", "Telepítse egy korábbi verziót" }, + { "Install failed (network?)", "A telepítés nem sikerült (hálózat?)" }, + { "Install update", "Frissítés telepítése" }, + { "Installed", "Telepítve" }, + { "Installing…", "Telepítés…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Belső (beépített)\nKülső (MMCX)\nAuto (régi, adásonként)" }, + { "Internal has no folders", "A belső mappákban nincsenek mappák" }, + { "Internal storage %s / %s", "Belső tárhely %s / %s" }, + { "Invalid lat/lon", "Hosszúság/szélesség érvénytelen" }, + { "Invalid max hops", "Érvénytelen maximális ugrásszám" }, + { "Invalid radio values", "Érvénytelen rádióértékek" }, + { "Join", "Csatlakozás" }, + { "Join a hashtag channel", "Csatlakozás hashtag csatornához" }, + { "Join a private channel", "Csatlakozás privát csatornához" }, + { "Join hashtag channel", "Csatlakozz a hashtag csatornához" }, + { "Join network", "Csatlakozás a hálózathoz" }, + { "Join private channel", "Csatlakozz privát csatornához" }, + { "Join the public channel", "Csatlakozás a nyilvános csatornához" }, + { "Joined %.40s", "Csatlakozott %.40s alatt" }, + { "Keep per chat (messages)", "Megőrzés csevegésenként (üzenet)" }, + { "Key already in use", "Kulcs már hozzárendelve" }, + { "Keyboard", "Billentyűzet" }, + { "Keyboard backlight", "Billentyűzet háttérvilágítás" }, + { "Keyboard light auto", "Billentyűzetfény auto" }, + { "Keyboard light off", "Billentyűzetfény ki" }, + { "Keyboard light on", "Billentyűzetfény be" }, + { "Keyboard nav: WASDZ on", "Billentyűzet navigáció: WASDZ bekapcsolva" }, + { "Keyboard nav: off", "Billentyűzetnavigáció: kikapcsolva" }, + { "Keyboard navigation", "Billentyűzetnavigáció" }, + { "LOS → %s", "Rálátás → %s" }, + { "Landscape (desktop)", "Fekvő (asztali)" }, + { "Landscape set - applies when remote mode starts.", "Fekvő beállítva - a távoli mód indulásakor lép életbe." }, + { "Language", "Nyelv" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "A nyelvi katalógus nem érhető el - ellenőrizd a Wi-Fit, majd nyisd meg újra a lapot." }, + { "Language updated - restarting to apply it…", "Nyelv frissítve - újraindítás az alkalmazáshoz…" }, + { "Languages", "Nyelvek" }, + { "Latitude", "Szélesség" }, + { "Leave empty if not required", "Hagyja üresen, ha nem szükséges" }, + { "Leaving remote mode - rebooting...", "Kilépés a távoli módból - újraindítás..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Állítsuk be az eszközt.\n\nVálassz egy nevet, és válaszd ki a LoRa régiódat. Körülbelül egy percet vesz igénybe." }, + { "Letters only", "Csak betűk" }, + { "LoRa antenna (P4)", "LoRa antenna (P4)" }, + { "Loading catalog…", "Katalógus betöltése…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Térképcsempék betöltése…\n\nWi-Fi kapcsolaton keresztül.\nA csempék érkezésükkor jelennek meg." }, + { "Loading map…", "Térkép betöltése…" }, + { "Loading the language catalog…", "Nyelvi katalógus betöltése…" }, + { "Loading...", "Betöltés..." }, + { "Local every", "Helyi minden" }, + { "Local sensors", "Helyi szenzorok" }, + { "Lock", "Zár" }, + { "Lock screen", "Képernyőzár" }, + { "Lock screen wallpaper", "Képernyőzár háttérképe" }, + { "Lock text colour", "Szöveg színének zárolása" }, + { "Lock text colour set", "Zárolási szöveg színe beállítva" }, + { "Lock wallpaper", "Zárolt háttérkép" }, + { "Lock wallpaper set", "Zárolt háttérkép beállítása" }, + { "Lock when screen off", "Zárolás kikapcsolt képernyő esetén" }, + { "Locking…", "Zárva…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Zárol képernyőkikapcsoláskor\n(feloldás: Backspace nyomva tartása)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Kikapcsolt képernyő esetén zárol\n(a feloldáshoz tartsa lenyomva a d-padot)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Kikapcsolt képernyő esetén zárol\n(a feloldáshoz tartsa lenyomva a görgetőgolyót)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Kikapcsolt képernyő esetén zárol\n(a feloldáshoz nyomja meg a Hangerő csökkentése gombot)" }, + { "Locks when screen off\n(press the button to unlock)", "Lezár, ha a képernyő ki van kapcsolva\n(a feloldáshoz nyomja meg a gombot)" }, + { "Log in again", "Újra bejelentkezés" }, + { "Logging in again...", "Újra bejelentkezés..." }, + { "Logging in…", "Bejelentkezés…" }, + { "Login OK (perms %u)", "Bejelentkezés rendben (engedélyek %u)" }, + { "Login failed", "Belépési hiba" }, + { "Logs", "Naplók" }, + { "Longitude", "Hosszúság" }, + { "Lua Store", "Lua áruház" }, + { "MHz", "MHz" }, + { "MQTT bridge", "MQTT híd" }, + { "Map", "Térkép" }, + { "Map options", "Térkép opciók" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Térképtárolási hiba.\n\nAz SD-kártya észlelve, de a\ntime gyorsítótár nem csatlakozott.\nIndítsa újra a gépet az újrapróbálkozáshoz." }, + { "Map storage error.\nReflash the tiles partition.", "Térképtárolási hiba.\nFlasheld újra a csempék partícióját." }, + { "Map tiles: microSD", "Térképlapok: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Térképlapok: microSD\n\n/maps/osm/z/x/y.png\n(vagy /tiles/z/x/y.jpg)\n\nA térkép akkor jelenik meg, ha a rendszer talál egy lapot\nerre a területre vonatkozóan." }, + { "Map tiles: server", "Térképlapok: microSD" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Térkép — még nincs csempecsomag az SPIFFS-en.\n\nTölts fel egy csempecsomagot a /tiles///.jpg fájlba a hosztoldali generátorral." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Térkép – a Beállítások → Profil menüpontban állítsd be a tartózkodási helyedet, hogy itt jelenjen meg a térkép." }, + { "Mark all chats and channels as read?", "Az összes csevegést és csatornát megjelölöd olvasottként?" }, + { "Mark as read", "Olvasottnak jelöl" }, + { "Mark read", "Mark read" }, + { "Marked read", "Olvasottként megjelölve" }, + { "Max hops (0..64)", "Max ugrások (0-64)" }, + { "Max zoom for this pack", "Maximális zoom ehhez a csomaghoz" }, + { "Memory detail", "Memória részletei" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Mesh állapota: az flood adverteket minden hatótávolságon belüli repeater újra sugározza, így a gyakori foold-ok növelik az egész hálózat sugárzási idejét. Tartsd őket ritkán (egy napig vagy tovább). A szomszédaid továbbra is látnak a nulla-ugrásos hirdetésekből és az üzenetre adott válaszokból, ezért az flood-ot főleg akkor alkalmazd, amikor a távoli node-oknak újra fel kell fedezniük téged. Hagyd mindkettőt kikapcsolva, ha csak akkor szeretnél advertezni, ha a fenti gombokra koppintasz." }, + { "Message", "Üzenet" }, + { "Message LED", "Üzenet LED" }, + { "Message LED off", "Üzenetjelző LED nem világít" }, + { "Message LED on", "Üzenetjelző LED világít" }, + { "Message deleted", "Üzenet törölve" }, + { "Message didn't get through.\nResend it?", "Az üzenet nem érkezett meg.\nÚjraküldi?" }, + { "Message info", "Üzenet adatai" }, + { "Message sound", "Üzenet hangja" }, + { "Min zoom for this pack", "Minimális zoom ehhez a csomaghoz" }, + { "Mode: BLE starting / low memory", "Mód: BLE indítás / kevés memória" }, + { "Model:", "Modell" }, + { "Multi ACKs", "Multi ACKs" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Ismétlés %s · Vételnövelés %s" }, + { "Multi-byte routing (path hash)", "Többbájtos útválasztás (útvonal-hash)" }, + { "Mute @", "Némítás @" }, + { "Mute msgs", "Üzenetek némítása" }, + { "Mute notification sound", "Értesítési hang némítása" }, + { "My position (no GPS fix)", "A pozícióm (nincs GPS-koordináta)" }, + { "Name", "Név" }, + { "Name can't be empty.", "A név mező nem lehet üres." }, + { "Name fragment", "Névtöredék" }, + { "Name saved", "Név mentve" }, + { "Navigation keys", "Navigációs billentyűk" }, + { "Navigation keys — tap a row, then press a key", "Navigációs billentyűk – koppintson egy sorra, majd nyomjon meg egy billentyűt" }, + { "Nearby on map", "Közeli térképen" }, + { "Network name", "Hálózat név" }, + { "Network name (SSID)", "Hálózat neve (SSID)" }, + { "New", "Új" }, + { "New DM", "Új DM" }, + { "New channel msg", "Új csatornaüzenet" }, + { "New contact", "Új névjegy" }, + { "New file", "Új fájl" }, + { "New folder", "Új mappa" }, + { "New game", "Új játék" }, + { "New room msg", "Új szobaüzenet" }, + { "Next", "Következő" }, + { "Night mode (invert)", "Éjszakai mód (invertált)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Nem található .json biztonsági mentés.\nElőször exportáljon egyet, vagy másolja át a\nmeshcore-backup.json fájlt az\nSD-kártyára vagy a belső flash memóriába." }, + { "No @mentions yet", "Még nincsenek @említések" }, + { "No Bluetooth on this device", "Nincs Bluetooth ezen az eszközön" }, + { "No DM key", "Nincs DM kulcs" }, + { "No GPS module on this device.", "Nincs GPS modul ezen a készüléken." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Nem található JPEG fájl a /lock/ mappában.\nKépek hozzáadása a fájlkezelőn vagy SD-kártyán keresztül." }, + { "No SD card", "Geen SD-kaart" }, + { "No SD card (or unreadable format)", "Nincs SD-kártya (vagy olvashatatlan formátumú)" }, + { "No backups yet. Tap Export new backup above to create one.", "Még nincsenek biztonsági mentések. Koppintson a fenti Új biztonsági mentés exportálása gombra egy létrehozásához." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Még nincsenek akkumulátor-előzmények.\n\n5 percenként naplózva." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Nincsenek blokkolt felhasználók.\n\nÉrintse meg hosszan az üzenetet, majd koppintson a\nBlokkolás lehetőségre egy hozzáadásához." }, + { "No contact for thread", "Nincs elérhetőség a szálhoz" }, + { "No contact to trace", "Nincs nyomon követhető kapcsolat" }, + { "No contacts have shared\na GPS location yet.", "Még egyetlen kontakt sem osztotta meg GPS-helyzetét." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Még nincsenek felfedezett csomópontok.\n\nMinden, amit a rádióban hallasz, és ami nem szerepel a névjegyeid között, itt fog megjelenni. Ha az automatikus hozzáadás ki van kapcsolva, manuálisan is hozzáadhatsz csomópontokat a névjegyeidhez." }, + { "No earlier versions yet", "Még nincsenek korábbi verziók" }, + { "No local expansion data", "Nincsenek helyi bővítési adatok" }, + { "No location for this contact", "Nincs hely ehhez a névjegyhez" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Nincs térképtárhely.\n\nHelyezzen be egy SD-kártyát a Wi-Fi csempék gyorsítótárazásához (vagy flashelje újra a csempék partíciójának visszaállításához)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Nincsenek térképszeletek itt.\n\nCsatlakozzon Wi-Fi-hez (Beállítások → Wi-Fi)\na terület letöltéséhez." }, + { "No mapped repeaters in this route", "Nincsenek leképezett ismétlők ezen az útvonalon" }, + { "No networks found (2.4 GHz only)", "Nem található hálózat (csak 2,4 GHz)" }, + { "No onboard GPS", "Nincs beépített GPS" }, + { "No other networks found", "Nem található más hálózat" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Még nincs pozíció. A hidegindításhoz szabad égbolt kell, és több percig is tarthat." }, + { "No reply from %s", "Nincs válasz %s-tól" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Nincs válasz. Ellenőrizze a jelszót, a szervert,\nvagy az eszköz óráját (eszköz: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Nincsenek mentett térképszeletek. \n\nCsatlakozzon Wi-Fi-hez (Beállítások → Wi-Fi) a terület letöltéséhez.\nA mentett szeletek offline is elérhetők maradnak." }, + { "No system time yet", "Még nincs rendszeridő" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Nincs telemetria ebben az ablakban.\nKérjen egyet, vagy szélesítse az alábbi tartományt." }, + { "No tiles (non-ESP32)", "Nincsenek csempék (nem ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Egyelőre nincs ismert verzió. Először Wi-Fi-kapcsolat és egy frissítés-ellenőrzés szükséges." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime" }, + { "Node name", "Node név" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normál (100%)\nLarge (150%)\nHuge (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Nincs elég szabad memória a Bluetooth-hoz. Először kapcsold ki a Wi-Fi-t." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Nincs elég szabad memória a Wi-Fi-hez. Először kapcsold ki a Bluetooth-t." }, + { "Nothing selected", "Semmi sincs kiválasztva" }, + { "Notification sound set", "Értesítési hang beállítása" }, + { "Notify on new contact", "Értesítés új kapcsolatfelvételről" }, + { "Off", "Ki" }, + { "Off\n1\n2\n3\n5\n8", "Ki\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Ki\n1 nap\n2 nap\n3 nap\n7 nap" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Ki\n60 perc\n90 perc\n2 óra\n3 óra\n4 óra" }, + { "Offline", "Offline" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Ezen túl a régebbi üzenetek törlődnek. A nagyon nagy vagy korlátlan előzmény lassítja a csevegőlistát." }, + { "On - open the address above in a phone browser.", "Bekapcsolva - nyisd meg a fenti címet a telefon böngészőjében." }, + { "On boot", "Indításkor" }, + { "On map", "Térképen" }, + { "Open Advertise app", "Nyissa meg a Hirdetés alkalmazást" }, + { "Open a .wav, then tap 'Set as notification sound'", "Nyisson meg egy .wav fájlt, majd koppintson a 'Beállítás értesítési hangként' lehetőségre." }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Nyisson meg egy JPEG fájlt, majd koppintson a 'Beállítás háttérképként' lehetőségre." }, + { "Open chat", "Csevegés megnyitása" }, + { "Open in a browser (same Wi-Fi):", "Nyisd meg böngészőben (azonos Wi-Fi):" }, + { "Open in web", "Megnyitás a weben" }, + { "Open mesh console", "Nyissa meg a mesh konzolt" }, + { "Optional — type your network, or leave blank to skip.", "Opcionális – írja be a hálózatát, vagy hagyja üresen a kihagyáshoz." }, + { "Orange temp Cyan humidity", "Narancssárga hőmérséklet Ciánkék páratartalom" }, + { "Orientation (tap to rotate, reboots)", "Tájolás (érintse meg az elforgatáshoz, újraindításhoz)" }, + { "Out of memory", "Megtelt a memória" }, + { "Overwrite oldest", "Legrégebbi felülírása" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Felülírja az SD-kártya beállításait és\nidentitását a belső másolatokkal,\nmajd újraindítja?" }, + { "PNG isn't supported here\nUse a JPEG", "A PNG formátum nem támogatott.\nHasználjon JPEG formátumot." }, + { "Pairing code", "Párosítási kód" }, + { "Pairing code saved — reboot to apply", "Párosítási kód mentve – újraindítás az alkalmazáshoz" }, + { "Pairing code: %06lu", "Párosítási kód: %06lu" }, + { "Pairing code: n/a", "Párosítási kód: n/a" }, + { "Password (empty = open)", "Jelszó (üres = nyitott)" }, + { "Password (empty = skip Wi-Fi)", "Jelszó (üres = Wi-Fi kihagyása)" }, + { "Password (optional)", "Jelszó (opcionális)" }, + { "Password too long", "Jelszó túl hosszú" }, + { "Paste", "Beszúrás" }, + { "Paste failed", "Beillesztés sikertelen" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Illeszd be a 64 hexes nyilvános kulcsot és egy nevet. Hasznos, ha privát üzenetet szeretnél küldeni valakinek, mielőtt megérkezik a hirdetése." }, + { "Pasted", "Beillesztve" }, + { "Path hash: %u byte%s", "Útvonal-hash: %u bájt%s" }, + { "Path reset", "Útvonal visszaállítása" }, + { "Path reset failed", "Útvonal visszaállítása sikertelen" }, + { "Paused — score %d", "Szüneteltetve — Pontok %d" }, + { "Per-transmit switching on", "Adásonkénti váltás bekapcsolva" }, + { "Pick colour", "Színválasztás" }, + { "Ping", "Ping" }, + { "Ping failed", "Ping sikertelen" }, + { "Pinged (direct) — waiting…", "Pingelt (közvetlen) — várakozás…" }, + { "Pinged (flood) — waiting…", "Pingelt (flood) — várakozás…" }, + { "Play", "Lejátszás" }, + { "Poll (min)", "Lekérdezés (perc)" }, + { "Poll every", "összes lekérdezése" }, + { "Poll every %d min", "Lekérdezés %d percenként" }, + { "Port", "Port" }, + { "Portrait set - applies when remote mode starts.", "Álló beállítva - a távoli mód indulásakor lép életbe." }, + { "Position saved", "Pozíció mentve" }, + { "Power", "Energia" }, + { "Power off", "Kikapcsolás" }, + { "Powering off… click trackball to wake", "Kikapcsolás… kattintson a görgetőgombbal az ébresztéshez" }, + { "Press a key…", "Nyomj meg egy billentyűt…" }, + { "Probe now", "Mérés most" }, + { "Probing neighbours…", "Szomszédok fürkészése…" }, + { "Profile", "Profil" }, + { "Pubkey must be 64 hex chars.", "A nyilvános kulcsnak 64 hexadecimális karakterből kell állnia." }, + { "Public channel ready", "Nyilvános csatorna készen" }, + { "Public key (64 hex chars)", "Nyilvános kulcs (64 hex karakter)" }, + { "Public key:", "Nyilvános kulcs" }, + { "Publish channel messages", "Csatornaüzenetek közzététele" }, + { "Publish direct messages", "Közvetlen üzenetek közzététele" }, + { "Purge", "Purge" }, + { "Purge all discovered nodes?", "Törölje az összes felfedezett csomópontot?" }, + { "Quick replies", "Gyors válaszok" }, + { "Quick reply", "Gyors válasz" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d bejegyzés · Raw %d bejegyzés" }, + { "RX boosted gain", "RX fokozott erősítés" }, + { "RX log", "RX napló" }, + { "Radio & Mesh", "Rádió és Mesh" }, + { "Radio + region set", "Rádió + régió beállítva" }, + { "Radio applied", "Rádió alkalmazva" }, + { "Radio off", "Rádió kikapcsolva" }, + { "Radio: off", "Rádió: kikapcsolva" }, + { "Range test", "Hatótáv-teszt" }, + { "RangeTest failed", "RangeTest sikertelen" }, + { "RangeTest sent (direct)", "RangeTest küldve (közvetlenül)" }, + { "RangeTest sent (flood)", "RangeTest elküldve (elárasztás)" }, + { "Raw log", "Raw napló" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Csomagokat olvas egy háttérfeladatban, így egy zsúfolt képernyő nem tudja azokat eldobni." }, + { "Reboot", "Újraindítás" }, + { "Reboot device", "Eszköz újraindítása" }, + { "Rebooting...", "Újraindítás..." }, + { "Rebooting…", "Újraindítás…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Kiadatlan teszt firmware-t kapsz – újabb funkciók, de kevésbé teszteltek. A frissítések ellenőrzése és a frissítések telepítése is a béta verziót követi." }, + { "Recently heard", "Nemrég hallottam" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Újraformázza az SD kártyát MESHCOMOD (FAT32) formátumban?\nA kártyán lévő ÖSSZES adat törlődik." }, + { "Region & scope", "Régió és hatókör" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Régió hatóköre (#tag) ehhez a csatornához.\nÜres = az alapértelmezett hatókör használata." }, + { "Region scope (#tag), blank = default.", "Régió hatóköre (#tag), üres = alapértelmezett." }, + { "Region scope (#tag, blank = none)", "Régió hatóköre (#címke, üres = nincs)" }, + { "Remember password", "Jelszó megjegyzése" }, + { "Remote UI", "Távoli felület" }, + { "Remote UI (on)", "Távoli felület (be)" }, + { "Remote access", "Távoli hozzáférés" }, + { "Remote terminal", "Távoli terminál" }, + { "Remote terminal (recommended)", "Távoli terminál (ajánlott)" }, + { "Remote terminal off", "Távoli terminál kikapcsolva" }, + { "Remove", "Eltávolítás" }, + { "Remove %s?", "Eltávolítod: %s?" }, + { "Remove channel", "Csatorna eltávolítása" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Eltávolítja a(z) „%s” csatornát?\nCsak ezen az eszközön hagyja." }, + { "Removed", "Eltávolítva" }, + { "Removed from favorites", "Eltávolítva a kedvencek közül" }, + { "Rename", "Átnevezés" }, + { "Rename failed", "Átnevezés sikertelen" }, + { "Renamed", "Átnevezve" }, + { "Replay", "Visszajátszás" }, + { "Replay route on map", "Útvonal visszajátszása a térképen" }, + { "Replaying route…", "Útvonal újrajátszása…" }, + { "Resend", "Újraküldés" }, + { "Resend failed", "Újraküldés sikertelen" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Addig küldi újra az üzenetet, míg egy ismétlő vissza nem sugározza vagy a címzett nem nyugtázza. Kikapcsolva csak egyszer küld." }, + { "Reset", "Visszaállítás" }, + { "Reset path", "Útvonal visszaállítása" }, + { "Restarting to apply the language…", "Újraindítás a nyelv alkalmazásához…" }, + { "Retry sends until heard", "Újraküldés, míg meg nem hallják" }, + { "Reverse scrollball", "Fordított görgetőgolyó" }, + { "Roll to highlight • click to insert", "Görgessen a kiemeléshez • kattintson a beszúráshoz" }, + { "Room is read-only for you.\nJoin with the room password to post.", "A szoba csak írásvédett számodra.\nCsatlakozz a szoba jelszavával, hogy hozzászólhass." }, + { "Rotating - reconnecting...", "Forgatás - újracsatlakozás..." }, + { "Rotating… rebooting", "Forgatás… újraindítás" }, + { "Run setup again", "Futtassa újra a beállítást" }, + { "SD card %s", "SD-kártya %s" }, + { "SD card %s (hold: format)", "SD-kártya %s (tartás: formázás)" }, + { "SD card (tap to mount)", "SD-kártya (érintésre csatlakoztatható)" }, + { "SD card inserted", "SD-kártya behelyezve" }, + { "SD card lost - reinsert to recover", "SD-kártya elveszett - helyezze be újra a helyreállításhoz" }, + { "SD card remounted", "SD kártya újracsatolva" }, + { "SD card removed", "SD-kártya eltávolítva" }, + { "SD download failed: %s", "SD-letöltés sikertelen: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formázás - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB felhasználva" }, + { "SSID set — enter password, then Save", "SSID beállítva — adja meg a jelszót, majd mentse el" }, + { "SSID too long", "Az SSID túl hosszú" }, + { "Sample text", "Mintaszöveg" }, + { "Save", "Mentés" }, + { "Save & restart", "Mentés és újraindítás" }, + { "Save / turn on", "Mentés és bekapcsolás" }, + { "Save auto-add", "Automatikus hozzáadás mentése" }, + { "Save experimental", "Kísérleti mentés" }, + { "Save failed", "Mentés sikertelen" }, + { "Save name", "Név mentése" }, + { "Save policy", "Szabályzat mentése" }, + { "Save position", "Pozíció mentése" }, + { "Save quick replies", "Gyors válaszok mentése" }, + { "Save report", "Jelentés mentése" }, + { "Save update bin to SD", "Frissítés mentése SD-re" }, + { "Saved", "Mentett" }, + { "Saved backups", "Mentett biztonsági mentések" }, + { "Saved network", "Mentett hálózat" }, + { "Saved profiles", "Profil mentve" }, + { "Saved to slot %d", "Mentve a(z) %d helyre" }, + { "Saved — rebooting", "Mentve — újraindítás" }, + { "Saved — reconnecting…", "Mentve — újracsatlakozás…" }, + { "Saved: %s\nFlash it from the Launcher.", "Mentett: %s\nFlash-eld a Launcher-ből." }, + { "Saving to SD… %d%%", "Mentés SD-kártyára… %d%%" }, + { "Saving to SD… 0%", "Mentés SD-kártyára… 0%" }, + { "Scan to open on phone", "Olvasd be a telefonos megnyitáshoz" }, + { "Scanning…", "Szkennelés…" }, + { "Scope direct msgs to region", "Közvetlen üzenet a régiónak" }, + { "Screen locked", "képernyő lezárva" }, + { "Screen timeout (s, 0 = never)", "Képernyő időkorlátja (s, 0=soha)" }, + { "Screen timeout (s, 0 = never, min 10)", "Képernyő időkorlátja (s, 0 = soha, min. 10)" }, + { "Screen timeout: %ds", "Képernyő időtúllépés: %ds" }, + { "Screen timeout: never", "Képernyő időtúllépés: soha" }, + { "Screen-off just dims", "A képernyő kikapcsolásakor csak elsötétül" }, + { "Screenshot needs an SD card", "Screenshot-hoz SD-kártya szükséges" }, + { "Screenshot: low memory", "Screenshot: kevés a memória" }, + { "Screenshot: no SD card", "Screenshot: nincs sd kártya" }, + { "Screenshot: write failed", "Screenshot: írási hiba" }, + { "Scrollball: normal", "Scrollball: normális" }, + { "Scrollball: reversed", "Scrollbar: megfordítva" }, + { "Search", "Keresés" }, + { "Search contacts", "Névjegyek keresése" }, + { "Secondary keyboards", "Másodlagos billentyűk" }, + { "Secret (32 hex chars)", "Secret (32 hex karakter)" }, + { "Secret (32 hex, optional)", "Secret (32 hex opcionális)" }, + { "Secret must be 32 hex chars (or empty).", "A titkos kódnak 32 hex karakterből kell állnia (vagy üresen kell állnia)." }, + { "Select a DM thread", "Válassz egy DM-szálat" }, + { "Select all", "Összes kijelölése" }, + { "Select network", "Hálózat kiválasztása" }, + { "Send advert", "Hirdetés küldése" }, + { "Send advert now", "Advert küldése most" }, + { "Send an advert now, or set how often you re-advertise.", "Küldjön hirdetést most, vagy állítsa be, hogy milyen gyakran szeretné újrahirdetni." }, + { "Send failed", "Küldés sikertelen" }, + { "Sender blocked", "Feladó blokkolva" }, + { "Sensors tab: off (restart to apply)", "Érzékelők lap: kikapcsolva (újraindítás az alkalmazáshoz)" }, + { "Sensors tab: on (restart to apply)", "Érzékelők lap: bekapcsolva (újraindítás az alkalmazáshoz)" }, + { "Sent", "Elküldve" }, + { "Set", "Beállít" }, + { "Set an SSID first", "Először állítson be egy SSID-t" }, + { "Set as notification sound", "Beállítás értesítési hangnak" }, + { "Set as wallpaper", "Beállítás háttérképnek" }, + { "Set your location first", "Először állítsa be a tartózkodási helyét" }, + { "Settings", "Beállítások" }, + { "Setup complete", "Beállítás kész" }, + { "Share QR", "QR megosztása" }, + { "Share channel", "Csatorna megosztása" }, + { "Share location in advert", "Helyszín megosztása a hirdetésben" }, + { "Share secret", "Titok megosztása" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Oszd meg a 32 karakteres titkot, hogy mások is csatlakozhassanak. Hagyd üresen a titkot, hogy véletlenszerű titkos kódot generálj." }, + { "Share: %s", "Megosztás: %s" }, + { "Show", "Megmutat" }, + { "Show Sensors tab", "Szenzorok lap megjelenítése" }, + { "Show in the app drawer", "Megjelenítés az appmenüben" }, + { "Show link lines", "Linkvonalak megjelenítése" }, + { "Show menu-bar letters", "Menüsáv betűinek megjelenítése" }, + { "Show on chart", "Mutasd a diagramon" }, + { "Show on map", "Mutasd a térképen" }, + { "Sightline", "Rálátás" }, + { "Signal & traffic", "Jelzés és forgalom" }, + { "Signal probe", "Jelmérés" }, + { "Skip", "Kihagyás" }, + { "Sleep ready", "Készen áll az alvásra" }, + { "Slot %d cleared", "%d hely kiürítve" }, + { "Slot empty", "Üres hely" }, + { "Small\nMedium\nLarge", "Kicsi\nKözepes\nNagy" }, + { "Snake — swipe or roll the trackball", "Kígyó – pöccintsd vagy görgesd a görgetőgolyót" }, + { "Sort", "Sort" }, + { "Sound", "Hang" }, + { "Sound off", "Hang kikapcsolva" }, + { "Sound on", "Hang bekapcsolva" }, + { "Sound: %s", "Hang: %s" }, + { "Start time", "Kezdés" }, + { "Status", "Státusz" }, + { "Step 1 of 3", "1. lépés a 3-ból" }, + { "Step 2 of 3", "2. lépés a 3-ból" }, + { "Step 3 of 3", "3. lépés a 3-ból" }, + { "Still analyzing the previous\npath… try again in a moment.", "Még mindig elemzem az előző\nútvonalat… próbáld újra egy pillanat múlva." }, + { "Stop", "Leállít" }, + { "Storage", "Storage" }, + { "Store data on SD (reboot)", "Adatok tárolása SD-n (újraindítás)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Élő képként közvetíti az eszköz képernyőjét, amelyre koppintva vezérelhetsz. Nehezebb; a panelen helykitöltő látszik. A váltás újraindítja az eszközt." }, + { "Switch", "Kapcsoló" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Váltasz a külső antennára?\n\nElőbb győződj meg róla, hogy tényleg van antenna a külső aljzatban. Antenna nélkül adni károsíthatja a rádiót.\n\nMinden újraindításkor visszaáll a beépített antennára." }, + { "Sync clock from system", "Óra szinkronizálása a rendszerből" }, + { "System", "Rendszer" }, + { "System info", "Rendszerinfó" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS kliensek %d GPS %s Buzzer %s" }, + { "TCP off", "TCP kikapcsolva" }, + { "TCP on", "TCP bekapcsolva" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Tab gyorsbillentyűk – koppintson egy sorra, majd nyomjon meg egy billentyűt" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Váltáshoz koppints a Használ gombra - az eszköz újraindul. A nyelvi fájlok a tároló /lang mappájában vannak; szerkesztheted őket vagy hozzáadhatod a sajátodat." }, + { "Tap a language; the device reboots to apply.", "Érintsen meg egy nyelvet; az eszköz újraindul." }, + { "Taste the rainbow!", "Ízleld meg a szivárványt!" }, + { "Telemetry", "Telemetria" }, + { "Telemetry req (direct)…", "Telemetriai kérés (közvetlen)…" }, + { "Telemetry req (flood)…", "Telemetriai kérés (flood)…" }, + { "Telemetry req failed", "Telemetriai kérés sikertelen" }, + { "Telemetry requests allowed", "Telemetriai kérések engedélyezettek" }, + { "Telemetry requests off", "A telemetriai kérések kikapcsolva" }, + { "Telemetry req…", "Telemetria igény…" }, + { "Telemetry settings", "Telemetriai beállítások" }, + { "Temperature", "Hőmérséklet" }, + { "Test builds: off", "Tesztverziók: kikapcsolva" }, + { "Test builds: on", "Tesztverziók: bekapcsolva" }, + { "Theme", "Téma" }, + { "Theme colour", "Téma szine" }, + { "Then pick a mode:", "Majd válassz módot:" }, + { "This contact hasn't shared\na GPS position.", "Ez a kapcsolat nem osztotta meg GPS-pozícióját." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Ez az eszköz egyszerre képes Wi-Fi-t és Bluetooth-t futtatni, önálló rádióként és telefonkiegészítőként (MeshCore alkalmazás) is.\n\nA kettő egyidejű futtatása több RAM-ot fogyaszt, ezért csak azt kapcsold be, amire szükséged van.\n\nBármikor beállíthatod őket a Beállításokban." }, + { "Throttles the CPU when idle to save power", "Energiatakarékosság érdekében tétlenségkor szabályozza a CPU működését" }, + { "Tile reload needs Wi-Fi build", "A csempe újratöltéséhez Wi-Fi-kapcsolat szükséges." }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Csempék törölve – csatlakozzon újra a Wi-Fi-hez az újbóli letöltéshez" }, + { "Tiles from SD card", "Csempék SD-kártyáról" }, + { "Time %s", "Idő %s" }, + { "Time offset (vs automatic)", "Időeltolás (vs automatikus)" }, + { "Time offset: %+d h", "Időeltolódás: %+d óra" }, + { "Time range (hours ago)", "Időtartomány (órákkal ezelőtt)" }, + { "Time zone", "Időzóna" }, + { "Time zone: %s", "Időzóna:" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Tipp: a beállítás után a Beállítások → Hálózat menüpontban kereshet hálózatokat." }, + { "Today", "Ma" }, + { "Toggle GPS", "GPS be-/kikapcs." }, + { "Too large to edit (>8 KB)", "Túl nagy a szerkesztéshez (>8 KB)" }, + { "Topographic map", "Topográfiai térkép" }, + { "Trace", "Trace" }, + { "Trace SNR", "SNR nyomkövetés" }, + { "Trace failed", "Nyomkövetés sikertelen" }, + { "Trace route", "Útvonal nyomkövetése" }, + { "Trace sent…", "Nyomkövetés elküldve…" }, + { "Tracing route…", "Útvonal követése…" }, + { "Trackball navigates UI", "Trackball navigál a felhasználói felületen" }, + { "Trackball: cursor", "Trackball: kurzor" }, + { "Trackball: navigate UI", "Trackball: navigáció az UI-n" }, + { "Turn Wi-Fi on first", "Először kapcsold be a Wi-Fi-t" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Kapcsold be a Wi-Fit, majd frissíts. A már telepített appok működnek." }, + { "Turn off", "Kikapcsol" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Bekapcsolod a régi adásonkénti váltást?\n\nDiagnosztikai mód, csak összehasonlításra. A beépített antennán ad és a külsőn hallgat, így a kimenő jeled sokkal gyengébb lesz a bejövőnél.\n\nMinden újraindításkor visszaáll a beépített antennára." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Kikapcsolod az előzménykorlátot?\n\nEgy forgalmas csatorna így megtöltheti a teljes üzenettárat, ami több helyet foglal, és érezhetően lassítja a csevegőlistát és az appot. Csak akkor tedd, ha tényleg kell a teljes előzmény." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Kapcsold be, majd nyisd meg az alábbi címet bármely böngészőben ugyanazon a Wi-Fin - app nem kell. Az eszköz képernyője élőben jelenik meg a böngészőben, és koppintással vezérelheted." }, + { "Type a URL, then Go", "Írj be egy URL-t, majd Mehet" }, + { "Type a message...", "Írj be egy üzenetet..." }, + { "Type a new 6-digit code · applies after a reboot", "Írjon be egy új 6 jegyű kódot · újraindítás után érvényes" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Írd be a hálózatod nevét – vagy válts Wi-Fi-re a beállításokban a kereséshez" }, + { "UI size (restart to apply)", "UI mérete (újraindítás az alkalmazáshoz)" }, + { "UI size saved — restart to apply", "UI mérete mentve – indítsa újra a programot az alkalmazáshoz" }, + { "USB powered", "USB-tápellátású" }, + { "Unblock", "Feloldás" }, + { "Unblocked", "Feloldva" }, + { "Unfavorite it first", "Először is vedd le a kedvenceid közül" }, + { "Unlocking…", "Feloldva…" }, + { "Unmute @", "@ némításának feloldása" }, + { "Unmute msgs", "Üzenetek némításának feloldása" }, + { "Unread %d", "Olvasatlan %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Olvasatlan %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Nem támogatott WAV (16 bites PCM szükséges)" }, + { "Update", "Frissít" }, + { "Update bin saved to SD", "A frissítési láda SD-kártyára mentve" }, + { "Update complete.\nRebooting...", "Frissítés kész.\nÚjraindítás..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Frissítsd manuálisan a flasher.wadamesh.com oldalon\n(A Wi-Fi frissítés egyelőre szünetel)" }, + { "Update via the Launcher", "Frissítés a Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Frissítés a Launcher / flasher.wadamesh.com oldalon" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Frissítés a Launcher / flasher.wadamesh.com oldalon." }, + { "Updated - rebooting…", "Frissítve - újraindítás…" }, + { "Use", "Használ" }, + { "Username (optional)", "Felhasználónév (nem kötelező)" }, + { "Volume", "Hangerő" }, + { "W up · A left · D right · Z down · S select · Q back", "W fel · A balra · D jobbra · Z le · S kiválasztás · Q vissza" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Várakozás Wi-Fire..." }, + { "Welcome to WADAMESH", "Üdvözöl a WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Amíg be van kapcsolva, a Wi-Fi hálózatodon bárki láthatja és vezérelheti az eszközt. Sima HTTP-t használ (csak helyi hálózat)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi és Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Ebben a buildben nincs engedélyezve a Wi-Fi." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi nem érhető el ezen a builden." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Wi-Fi szükséges a terepprofil lekéréséhez ehhez az útvonalhoz. Csatlakozás a Beállítások → Wi-Fi menüpontban." }, + { "Wi-Fi not connected", "Nincs Wi-Fi-kapcsolat" }, + { "Wi-Fi off", "WiFi kikapcsolva" }, + { "Wi-Fi on", "WiFi bekapcsolva" }, + { "Wi-Fi on, scanning…", "Wi-Fi bekapcsolva, szkennelés…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi mentve (rádió kikapcsolva)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi mentve, újracsatlakozás" }, + { "Yesterday", "Tegnap" }, + { "You can run setup later in Settings → Device", "A beállítást később is futtathatja a Beállítások → Eszköz menüpontban." }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "A tartózkodási helye ismeretlen.\nElőször állítsa be a GPS-t / pozíciót a\nBeállítások → Profil menüpontban." }, + { "Your name", "A neved" }, + { "Your own apps", "Saját appok" }, + { "Zero-hop", "Nulla ugrás" }, + { "Zero-hop advert sent", "Zero-hop advert elküldve" }, + { "Zoom: +/- buttons", "Nagyítás: +/- gombok" }, + { "client connected", "kliens csatlakozva" }, + { "command", "parancs" }, + { "contacts (%d):", "névjegyek (%d):" }, + { "diag boot...", "diag-boot..." }, + { "double-tap SPACE cycles through the ones you enable", "A SPACE dupla koppintásával válthat az engedélyezettek között." }, + { "drive the UI without the screen; keys still type in text fields", "a felhasználói felületet képernyő nélkül működtetik; a billentyűk továbbra is szövegmezőkben írnak" }, + { "e.g. Family", "pl. Család" }, + { "e.g. mesh", "pl. mesh" }, + { "from", "from" }, + { "h to", "ó →" }, + { "hold Backspace to unlock", "feloldás: tartsd nyomva a Backspace-t" }, + { "hold the d-pad to unlock", "tartsa lenyomva a d-padot a feloldáshoz" }, + { "hold the trackball to unlock", "tartsa lenyomva a trackballt a feloldáshoz" }, + { "kHz", "kHz" }, + { "keep holding", "tartsd ki" }, + { "last wake: ", "utolsó ébredés: " }, + { "leave empty to generate", "hagyja üresen a generáláshoz" }, + { "lights the keyboard + wakes the screen on an incoming message", "bejövő üzenet esetén bekapcsolja a billentyűzet megvilágítását + felébreszti a képernyőt" }, + { "mesh link armed", "hálós összeköttetéssel felfegyverzett" }, + { "mesh busy", "háló elfoglalt" }, + { "min (0=off)", "perc (0=ki)" }, + { "mkdir failed", "mappa létrehozása sikertelen" }, + { "n/a in this build", "n/a ebben a buildben" }, + { "now on channel %s", "most a %s csatornán" }, + { "now talking to %s", "most %s-szel beszélgetek" }, + { "off", "ki" }, + { "off = Enter adds a new line; tap Send to send", "ki = Az Enter új sort hoz létre; a küldéshez koppintson a Küldés gombra" }, + { "on", "be" }, + { "peak --", "peak" }, + { "pick accented letters as you type; off = plain typing", "ékezetes betűk kiválasztása gépelés közben; kikapcsolva = sima gépelés" }, + { "press Volume Down to unlock", "Nyomja meg a hangerő csökkentését a feloldáshoz" }, + { "push past a screen edge to scroll content", "Görgetéshez húzza végig az ujját a képernyő szélén" }, + { "score %d", "eredmény %d" }, + { "search", "keresés" }, + { "tap for details", "Koppintson a részletekért" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "koppintson a billentyűzeten a nyelvi billentyűre (pl. EN) az engedélyezettek közötti váltáshoz" }, + { "tap to cancel", "koppintson a megszakításhoz" }, + { "tap to exit full screen", "koppintson a teljes képernyős kilépéshez" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "~17 dB erősítővel csendes/távoli helyeken; zajos helyeken kapcsold ki." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_nl[] = { + { " (device behind)", "(apparaat loopt achter)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d dekkingspunten · %lu opgeslagen op SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: wachten op GPS-fix…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d op kaart" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d dichtbij (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u types · hops %u · handmatig %s" }, + { "(RTC unset)", "(RTC niet ingesteld)" }, + { "(device behind)", "(apparaat loopt achter)" }, + { "(no default)", "(geen standaard)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 byte (verouderd)\n2 bytes\n3 bytes" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nGeen limiet" }, + { "12-hour clock", "12-uursklok" }, + { "32 hex characters", "32 hex-tekens" }, + { "32-hex secret. Anyone with this can read the channel.", "32-hex geheim. Iedereen hiermee kan het kanaal lezen." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Vermeldingen" }, + { "@ mention sound", "Geluid bij @-vermelding" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "AUTOMATISCHE ADVERTS" }, + { "About", "Over" }, + { "About the map", "Over de kaart" }, + { "Accent popups", "Accent-popups" }, + { "Accent popups: off", "Accent-popups: uit" }, + { "Accent popups: on", "Accent-popups: aan" }, + { "Ack", "Ack" }, + { "Active", "Actief" }, + { "Add", "Toevoegen" }, + { "Add channel", "Kanaal toevoegen" }, + { "Add contact", "Contact toevoegen" }, + { "Added", "Toegevoegd" }, + { "Added to contacts", "Toegevoegd aan contacten" }, + { "Added to favorites", "Toegevoegd aan favorieten" }, + { "Admin", "Beheer" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert mislukt" }, + { "Advert location", "Advertlocatie" }, + { "Advert policy saved", "Advertentiebeleid opgeslagen" }, + { "Advert sent", "Advert verzonden" }, + { "All marked read", "Alles gelezen" }, + { "Already exists", "Bestaat al" }, + { "Already exists or table full.", "Bestaat al of tabel vol." }, + { "Already in contacts", "Al in contacten" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Start na een herstart altijd op de interne antenne. Kies Extern alleen met een antenne in de externe aansluiting." }, + { "Analyzing terrain…", "Terrein analyseren…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Terrein analyseren…\n(poging %d van 3)" }, + { "Answer telemetry requests", "Telemetrieverzoeken beantwoorden" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Iedereen kan deelnemen. Sleutel komt van de hashtag (kleine letters)." }, + { "App drawer as home", "App-lade als startscherm" }, + { "App icon size", "Grootte app-pictogrammen" }, + { "Applies after restart.", "Actief na herstart." }, + { "Apply", "Toepassen" }, + { "Apply auto-poll", "Auto-poll toepassen" }, + { "Apply radio params", "Radioparameters toepassen" }, + { "Apps", "Apps" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Pijltjes + Enter werken altijd. Deze letters zijn extra — tik op een rij en druk dan op een toets." }, + { "Auto advert", "Automatische advert" }, + { "Auto chat", "Auto chat" }, + { "Auto repeater", "Auto repeater" }, + { "Auto room", "Auto room" }, + { "Auto sensor", "Auto sensor" }, + { "Auto-Join", "Auto-deelnemen" }, + { "Auto-add contacts", "Contacten automatisch toevoegen" }, + { "Auto-add saved", "Auto-toevoegen opgeslagen" }, + { "Auto-add settings", "Auto-toevoegen instellingen" }, + { "Auto-delete above hops", "Auto-verwijderen boven hops" }, + { "Auto-delete oldest", "Oudste auto-verwijderen" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Oudste auto-verwijderen maakt ruimte als het vol is. Hops: 0 = alles bewaren; nodes gehoord via meer hops worden verwijderd." }, + { "Auto-discover", "Auto-ontdekken" }, + { "Auto-discover off", "Auto-ontdekken uit" }, + { "Auto-discover on", "Auto-ontdekken aan" }, + { "Auto-poll every", "Auto-poll elke" }, + { "Auto-refresh off", "Auto-verversen uit" }, + { "Auto-refresh on", "Auto-verversen aan" }, + { "Available", "Beschikbaar" }, + { "BLE off", "BLE uit" }, + { "BLE on", "BLE aan" }, + { "BT", "BT" }, + { "Back", "Terug" }, + { "Backups", "Back-ups" }, + { "Battery", "Batterij" }, + { "Battery & power history", "Batterij- & energiegeschiedenis" }, + { "Battery (V)", "Batterij (V)" }, + { "Battery calibration reset to default", "Batterijkalibratie teruggezet" }, + { "Battery read too low — charge fully first", "Batterijwaarde te laag — laad eerst volledig op" }, + { "Battery saver (experimental)", "Batterijbesparing (experimenteel)" }, + { "Battery — last 24h", "Batterij — laatste 24u" }, + { "Battery:", "Batterij:" }, + { "Block", "Blokkeren" }, + { "Block list full", "Blokkeerlijst vol" }, + { "Blocked list", "Blokkeerlijst" }, + { "Blocked users", "Geblokkeerde gebruikers" }, + { "Blocked — their messages are hidden", "Geblokkeerd — berichten verborgen" }, + { "Blocking unsupported", "Blokkeren niet ondersteund" }, + { "Blue battery Last 6 min", "Blauw batterij Laatste 6 min" }, + { "Blue battery Orange temp Cyan humidity", "Blauw batterij Oranje temp Cyaan vocht" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth al uit" }, + { "Bluetooth already on", "Bluetooth al aan" }, + { "Bluetooth off", "Bluetooth uit" }, + { "Bluetooth on", "Bluetooth aan" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Bluetooth-koppelen is op dit apparaat niet beschikbaar.\n\nDe fabrieksfirmware van de radiochip ondersteunt het niet.\n\nKoppel de telefoon-app via Wi-Fi: verbind dit apparaat met je netwerk en voeg het in de app toe op IP-adres (TCP, poort 5000) — te vinden onder Instellingen > Netwerk. USB werkt ook." }, + { "Broker host / IP", "Broker-host / IP" }, + { "Buffered receive (experimental)", "Gebufferde ontvangst (experimenteel)" }, + { "Built-in", "Ingebouwd" }, + { "Built-in (default)", "Ingebouwd (standaard)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Batterij kalibreren (vol = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Gekalibreerd: 100%% = %u.%02u V (lang indrukken om te resetten)" }, + { "Can't block — not a contact", "Kan niet blokkeren — geen contact" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Kan afbeelding niet tonen\n(alleen JPEG, <= 1024 px)" }, + { "Cancel", "Annuleren" }, + { "Cancelled", "Geannuleerd" }, + { "Cannot open file", "Kan bestand niet openen" }, + { "Catalog unavailable", "Catalogus niet beschikbaar" }, + { "Centered on %s", "Gecentreerd op %s" }, + { "Changing orientation - rebooting...", "Oriëntatie wijzigen - herstarten..." }, + { "Channel created", "Kanaal aangemaakt" }, + { "Channel joined", "Deelgenomen aan kanaal" }, + { "Channel name", "Kanaalnaam" }, + { "Channel not found", "Kanaal niet gevonden" }, + { "Channel removed", "Kanaal verwijderd" }, + { "Channel scope saved", "Kanaalbereik opgeslagen" }, + { "Channel settings", "Kanaalinstellingen" }, + { "Channel table is full", "Kanaaltabel is vol" }, + { "Channel table is full.", "De kanaaltabel is vol." }, + { "Channel-specific regions can be set in each channel's settings.", "Kanaalspecifieke regio's stel je in bij de instellingen van elk kanaal." }, + { "Channels:", "Kanalen:" }, + { "Chat bubbles", "Chatbubbels" }, + { "Chat bubbles: plain", "Chatbubbels: effen" }, + { "Chat history is NOT saving", "Chatgeschiedenis wordt NIET opgeslagen" }, + { "Chat history save FAILED", "Opslaan chatgeschiedenis MISLUKT" }, + { "Chat icon", "Chatpictogram" }, + { "Chat icon reset to letters", "Chatpictogram teruggezet naar letters" }, + { "Chat icon set", "Chatpictogram ingesteld" }, + { "Chat removed", "Chat verwijderd" }, + { "Chat save fallback (failed tries)", "Chat-opslag terugval (mislukte pogingen)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Chats, contacten, instellingen en een mesh-terminal - alles in de browser. Geen herstart; het apparaat houdt zijn normale scherm." }, + { "Choose .wav from files", ".wav kiezen uit bestanden" }, + { "Choose your name", "Kies je naam" }, + { "Choose your region", "Kies je regio" }, + { "Clear", "Wissen" }, + { "Clear battery history?", "Batterijgeschiedenis wissen?" }, + { "Clear history", "Geschiedenis wissen" }, + { "Clear telemetry history for this node?", "Telemetriegeschiedenis van deze node wissen?" }, + { "Client repeat", "Client herhaling" }, + { "Clock synced", "Klok gesynchroniseerd" }, + { "Clock: 12-hour", "Klok: 12-uurs" }, + { "Clock: 24-hour", "Klok: 24-uurs" }, + { "Close", "Sluiten" }, + { "Colourful chat bubbles", "Kleurrijke chatbubbels" }, + { "Commands", "Opdrachten" }, + { "Community Preset", "Community-preset" }, + { "Community preset (meshcomod web)", "Community-preset (meshcomod web)" }, + { "Compact messages", "Compacte berichten" }, + { "Compact messages (IRC style)", "Compacte berichten (IRC-stijl)" }, + { "Connect", "Verbinden" }, + { "Connect Wi-Fi to reload tiles", "Verbind wifi om tegels te herladen" }, + { "Connect to Wi-Fi", "Verbinden met wifi" }, + { "Connect to Wi-Fi first", "Verbind eerst met Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Verbind eerst met Wi-Fi en probeer het opnieuw." }, + { "Connect to Wi-Fi to get a browser address.", "Verbind met Wi-Fi voor een browseradres." }, + { "Connected", "Verbonden" }, + { "Connected - a browser is viewing this screen.", "Verbonden - een browser bekijkt dit scherm." }, + { "Connecting...", "Verbinden..." }, + { "Connecting…", "Verbinden…" }, + { "Console not available on this build", "Console niet beschikbaar in deze build" }, + { "Contact added", "Contact toegevoegd" }, + { "Contact deleted", "Contact verwijderd" }, + { "Contact gone", "Contact weg" }, + { "Contact missing", "Contact ontbreekt" }, + { "Contacts", "Contacten" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Contacten staan op intern flash - de SD-kaart is bij het opstarten niet gekoppeld. Plaats de kaart opnieuw en herstart." }, + { "Contacts are on internal flash.", "Contacten staan op intern flashgeheugen." }, + { "Contacts are saved to the SD card.", "Contacten worden op de SD-kaart opgeslagen." }, + { "Contacts full", "Contacten vol" }, + { "Contacts:", "Contacten:" }, + { "Control", "Bediening" }, + { "Control this device from a browser", "Bedien dit apparaat vanuit een browser" }, + { "Copied %s", "%s gekopieerd" }, + { "Copied - Paste in a folder", "Gekopieerd - plak in een map" }, + { "Copy", "Kopiëren" }, + { "Copy failed (no internal identity)", "Kopiëren mislukt (geen interne identiteit)" }, + { "Copy internal data to SD", "Interne data naar SD kopiëren" }, + { "Copy secret", "Geheim kopiëren" }, + { "Copying internal data to SD...", "Interne data naar SD kopiëren..." }, + { "Could not add", "Toevoegen mislukt" }, + { "Could not save the crash report", "Kon het crashrapport niet opslaan" }, + { "Couldn't delete", "Verwijderen mislukt" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Kon terreindata niet ophalen.\nControleer de verbinding en de\nhoogteserver en probeer\nhet opnieuw." }, + { "Couldn't save the name to storage", "Kon de naam niet opslaan" }, + { "Couldn't send login", "Kon login niet versturen" }, + { "Couldn't start the analyzer.\nTry again.", "Kon de analyser niet starten.\nProbeer opnieuw." }, + { "Crash export failed", "Crash-export mislukt" }, + { "Create", "Aanmaken" }, + { "Create QR", "QR maken" }, + { "Create a private channel", "Privékanaal aanmaken" }, + { "Create failed", "Aanmaken mislukt" }, + { "Create private channel", "Privékanaal aanmaken" }, + { "Custom UTC offset (hours)", "Aangepaste UTC-offset (uren)" }, + { "Cut", "Knippen" }, + { "Cut - Paste in a folder", "Geknipt - plak in een map" }, + { "DM sound", "DM-geluid" }, + { "DND", "DND" }, + { "Danger zone", "Gevarenzone" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Gegevens -> SD-kaart bij herstart\n(kaart moet geplaatst zijn)" }, + { "Data -> internal on reboot", "Gegevens -> intern bij herstart" }, + { "Delete", "Verwijderen" }, + { "Delete %d contact(s)?", "%d contact(en) verwijderen?" }, + { "Delete chat", "Chat verwijderen" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Chat met \"%s\" verwijderen?\nBerichtgeschiedenis wordt gewist." }, + { "Delete failed", "Verwijderen mislukt" }, + { "Delete history", "Geschiedenis wissen" }, + { "Delete this backup file?\nThis cannot be undone.", "Dit back-upbestand verwijderen?\nDit kan niet ongedaan worden gemaakt." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Volledige geschiedenis van deze chat verwijderen?\nDe chat zelf blijft staan." }, + { "Deleted", "Verwijderd" }, + { "Deleted %d", "%d verwijderd" }, + { "Deleted %d messages", "%d berichten verwijderd" }, + { "Deleting contacts", "Contacten verwijderen" }, + { "Delivered", "Afgeleverd" }, + { "Detailed sensors", "Gedetailleerde sensoren" }, + { "Device clock differs from \"%s\" by %lu h%s", "Apparaatklok verschilt van \"%s\" met %lu u%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Apparaatklok verschilt van \"%s\" met %lu min%s" }, + { "Device name hidden", "Apparaatnaam verborgen" }, + { "Device name shown", "Apparaatnaam zichtbaar" }, + { "Device time:", "Apparaattijd:" }, + { "Diagnostics", "Diagnostiek" }, + { "Diagnostics are on the About page.", "Diagnose ist auf der Seite Über." }, + { "Discovered", "Ontdekt" }, + { "Discovered settings", "Instellingen ontdekte nodes" }, + { "Display", "Scherm" }, + { "Display name", "Weergavenaam" }, + { "Distance in miles", "Afstand in mijlen" }, + { "Distance: km", "Afstand: km" }, + { "Distance: miles", "Afstand: mijlen" }, + { "Do Not Disturb", "Niet storen" }, + { "Do Not Disturb off", "Niet storen uit" }, + { "Do Not Disturb on", "Niet storen aan" }, + { "Download failed", "Download mislukt" }, + { "Download failed (network?)", "Download mislukt (netwerk?)" }, + { "Download mode", "Downloadmodus" }, + { "Download mode… reflash over USB", "Downloadmodus… opnieuw flashen via USB" }, + { "Downloaded - tap Use to switch", "Gedownload - tik Gebruik om te wisselen" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Kaarttegels downloaden…\n\nHoud Wi-Fi verbonden.\nTegels verschijnen zodra ze binnenkomen\nen worden opgeslagen voor offline gebruik." }, + { "Downloading…", "Downloaden…" }, + { "Duty meter", "Duty-meter" }, + { "Edge scroll", "Randscrollen" }, + { "Edit in Settings → Quick replies", "Bewerk in Instellingen → Snelle antwoorden" }, + { "Editing", "Bewerken" }, + { "Empty = plaintext to a private broker", "Leeg = platte tekst naar een privé-broker" }, + { "Empty file", "Leeg bestand" }, + { "Enable Bluetooth", "Bluetooth inschakelen" }, + { "Enable MQTT bridge", "MQTT-brug inschakelen" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Alleen inschakelen als je repeater slechts één regio herverspreidt. Laat anders uit — het kan login/DM's tussen regio's blokkeren." }, + { "Enable web access", "Webtoegang inschakelen" }, + { "Encryption key (optional)", "Encryptiesleutel (optioneel)" }, + { "End time", "Eindtijd" }, + { "Enter SSID first", "Voer eerst SSID in" }, + { "Enter a name", "Voer een naam in" }, + { "Enter a network name", "Voer een netwerknaam in" }, + { "Enter adds a new line", "Enter voegt een nieuwe regel toe" }, + { "Enter exactly 32 hex characters.", "Voer precies 32 hex-tekens in." }, + { "Enter key sends message", "Enter verstuurt bericht" }, + { "Enter sends messages", "Enter verstuurt berichten" }, + { "Enter the 32-hex secret shared by the channel creator.", "Voer het 32-hex geheim in dat de kanaalmaker deelt." }, + { "Entering remote mode - rebooting...", "Externe modus starten - herstarten..." }, + { "Erase all", "Alles wissen" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Wist identiteit, contacten, kanalen, berichten, wifi en alle instellingen, en herstart dan." }, + { "Erasing everything…", "Alles wissen…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Elke node waarmee je praat moet overeenkomen. Je kunt dit later wijzigen in Instellingen." }, + { "Expansion Kit", "Uitbreidingskit" }, + { "Experimental", "Experimenteel" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Experimenteel - heeft bekende problemen. Uit = zachte muiscursor." }, + { "Experimental saved", "Experimenteel opgeslagen" }, + { "Export failed (can't open file)", "Export mislukt (kan bestand niet openen)" }, + { "Export new backup", "Nieuwe back-up" }, + { "Export settings", "Instellingen exporteren" }, + { "Exporting settings…", "Instellingen exporteren…" }, + { "External antenna selected", "Externe antenne geselecteerd" }, + { "Factory reset", "Fabrieksreset" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Fabrieksreset?\n\nWist identiteit, contacten, kanalen, berichten, wifi en elke instelling. Onomkeerbaar." }, + { "Failed to save channel.", "Kan kanaal niet opslaan." }, + { "Favorites full (max %d)", "Favorieten vol (max %d)" }, + { "Favorites unsupported", "Favorieten niet ondersteund" }, + { "Fetching the app list from firmware.wadamesh.com", "App-lijst ophalen van firmware.wadamesh.com" }, + { "Files", "Bestanden" }, + { "Find", "Zoeken" }, + { "Finish", "Voltooien" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nKon de updateserver niet bereiken" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Knipperen bij nieuw bericht" }, + { "Flood", "Flood" }, + { "Flood advert sent", "Flood-advert verzonden" }, + { "Flood every", "Flood elke" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: doorgestuurd over het mesh (multi-hop).\nZero-hop: alleen buren (geen doorsturen)." }, + { "Folder created", "Map aangemaakt" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Voor Launcher-installaties: slaat de nieuwste firmware van het geselecteerde kanaal op de SD-kaart op (BINS-map)." }, + { "Forget network", "Netwerk vergeten" }, + { "Format", "Formatteren" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "SD formatteren als MESHCOMOD (FAT32)?\nAlle gegevens op de kaart worden gewist." }, + { "Format failed (no card / SD error)", "Formatteren mislukt (geen kaart / SD-fout)" }, + { "Frequency / bandwidth", "Frequentie / bandbreedte" }, + { "Full", "Vol" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Zoemer %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Zoemer %s\n%s" }, + { "GPS off", "GPS uit" }, + { "GPS on", "GPS aan" }, + { "GPS serial baud", "GPS seriële baud" }, + { "GPS unset", "GPS niet ingesteld" }, + { "GPS: acquiring...", "GPS: zoeken..." }, + { "GPS: fix", "GPS: fix" }, + { "GPS: off", "GPS: uit" }, + { "GPS: searching", "GPS: zoeken" }, + { "Game over — score %d (tap to restart)", "Game over — score %d (tik om te herstarten)" }, + { "Get", "Ophalen" }, + { "Get Started", "Aan de slag" }, + { "Get test builds (beta)", "Testversies ontvangen (bèta)" }, + { "Go", "Ga" }, + { "Green pressure Gray altitude", "Groen druk Grijs hoogte" }, + { "Hashtag name", "Hashtagnaam" }, + { "Hidden - turn it back on in the Lua Store", "Verborgen - zet het weer aan in de Lua Store" }, + { "Hidden network", "Verborgen netwerk" }, + { "Hide", "Verberg" }, + { "Hide device name", "Apparaatnaam verbergen" }, + { "Hide this app from the drawer?", "Deze app verbergen uit de lade?" }, + { "High-gain receiver (FEM LNA)", "Hoge-versterking ontvanger (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Zeer experimenteel. Dit stuurt de tekst, afzendernaam en tijdstempel van elk bericht dat je node ontvangt door naar een MQTT-broker, waar iedereen die de broker kan lezen ze kan lezen. Directe berichten zijn privéberichten van anderen die nooit met delen hebben ingestemd. Gebruik een broker die je zelf beheert, stel hieronder een encryptiesleutel in, en nooit een openbare broker." }, + { "History limit off", "Geschiedenislimiet uit" }, + { "Hotkey saved", "Sneltoets opgeslagen" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Hoe je verschijnt voor andere nodes. Je kunt dit later wijzigen in Instellingen." }, + { "Humidity", "Vochtigheid" }, + { "I accept the privacy risk", "Ik accepteer het privacyrisico" }, + { "Identity (public key)", "Identiteit (publieke sleutel)" }, + { "Idle power-save", "Energiebesparing bij inactiviteit" }, + { "Idle sleep disabled", "Slaap bij inactiviteit uit" }, + { "Idle sleep enabled", "Slaap bij inactiviteit aan" }, + { "Image too large (>4 MB)", "Afbeelding te groot (>4 MB)" }, + { "Import", "Importeren" }, + { "Import backup", "Back-up importeren" }, + { "Import failed (bad/unreadable JSON)", "Import mislukt (ongeldige JSON)" }, + { "Import settings", "Instellingen importeren" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Deze back-up importeren?\nVervangt identiteit,\nkanalen & contacten,\nherstart daarna." }, + { "Import: storage unavailable", "Import: opslag niet beschikbaar" }, + { "Importing settings…", "Instellingen importeren…" }, + { "Inactive", "Inactief" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Emoji / symbool invoegen" }, + { "Install", "Installeren" }, + { "Install a previous version", "Een vorige versie installeren" }, + { "Install an earlier version", "Een eerdere versie installeren" }, + { "Install failed (network?)", "Installatie mislukt (netwerk?)" }, + { "Install update", "Update installeren" }, + { "Installed", "Geïnstalleerd" }, + { "Installing…", "Installeren…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Intern (on-board)\nExtern (MMCX)\nAuto (verouderd, per zending)" }, + { "Internal has no folders", "Intern heeft geen mappen" }, + { "Internal storage %s / %s", "Interne opslag %s / %s" }, + { "Invalid lat/lon", "Ongeldige lat/lon" }, + { "Invalid max hops", "Ongeldige max hops" }, + { "Invalid radio values", "Ongeldige radiowaarden" }, + { "Join", "Deelnemen" }, + { "Join a hashtag channel", "Deelnemen aan hashtagkanaal" }, + { "Join a private channel", "Deelnemen aan privékanaal" }, + { "Join hashtag channel", "Deelnemen aan hashtagkanaal" }, + { "Join network", "Verbinden met netwerk" }, + { "Join private channel", "Deelnemen aan privékanaal" }, + { "Join the public channel", "Deelnemen aan het publieke kanaal" }, + { "Joined %.40s", "Deelgenomen aan %.40s" }, + { "Keep per chat (messages)", "Bewaren per chat (berichten)" }, + { "Key already in use", "Sleutel al in gebruik" }, + { "Keyboard", "Toetsenbord" }, + { "Keyboard backlight", "Toetsenbordverlichting" }, + { "Keyboard light auto", "Toetsenbordverlichting auto" }, + { "Keyboard light off", "Toetsenbordverlichting uit" }, + { "Keyboard light on", "Toetsenbordverlichting aan" }, + { "Keyboard nav: WASDZ on", "Toetsenbordnav.: WASDZ aan" }, + { "Keyboard nav: off", "Toetsenbordnav.: uit" }, + { "Keyboard navigation", "Toetsenbordnavigatie" }, + { "LOS → %s", "Zichtlijn → %s" }, + { "Landscape (desktop)", "Liggend (desktop)" }, + { "Landscape set - applies when remote mode starts.", "Liggend ingesteld - geldt zodra de externe modus start." }, + { "Language", "Taal" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Taalcatalogus niet beschikbaar - controleer Wi-Fi en open dit tabblad opnieuw." }, + { "Language updated - restarting to apply it…", "Taal bijgewerkt - opnieuw opstarten om toe te passen…" }, + { "Languages", "Talen" }, + { "Latitude", "Breedtegraad" }, + { "Leave empty if not required", "Leeg laten indien niet vereist" }, + { "Leaving remote mode - rebooting...", "Externe modus verlaten - herstarten..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Laten we je apparaat instellen.\n\nJe kiest een naam en je LoRa-regio. Duurt ongeveer een minuut." }, + { "Letters only", "Alleen letters" }, + { "LoRa antenna (P4)", "LoRa-antenne (P4)" }, + { "Loading catalog…", "Catalogus laden…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Kaarttegels laden…\n\nHoud Wi-Fi verbonden.\nTegels verschijnen zodra ze binnenkomen." }, + { "Loading map…", "Kaart laden…" }, + { "Loading the language catalog…", "Taalcatalogus laden…" }, + { "Loading...", "Laden..." }, + { "Local every", "Lokaal elke" }, + { "Local sensors", "Lokale sensoren" }, + { "Lock", "Vergrendelen" }, + { "Lock screen", "Vergrendelscherm" }, + { "Lock screen wallpaper", "Vergrendelscherm-achtergrond" }, + { "Lock text colour", "Tekstkleur vergrendeling" }, + { "Lock text colour set", "Tekstkleur vergrendeling ingesteld" }, + { "Lock wallpaper", "Vergrendelachtergrond" }, + { "Lock wallpaper set", "Vergrendelachtergrond ingesteld" }, + { "Lock when screen off", "Vergrendelen bij scherm uit" }, + { "Locking…", "Vergrendelen…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Vergrendelt bij scherm uit\n(houd Backspace vast om te ontgrendelen)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Vergrendelt bij scherm uit\n(houd de d-pad vast om te ontgrendelen)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Vergrendelt bij scherm uit\n(houd de trackball vast om te ontgrendelen)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Vergrendelt bij scherm uit\n(druk op Volume Omlaag om te ontgrendelen)" }, + { "Locks when screen off\n(press the button to unlock)", "Vergrendelt bij scherm uit\n(druk op de knop om te ontgrendelen)" }, + { "Log in again", "Opnieuw inloggen" }, + { "Logging in again...", "Opnieuw inloggen..." }, + { "Logging in…", "Inloggen…" }, + { "Login OK (perms %u)", "Inloggen OK (rechten %u)" }, + { "Login failed", "Inloggen mislukt" }, + { "Logs", "Logboeken" }, + { "Longitude", "Lengtegraad" }, + { "Lua Store", "Lua Store" }, + { "MHz", "MHz" }, + { "MQTT bridge", "MQTT-brug" }, + { "Map", "Kaart" }, + { "Map options", "Kaartopties" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Kaartopslagfout.\n\nSD-kaart gedetecteerd maar de\ntegelcache kon niet koppelen.\nHerstart om opnieuw te proberen." }, + { "Map storage error.\nReflash the tiles partition.", "Kaartopslagfout.\nFlash de tiles-partitie opnieuw." }, + { "Map tiles: microSD", "Kaarttegels: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Kaarttegels: microSD\n\n/maps/osm/z/x/y.png\n(of /tiles/z/x/y.jpg)\n\nKaart verschijnt zodra een tegel\nvoor dit gebied is gevonden." }, + { "Map tiles: server", "Kaarttegels: server" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Kaart — nog geen tegelpakket op SPIFFS.\n\nUpload een tegelpakket naar /tiles///.jpg met de host-generator." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Kaart — stel je locatie in\nbij Instellingen → Profiel om\nde kaart hier te tonen." }, + { "Mark all chats and channels as read?", "Alle chats en kanalen als gelezen markeren?" }, + { "Mark as read", "Als gelezen markeren" }, + { "Mark read", "Markeer als gelezen" }, + { "Marked read", "Gemarkeerd als gelezen" }, + { "Max hops (0..64)", "Max hops (0..64)" }, + { "Max zoom for this pack", "Max zoom voor dit pakket" }, + { "Memory detail", "Geheugendetail" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Mesh-gezondheid: een flood-advert wordt door elke repeater in bereik opnieuw uitgezonden, dus frequente floods verhogen de airtime voor het hele netwerk. Houd ze zeldzaam (een dag of meer). Je buren zien je nog steeds via zero-hop adverts en je berichtantwoorden, dus flood vooral wanneer verre nodes je opnieuw moeten ontdekken. Laat beide uit om alleen te adverteren als je op de knoppen hierboven tikt." }, + { "Message", "Bericht" }, + { "Message LED", "Bericht-LED" }, + { "Message LED off", "Bericht-LED uit" }, + { "Message LED on", "Bericht-LED aan" }, + { "Message deleted", "Bericht verwijderd" }, + { "Message didn't get through.\nResend it?", "Bericht is niet aangekomen.\nOpnieuw versturen?" }, + { "Message info", "Berichtinfo" }, + { "Message sound", "Berichtgeluid" }, + { "Min zoom for this pack", "Min zoom voor dit pakket" }, + { "Mode: BLE starting / low memory", "Modus: BLE start / weinig geheugen" }, + { "Model:", "Model:" }, + { "Multi ACKs", "Multi-ACK's" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Herhalen %s · RX-boost %s" }, + { "Multi-byte routing (path hash)", "Multi-byte routing (pad-hash)" }, + { "Mute @", "Demp @" }, + { "Mute msgs", "Berichten dempen" }, + { "Mute notification sound", "Meldingsgeluid dempen" }, + { "My position (no GPS fix)", "Mijn positie (geen GPS-fix)" }, + { "Name", "Naam" }, + { "Name can't be empty.", "Naam mag niet leeg zijn." }, + { "Name fragment", "Naamfragment" }, + { "Name saved", "Naam opgeslagen" }, + { "Navigation keys", "Navigatietoetsen" }, + { "Navigation keys — tap a row, then press a key", "Navigatietoetsen — tik een rij, druk dan een toets" }, + { "Nearby on map", "Dichtbij op kaart" }, + { "Network name", "Netwerknaam" }, + { "Network name (SSID)", "Netwerknaam (SSID)" }, + { "New", "Nieuw" }, + { "New DM", "Nieuw DM" }, + { "New channel msg", "Nieuw kanaalbericht" }, + { "New contact", "Nieuw contact" }, + { "New file", "Nieuw bestand" }, + { "New folder", "Nieuwe map" }, + { "New game", "Nieuw spel" }, + { "New room msg", "Nieuw roombericht" }, + { "Next", "Volgende" }, + { "Night mode (invert)", "Nachtmodus (omkeren)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Geen .json back-ups gevonden.\nExporteer er eerst een, of kopieer\neen meshcore-backup.json naar de\nSD-kaart of interne flash." }, + { "No @mentions yet", "Nog geen @vermeldingen" }, + { "No Bluetooth on this device", "Geen Bluetooth op dit apparaat" }, + { "No DM key", "Geen DM-sleutel" }, + { "No GPS module on this device.", "Geen GPS-module op dit apparaat." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Geen JPEG's gevonden in /lock/.\nVoeg afbeeldingen toe via de\nbestandsbeheerder of een SD-kaart." }, + { "No SD card", "Nincs SD-kártya" }, + { "No SD card (or unreadable format)", "Geen SD-kaart (of onleesbaar formaat)" }, + { "No backups yet. Tap Export new backup above to create one.", "Nog geen back-ups. Tik hierboven op Nieuwe back-up om er een te maken." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Nog geen batterijgeschiedenis.\n\nElke 5 minuten gelogd." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Geen geblokkeerde gebruikers.\n\nHoud een bericht ingedrukt en tik\nop Blokkeren om er een toe te voegen." }, + { "No contact for thread", "Geen contact voor gesprek" }, + { "No contact to trace", "Geen contact om te traceren" }, + { "No contacts have shared\na GPS location yet.", "Nog geen contacten hebben\neen GPS-locatie gedeeld." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Nog geen ontdekte nodes.\n\nAlles wat via de ether wordt gehoord en niet in je contacten staat, verschijnt hier. Als automatisch toevoegen uit staat, kun je nodes handmatig aan je contacten toevoegen." }, + { "No earlier versions yet", "Nog geen eerdere versies" }, + { "No local expansion data", "Geen lokale uitbreidingsdata" }, + { "No location for this contact", "Geen locatie voor dit contact" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Geen kaartopslag.\n\nPlaats een SD-kaart om wifi-tegels\nte cachen (of flash opnieuw om\nde tiles-partitie te herstellen)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Hier geen kaarttegels.\n\nMaak verbinding met Wi-Fi (Instellingen → Wi-Fi)\nom dit gebied te downloaden." }, + { "No mapped repeaters in this route", "Geen repeaters op de kaart in deze route" }, + { "No networks found (2.4 GHz only)", "Geen netwerken gevonden (alleen 2.4 GHz)" }, + { "No onboard GPS", "Geen ingebouwde GPS" }, + { "No other networks found", "Geen andere netwerken gevonden" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Nog geen positie. Een koude start heeft vrij zicht op de lucht nodig en kan enkele minuten duren." }, + { "No reply from %s", "Geen antwoord van %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Geen antwoord. Controleer wachtwoord, server,\nof apparaatklok (apparaat: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Hier geen opgeslagen kaarttegels.\n\nMaak verbinding met Wi-Fi (Instellingen → Wi-Fi)\nom dit gebied te downloaden.\nOpgeslagen tegels blijven offline beschikbaar." }, + { "No system time yet", "Nog geen systeemtijd" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Geen telemetrie in dit venster.\nVraag er een aan, of verbreed het bereik hieronder." }, + { "No tiles (non-ESP32)", "Geen tegels (niet-ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Nog geen versie bekend. Eerst zijn Wi-Fi en een voltooide updatecontrole nodig." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Node\nRegio\nRadio\nSignaal\nContacten\nKanalen\nBatterij\nBedrijfstijd" }, + { "Node name", "Nodenaam" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normaal (100%)\nGroot (150%)\nEnorm (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Niet genoeg vrij geheugen voor Bluetooth. Schakel eerst Wi-Fi uit." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Niet genoeg vrij geheugen voor Wi-Fi. Schakel eerst Bluetooth uit." }, + { "Nothing selected", "Niets geselecteerd" }, + { "Notification sound set", "Meldingsgeluid ingesteld" }, + { "Notify on new contact", "Melden bij nieuw contact" }, + { "Off", "Uit" }, + { "Off\n1\n2\n3\n5\n8", "Uit\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Uit\n1 dag\n2 dagen\n3 dagen\n7 dagen" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Uit\n60 min\n90 min\n2 uur\n3 uur\n4 uur" }, + { "Offline", "Offline" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Oudere berichten vervallen hierboven. Een zeer grote of onbeperkte geschiedenis maakt de chatlijst trager." }, + { "On - open the address above in a phone browser.", "Aan - open het bovenstaande adres in de browser van je telefoon." }, + { "On boot", "Bij opstarten" }, + { "On map", "Op kaart" }, + { "Open Advertise app", "Advertentie-app openen" }, + { "Open a .wav, then tap 'Set as notification sound'", "Open een .wav, tik dan op 'Instellen als meldingsgeluid'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Open een JPEG, tik dan op 'Instellen als achtergrond'" }, + { "Open chat", "Chat openen" }, + { "Open in a browser (same Wi-Fi):", "Open in een browser (zelfde Wi-Fi):" }, + { "Open in web", "Openen op het web" }, + { "Open mesh console", "Mesh-console openen" }, + { "Optional — type your network, or leave blank to skip.", "Optioneel — typ je netwerk, of laat leeg om over te slaan." }, + { "Orange temp Cyan humidity", "Oranje temp Cyaan vocht" }, + { "Orientation (tap to rotate, reboots)", "Oriëntatie (tik om te draaien, herstart)" }, + { "Out of memory", "Onvoldoende geheugen" }, + { "Overwrite oldest", "Oudste overschrijven" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Instellingen en identiteit van de SD-kaart\noverschrijven met de interne kopieën\nen dan herstarten?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG wordt hier niet ondersteund\nGebruik een JPEG" }, + { "Pairing code", "Koppelcode" }, + { "Pairing code saved — reboot to apply", "Koppelcode opgeslagen — herstart om toe te passen" }, + { "Pairing code: %06lu", "Koppelcode: %06lu" }, + { "Pairing code: n/a", "Koppelcode: n.v.t." }, + { "Password (empty = open)", "Wachtwoord (leeg = open)" }, + { "Password (empty = skip Wi-Fi)", "Wachtwoord (leeg = wifi overslaan)" }, + { "Password (optional)", "Wachtwoord (optioneel)" }, + { "Password too long", "Wachtwoord te lang" }, + { "Paste", "Plakken" }, + { "Paste failed", "Plakken mislukt" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Plak de 64-hex publieke sleutel en een naam. Handig om iemand te DM'en voordat hun advert is aangekomen." }, + { "Pasted", "Geplakt" }, + { "Path hash: %u byte%s", "Pad-hash: %u byte%s" }, + { "Path reset", "Pad gereset" }, + { "Path reset failed", "Pad resetten mislukt" }, + { "Paused — score %d", "Gepauzeerd — score %d" }, + { "Per-transmit switching on", "Per-zending schakelen aan" }, + { "Pick colour", "Kies kleur" }, + { "Ping", "Ping" }, + { "Ping failed", "Ping mislukt" }, + { "Pinged (direct) — waiting…", "Ping (direct) — wachten…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — wachten…" }, + { "Play", "Afspelen" }, + { "Poll (min)", "Ophalen (min)" }, + { "Poll every", "Ophalen elke" }, + { "Poll every %d min", "Ophalen elke %d min" }, + { "Port", "Poort" }, + { "Portrait set - applies when remote mode starts.", "Staand ingesteld - geldt zodra de externe modus start." }, + { "Position saved", "Positie opgeslagen" }, + { "Power", "Energie" }, + { "Power off", "Uitschakelen" }, + { "Powering off… click trackball to wake", "Uitschakelen… klik trackball om te wekken" }, + { "Press a key…", "Druk op een toets…" }, + { "Probe now", "Nu meten" }, + { "Probing neighbours…", "Buren onderzoeken…" }, + { "Profile", "Profiel" }, + { "Pubkey must be 64 hex chars.", "Pubkey moet 64 hex-tekens zijn." }, + { "Public channel ready", "Openbaar kanaal klaar" }, + { "Public key (64 hex chars)", "Publieke sleutel (64 hex)" }, + { "Public key:", "Publieke sleutel:" }, + { "Publish channel messages", "Kanaalberichten publiceren" }, + { "Publish direct messages", "Directe berichten publiceren" }, + { "Purge", "Wissen" }, + { "Purge all discovered nodes?", "Alle ontdekte nodes wissen?" }, + { "Quick replies", "Snelle antwoorden" }, + { "Quick reply", "Snel antwoord" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d items · Raw %d items" }, + { "RX boosted gain", "RX versterkte gain" }, + { "RX log", "RX-logboek" }, + { "Radio & Mesh", "Radio & Mesh" }, + { "Radio + region set", "Radio + regio ingesteld" }, + { "Radio applied", "Radio toegepast" }, + { "Radio off", "Radio uit" }, + { "Radio: off", "Radio: uit" }, + { "Range test", "Bereiktest" }, + { "RangeTest failed", "RangeTest mislukt" }, + { "RangeTest sent (direct)", "RangeTest verzonden (direct)" }, + { "RangeTest sent (flood)", "RangeTest verzonden (flood)" }, + { "Raw log", "Ruwe log" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Leest pakketten in een achtergrondtaak zodat een druk scherm ze niet laat vallen." }, + { "Reboot", "Herstarten" }, + { "Reboot device", "Apparaat herstarten" }, + { "Rebooting...", "Opnieuw opstarten..." }, + { "Rebooting…", "Opnieuw opstarten…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Ontvang niet-uitgebrachte testfirmware — nieuwere functies, maar minder getest. De updatecontrole en Update installeren volgen beide het bètakanaal." }, + { "Recently heard", "Recent gehoord" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "SD herformatteren als MESHCOMOD (FAT32)?\nALLE data op de kaart wordt gewist." }, + { "Region & scope", "Regio en bereik" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Regiobereik (#tag) voor dit kanaal.\nLeeg = standaardbereik gebruiken." }, + { "Region scope (#tag), blank = default.", "Regiobereik (#tag), leeg = standaard." }, + { "Region scope (#tag, blank = none)", "Regiobereik (#tag, leeg = geen)" }, + { "Remember password", "Wachtwoord onthouden" }, + { "Remote UI", "Externe UI" }, + { "Remote UI (on)", "Externe UI (aan)" }, + { "Remote access", "Externe toegang" }, + { "Remote terminal", "Externe terminal" }, + { "Remote terminal (recommended)", "Externe terminal (aanbevolen)" }, + { "Remote terminal off", "Externe terminal uit" }, + { "Remove", "Verwijderen" }, + { "Remove %s?", "%s verwijderen?" }, + { "Remove channel", "Kanaal verwijderen" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Kanaal \"%s\" verwijderen?\nAlleen van dit apparaat." }, + { "Removed", "Verwijderd" }, + { "Removed from favorites", "Verwijderd uit favorieten" }, + { "Rename", "Hernoemen" }, + { "Rename failed", "Hernoemen mislukt" }, + { "Renamed", "Hernoemd" }, + { "Replay", "Opnieuw afspelen" }, + { "Replay route on map", "Route opnieuw afspelen op kaart" }, + { "Replaying route…", "Route wordt opnieuw afgespeeld…" }, + { "Resend", "Opnieuw versturen" }, + { "Resend failed", "Opnieuw versturen mislukt" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Verstuurt een bericht opnieuw tot een repeater het echoot of de ontvanger bevestigt. Zet uit om maar één keer te verzenden." }, + { "Reset", "Herstellen" }, + { "Reset path", "Pad resetten" }, + { "Restarting to apply the language…", "Opnieuw opstarten om de taal toe te passen…" }, + { "Retry sends until heard", "Opnieuw verzenden tot gehoord" }, + { "Reverse scrollball", "Scrollball omkeren" }, + { "Roll to highlight • click to insert", "Rol om te markeren • klik om in te voegen" }, + { "Room is read-only for you.\nJoin with the room password to post.", "De ruimte is voor jou alleen-lezen.\nDoe mee met het ruimtewachtwoord om te posten." }, + { "Rotating - reconnecting...", "Draaien - opnieuw verbinden..." }, + { "Rotating… rebooting", "Draaien… opnieuw opstarten" }, + { "Run setup again", "Setup opnieuw uitvoeren" }, + { "SD card %s", "SD-kaart %s" }, + { "SD card %s (hold: format)", "SD-kaart %s (vasthouden: formatteren)" }, + { "SD card (tap to mount)", "SD-kaart (tik om te koppelen)" }, + { "SD card inserted", "SD-kaart geplaatst" }, + { "SD card lost - reinsert to recover", "SD-kaart verloren - plaats opnieuw" }, + { "SD card remounted", "SD-kaart opnieuw gekoppeld" }, + { "SD card removed", "SD-kaart verwijderd" }, + { "SD download failed: %s", "SD-download mislukt: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD geformatteerd - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB gebruikt" }, + { "SSID set — enter password, then Save", "SSID ingesteld — voer wachtwoord in, dan Opslaan" }, + { "SSID too long", "SSID te lang" }, + { "Sample text", "Voorbeeldtekst" }, + { "Save", "Opslaan" }, + { "Save & restart", "Opslaan & herstarten" }, + { "Save / turn on", "Opslaan / inschakelen" }, + { "Save auto-add", "Auto-toevoegen opslaan" }, + { "Save experimental", "Experimenteel opslaan" }, + { "Save failed", "Opslaan mislukt" }, + { "Save name", "Naam opslaan" }, + { "Save policy", "Beleid opslaan" }, + { "Save position", "Positie opslaan" }, + { "Save quick replies", "Snelle antwoorden opslaan" }, + { "Save report", "Rapport opslaan" }, + { "Save update bin to SD", "Update-bin op SD opslaan" }, + { "Saved", "Opgeslagen" }, + { "Saved backups", "Opgeslagen back-ups" }, + { "Saved network", "Opgeslagen netwerk" }, + { "Saved profiles", "Opgeslagen profielen" }, + { "Saved to slot %d", "Opgeslagen in slot %d" }, + { "Saved — rebooting", "Opgeslagen — opnieuw opstarten" }, + { "Saved — reconnecting…", "Opgeslagen — opnieuw verbinden…" }, + { "Saved: %s\nFlash it from the Launcher.", "Opgeslagen: %s\nFlash het vanuit de Launcher." }, + { "Saving to SD… %d%%", "Opslaan naar SD… %d%%" }, + { "Saving to SD… 0%", "Opslaan naar SD… 0%" }, + { "Scan to open on phone", "Scan om op je telefoon te openen" }, + { "Scanning…", "Scannen…" }, + { "Scope direct msgs to region", "Directe berichten beperken tot regio" }, + { "Screen locked", "Scherm vergrendeld" }, + { "Screen timeout (s, 0 = never)", "Schermtime-out (s, 0 = nooit)" }, + { "Screen timeout (s, 0 = never, min 10)", "Schermtime-out (s, 0 = nooit, min 10)" }, + { "Screen timeout: %ds", "Schermtime-out: %ds" }, + { "Screen timeout: never", "Schermtime-out: nooit" }, + { "Screen-off just dims", "Scherm-uit dimt alleen" }, + { "Screenshot needs an SD card", "Schermafbeelding vereist een SD-kaart" }, + { "Screenshot: low memory", "Schermafbeelding: weinig geheugen" }, + { "Screenshot: no SD card", "Schermafbeelding: geen SD-kaart" }, + { "Screenshot: write failed", "Schermafbeelding: schrijven mislukt" }, + { "Scrollball: normal", "Scrollball: normaal" }, + { "Scrollball: reversed", "Scrollball: omgekeerd" }, + { "Search", "Zoeken" }, + { "Search contacts", "Contacten zoeken" }, + { "Secondary keyboards", "Secundaire toetsenborden" }, + { "Secret (32 hex chars)", "Geheim (32 hex)" }, + { "Secret (32 hex, optional)", "Geheim (32 hex, optioneel)" }, + { "Secret must be 32 hex chars (or empty).", "Geheim moet 32 hex-tekens zijn (of leeg)." }, + { "Select a DM thread", "Kies een DM-gesprek" }, + { "Select all", "Alles selecteren" }, + { "Select network", "Netwerk kiezen" }, + { "Send advert", "Advert verzenden" }, + { "Send advert now", "Nu advert verzenden" }, + { "Send an advert now, or set how often you re-advertise.", "Verstuur nu een advert, of stel in hoe vaak je opnieuw adverteert." }, + { "Send failed", "Verzenden mislukt" }, + { "Sender blocked", "Afzender geblokkeerd" }, + { "Sensors tab: off (restart to apply)", "Sensortab: uit (herstart om toe te passen)" }, + { "Sensors tab: on (restart to apply)", "Sensortab: aan (herstart om toe te passen)" }, + { "Sent", "Verzonden" }, + { "Set", "Instellen" }, + { "Set an SSID first", "Stel eerst een SSID in" }, + { "Set as notification sound", "Instellen als meldingsgeluid" }, + { "Set as wallpaper", "Instellen als achtergrond" }, + { "Set your location first", "Stel eerst je locatie in" }, + { "Settings", "Instellingen" }, + { "Setup complete", "Installatie voltooid" }, + { "Share QR", "QR delen" }, + { "Share channel", "Kanaal delen" }, + { "Share location in advert", "Locatie delen in advert" }, + { "Share secret", "Geheim delen" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Deel het 32-teken geheim zodat anderen kunnen deelnemen. Leeg laten voor een willekeurig geheim." }, + { "Share: %s", "Delen: %s" }, + { "Show", "Toon" }, + { "Show Sensors tab", "Sensoren-tab tonen" }, + { "Show in the app drawer", "Tonen in de app-lade" }, + { "Show link lines", "Verbindingslijnen tonen" }, + { "Show menu-bar letters", "Menubalk-letters tonen" }, + { "Show on chart", "Op grafiek tonen" }, + { "Show on map", "Op kaart tonen" }, + { "Sightline", "Zichtlijn" }, + { "Signal & traffic", "Signaal & verkeer" }, + { "Signal probe", "Signaalmeting" }, + { "Skip", "Overslaan" }, + { "Sleep ready", "Klaar voor slaap" }, + { "Slot %d cleared", "Slot %d gewist" }, + { "Slot empty", "Slot leeg" }, + { "Small\nMedium\nLarge", "Klein\nMiddel\nGroot" }, + { "Snake — swipe or roll the trackball", "Snake — veeg of rol de trackball" }, + { "Sort", "Sorteer" }, + { "Sound", "Geluid" }, + { "Sound off", "Geluid uit" }, + { "Sound on", "Geluid aan" }, + { "Sound: %s", "Geluid: %s" }, + { "Start time", "Starttijd" }, + { "Status", "Status" }, + { "Step 1 of 3", "Stap 1 van 3" }, + { "Step 2 of 3", "Stap 2 van 3" }, + { "Step 3 of 3", "Stap 3 van 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Vorige pad wordt nog\ngeanalyseerd… probeer zo opnieuw." }, + { "Stop", "Stop" }, + { "Storage", "Opslag" }, + { "Store data on SD (reboot)", "Gegevens op SD opslaan (herstart)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Streamt het scherm als live beeld dat je aantikt om te bedienen. Zwaarder; het paneel toont een plaatshouder. Omschakelen herstart het apparaat." }, + { "Switch", "Wisselen" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Overschakelen naar de externe antenne?\n\nControleer eerst of er echt een antenne op de externe aansluiting zit. Zenden zonder antenne kan de radio beschadigen.\n\nValt bij elke herstart terug op de interne antenne." }, + { "Sync clock from system", "Klok synchroniseren" }, + { "System", "Systeem" }, + { "System info", "Systeeminfo" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS-clients %d GPS %s Zoemer %s" }, + { "TCP off", "TCP uit" }, + { "TCP on", "TCP aan" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Tab-sneltoetsen — tik een rij, druk dan een toets" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Tik Gebruik om te wisselen - het apparaat herstart. Taalbestanden staan in /lang op de opslag; bewerk ze of voeg je eigen toe." }, + { "Tap a language; the device reboots to apply.", "Tik op een taal; het apparaat herstart." }, + { "Taste the rainbow!", "Proef de regenboog!" }, + { "Telemetry", "Telemetrie" }, + { "Telemetry req (direct)…", "Telemetrie-verzoek (direct)…" }, + { "Telemetry req (flood)…", "Telemetrie-verzoek (flood)…" }, + { "Telemetry req failed", "Telemetrie-verzoek mislukt" }, + { "Telemetry requests allowed", "Telemetrie-verzoeken toegestaan" }, + { "Telemetry requests off", "Telemetrie-verzoeken uit" }, + { "Telemetry req…", "Telemetrie-verz…" }, + { "Telemetry settings", "Telemetrie-instellingen" }, + { "Temperature", "Temperatuur" }, + { "Test builds: off", "Testbuilds: uit" }, + { "Test builds: on", "Testbuilds: aan" }, + { "Theme", "Thema" }, + { "Theme colour", "Themakleur" }, + { "Then pick a mode:", "Kies daarna een modus:" }, + { "This contact hasn't shared\na GPS position.", "Dit contact heeft geen\nGPS-positie gedeeld." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Dit apparaat kan Wi-Fi en Bluetooth tegelijk draaien, als zelfstandige radio én telefoon-companion (MeshCore-app) samen.\n\nBeide tegelijk gebruikt meer RAM, dus zet alleen aan wat je nodig hebt.\n\nStel ze altijd in via Instellingen." }, + { "Throttles the CPU when idle to save power", "Beperkt de CPU bij inactiviteit om stroom te sparen" }, + { "Tile reload needs Wi-Fi build", "Tegels herladen vereist wifi-build" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Tegels gewist — verbind Wi-Fi opnieuw om te herladen" }, + { "Tiles from SD card", "Tegels van SD-kaart" }, + { "Time %s", "Tijd %s" }, + { "Time offset (vs automatic)", "Tijdverschuiving (t.o.v. automatisch)" }, + { "Time offset: %+d h", "Tijdverschuiving: %+d u" }, + { "Time range (hours ago)", "Tijdsbereik (uren geleden)" }, + { "Time zone", "Tijdzone" }, + { "Time zone: %s", "Tijdzone: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Tip: je kunt netwerken scannen in Instellingen → Netwerk na de installatie." }, + { "Today", "Vandaag" }, + { "Toggle GPS", "GPS aan/uit" }, + { "Too large to edit (>8 KB)", "Te groot om te bewerken (>8 KB)" }, + { "Topographic map", "Topografische kaart" }, + { "Trace", "Traceren" }, + { "Trace SNR", "SNR traceren" }, + { "Trace failed", "Tracering mislukt" }, + { "Trace route", "Route traceren" }, + { "Trace sent…", "Tracering verzonden…" }, + { "Tracing route…", "Route traceren…" }, + { "Trackball navigates UI", "Trackball navigeert UI" }, + { "Trackball: cursor", "Trackball: cursor" }, + { "Trackball: navigate UI", "Trackball: navigeer UI" }, + { "Turn Wi-Fi on first", "Zet eerst Wi-Fi aan" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Zet Wi-Fi aan en ververs. Al geïnstalleerde apps blijven werken." }, + { "Turn off", "Uitzetten" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Verouderd per-zending schakelen aanzetten?\n\nDiagnosemodus, alleen ter vergelijking. Zendt op de interne antenne en luistert op de externe, dus je uitgaande signaal is veel zwakker dan je inkomende.\n\nValt bij elke herstart terug op de interne antenne." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Geschiedenislimiet uitzetten?\n\nEen druk kanaal kan dan de hele berichtenopslag vullen, wat meer ruimte kost en de chatlijst en app merkbaar trager maakt. Doe dit alleen als je echt de volledige historie nodig hebt." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Zet dit aan en open het onderstaande adres in een browser op dezelfde Wi-Fi - geen app nodig. Het scherm van dit apparaat verschijnt live in de browser en je kunt tikken om het te bedienen." }, + { "Type a URL, then Go", "Typ een URL en tik Ga" }, + { "Type a message...", "Typ een bericht..." }, + { "Type a new 6-digit code · applies after a reboot", "Voer een nieuwe 6-cijferige code in · geldt na herstart" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Typ je netwerknaam — of schakel naar wifi in Instellingen om te scannen" }, + { "UI size (restart to apply)", "UI-grootte (herstart om toe te passen)" }, + { "UI size saved — restart to apply", "UI-grootte opgeslagen — herstart om toe te passen" }, + { "USB powered", "USB-gevoed" }, + { "Unblock", "Deblokkeren" }, + { "Unblocked", "Gedeblokkeerd" }, + { "Unfavorite it first", "Eerst uit favorieten halen" }, + { "Unlocking…", "Ontgrendelen…" }, + { "Unmute @", "Dempen op @" }, + { "Unmute msgs", "Berichten aan" }, + { "Unread %d", "Ongelezen %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Ongelezen %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Niet-ondersteunde WAV (16-bit PCM vereist)" }, + { "Update", "Bijwerken" }, + { "Update bin saved to SD", "Update-bin opgeslagen op SD" }, + { "Update complete.\nRebooting...", "Update voltooid.\nOpnieuw opstarten..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Werk handmatig bij op flasher.wadamesh.com\n(wifi-update is voorlopig gepauzeerd)" }, + { "Update via the Launcher", "Update via de Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Update via de Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Update via de Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Bijgewerkt - herstarten…" }, + { "Use", "Gebruik" }, + { "Username (optional)", "Gebruikersnaam (optioneel)" }, + { "Volume", "Volume" }, + { "W up · A left · D right · Z down · S select · Q back", "W omhoog · A links · D rechts · Z omlaag · S kies · Q terug" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Wachten op Wi-Fi..." }, + { "Welcome to WADAMESH", "Welkom bij WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Zolang dit aan staat kan iedereen op je Wi-Fi dit apparaat bekijken en bedienen. Gebruikt gewoon HTTP (alleen lokaal netwerk)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi & Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi is niet ingeschakeld in deze build." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi is niet beschikbaar in deze build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Wifi nodig om het terreinprofiel\nvoor dit pad op te halen.\nVerbind in Instellingen → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi niet verbonden" }, + { "Wi-Fi off", "Wi-Fi uit" }, + { "Wi-Fi on", "Wi-Fi aan" }, + { "Wi-Fi on, scanning…", "Wi-Fi aan, scannen…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi opgeslagen (radio uit)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi opgeslagen, opnieuw verbinden" }, + { "Yesterday", "Gisteren" }, + { "You can run setup later in Settings → Device", "Je kunt de installatie later uitvoeren in Instellingen → Apparaat" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Je locatie is onbekend.\nStel GPS / positie eerst in bij\nInstellingen → Profiel." }, + { "Your name", "Je naam" }, + { "Your own apps", "Je eigen apps" }, + { "Zero-hop", "Zero-hop" }, + { "Zero-hop advert sent", "Zero-hop advert verzonden" }, + { "Zoom: +/- buttons", "Zoom: +/- knoppen" }, + { "client connected", "client verbonden" }, + { "command", "opdracht" }, + { "contacts (%d):", "contacten (%d):" }, + { "diag boot...", "diag-boot..." }, + { "double-tap SPACE cycles through the ones you enable", "dubbeltik op SPATIE wisselt tussen de ingeschakelde" }, + { "drive the UI without the screen; keys still type in text fields", "bedien de UI zonder scherm; toetsen typen nog in tekstvelden" }, + { "e.g. Family", "bijv. Familie" }, + { "e.g. mesh", "bijv. mesh" }, + { "from", "van" }, + { "h to", "u tot" }, + { "hold Backspace to unlock", "houd Backspace vast om te ontgrendelen" }, + { "hold the d-pad to unlock", "houd de d-pad vast om te ontgrendelen" }, + { "hold the trackball to unlock", "houd de trackball vast om te ontgrendelen" }, + { "kHz", "kHz" }, + { "keep holding", "blijf vasthouden" }, + { "last wake: ", "laatst wakker: " }, + { "leave empty to generate", "leeg laten om te genereren" }, + { "lights the keyboard + wakes the screen on an incoming message", "verlicht het toetsenbord + wekt het scherm bij een inkomend bericht" }, + { "mesh link armed", "mesh link actief" }, + { "mesh busy", "mesh bezig" }, + { "min (0=off)", "min (0=uit)" }, + { "mkdir failed", "map maken mislukt" }, + { "n/a in this build", "n.v.t. in deze build" }, + { "now on channel %s", "nu op kanaal %s" }, + { "now talking to %s", "praat nu met %s" }, + { "off", "uit" }, + { "off = Enter adds a new line; tap Send to send", "uit = Enter voegt een regel toe; tik Verzenden om te versturen" }, + { "on", "aan" }, + { "peak --", "piek --" }, + { "pick accented letters as you type; off = plain typing", "kies letters met accenten tijdens het typen; uit = gewoon typen" }, + { "press Volume Down to unlock", "druk Volume Omlaag om te ontgrendelen" }, + { "push past a screen edge to scroll content", "duw voorbij een schermrand om te scrollen" }, + { "score %d", "score %d" }, + { "search", "zoeken" }, + { "tap for details", "tik voor details" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "tik op de taaltoets (bijv. EN) op het toetsenbord om de ingeschakelde te doorlopen" }, + { "tap to cancel", "tik om te annuleren" }, + { "tap to exit full screen", "tik om volledig scherm te verlaten" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "~17 dB versterker voor stille/afgelegen gebieden; uit in drukke plekken." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_de[] = { + { " (device behind)", " (Gerät geht nach)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d Abdeckungspunkte · %lu auf SD gespeichert#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: warte auf GPS-Fix…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d auf Karte" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d in der Nähe (%d Rpt, %d Comp)" }, + { "%u types · hops %u · manual %s", "%u Typen · Hops %u · manuell %s" }, + { "(RTC unset)", "(RTC nicht gesetzt)" }, + { "(device behind)", "(Gerät hinterher)" }, + { "(no default)", "(kein Standard)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 Byte (Legacy)\n2 Bytes\n3 Bytes" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nKein Limit" }, + { "12-hour clock", "12-Stunden-Uhr" }, + { "32 hex characters", "32 Hex-Zeichen" }, + { "32-hex secret. Anyone with this can read the channel.", "32-Hex-Geheimnis. Wer es hat, kann den Kanal lesen." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Erwähnungen" }, + { "@ mention sound", "Ton bei @-Erwähnung" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "AUTOMATISCHE ADVERTS" }, + { "About", "Über" }, + { "About the map", "Über die Karte" }, + { "Accent popups", "Akzent-Popups" }, + { "Accent popups: off", "Akzent-Popups: aus" }, + { "Accent popups: on", "Akzent-Popups: ein" }, + { "Ack", "Ack" }, + { "Active", "Aktiv" }, + { "Add", "Hinzufügen" }, + { "Add channel", "Kanal hinzufügen" }, + { "Add contact", "Kontakt hinzufügen" }, + { "Added", "Hinzugefügt" }, + { "Added to contacts", "Zu Kontakten hinzugefügt" }, + { "Added to favorites", "Zu Favoriten hinzugefügt" }, + { "Admin", "Verwaltung" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert fehlgeschlagen" }, + { "Advert location", "Advert-Standort" }, + { "Advert policy saved", "Advert-Richtlinie gespeichert" }, + { "Advert sent", "Advert gesendet" }, + { "All marked read", "Alle als gelesen" }, + { "Already exists", "Existiert bereits" }, + { "Already exists or table full.", "Existiert bereits oder Tabelle voll." }, + { "Already in contacts", "Bereits in Kontakten" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Startet nach einem Neustart immer mit der internen Antenne. Extern nur wählen, wenn eine Antenne an der Buchse steckt." }, + { "Analyzing terrain…", "Gelände wird analysiert…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Gelände wird analysiert…\n(Versuch %d von 3)" }, + { "Answer telemetry requests", "Telemetrieanfragen beantworten" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Jeder kann beitreten. Schlüssel aus dem Hashtag (Kleinbuchstaben)." }, + { "App drawer as home", "App-Drawer als Startseite" }, + { "App icon size", "App-Symbolgröße" }, + { "Applies after restart.", "Gilt nach Neustart." }, + { "Apply", "Anwenden" }, + { "Apply auto-poll", "Auto-Poll übernehmen" }, + { "Apply radio params", "Funkparameter anwenden" }, + { "Apps", "Apps" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Pfeile + Enter funktionieren immer. Diese Buchstaben sind extra — Zeile antippen, dann Taste drücken." }, + { "Auto advert", "Automatischer Advert" }, + { "Auto chat", "Auto-Chat" }, + { "Auto repeater", "Auto-Repeater" }, + { "Auto room", "Auto-Raum" }, + { "Auto sensor", "Auto-Sensor" }, + { "Auto-Join", "Auto-Beitritt" }, + { "Auto-add contacts", "Kontakte automatisch hinzufügen" }, + { "Auto-add saved", "Auto-Hinzufügen gespeichert" }, + { "Auto-add settings", "Auto-Hinzufügen-Einstellungen" }, + { "Auto-delete above hops", "Auto-Löschen über Hops" }, + { "Auto-delete oldest", "Älteste auto-löschen" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Älteste auto-löschen schafft Platz, wenn voll. Hops: 0 = alle behalten; über mehr Hops gehörte Nodes werden entfernt." }, + { "Auto-discover", "Auto-Erkennung" }, + { "Auto-discover off", "Auto-Erkennung aus" }, + { "Auto-discover on", "Auto-Erkennung an" }, + { "Auto-poll every", "Auto-Poll alle" }, + { "Auto-refresh off", "Auto-Aktualisierung aus" }, + { "Auto-refresh on", "Auto-Aktualisierung an" }, + { "Available", "Verfügbar" }, + { "BLE off", "BLE aus" }, + { "BLE on", "BLE ein" }, + { "BT", "BT" }, + { "Back", "Zurück" }, + { "Backups", "Backups" }, + { "Battery", "Akku" }, + { "Battery & power history", "Akku- & Energieverlauf" }, + { "Battery (V)", "Akku (V)" }, + { "Battery calibration reset to default", "Batteriekalibrierung zurückgesetzt" }, + { "Battery read too low — charge fully first", "Batteriewert zu niedrig — zuerst voll laden" }, + { "Battery saver (experimental)", "Energiesparmodus (experimentell)" }, + { "Battery — last 24h", "Akku — letzte 24h" }, + { "Battery:", "Batterie:" }, + { "Block", "Blockieren" }, + { "Block list full", "Blockierliste voll" }, + { "Blocked list", "Blockierliste" }, + { "Blocked users", "Blockierte Benutzer" }, + { "Blocked — their messages are hidden", "Blockiert — Nachrichten ausgeblendet" }, + { "Blocking unsupported", "Blockieren nicht unterstützt" }, + { "Blue battery Last 6 min", "Blau Akku Letzte 6 Min" }, + { "Blue battery Orange temp Cyan humidity", "Blau Akku Orange Temp. Cyan Feuchte" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth bereits aus" }, + { "Bluetooth already on", "Bluetooth bereits ein" }, + { "Bluetooth off", "Bluetooth aus" }, + { "Bluetooth on", "Bluetooth ein" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Bluetooth-Kopplung ist auf diesem Gerät nicht verfügbar.\n\nDie Werksfirmware des Funkchips unterstützt sie nicht.\n\nStattdessen die Handy-App über Wi-Fi koppeln: Gerät ins Netzwerk bringen und in der App per IP-Adresse hinzufügen (TCP, Port 5000) — zu finden unter Einstellungen > Netzwerk. USB geht auch." }, + { "Broker host / IP", "Broker-Host / IP" }, + { "Buffered receive (experimental)", "Gepufferter Empfang (experimentell)" }, + { "Built-in", "Integriert" }, + { "Built-in (default)", "Integriert (Standard)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Batterie kalibrieren (voll = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Kalibriert: 100%% = %u.%02u V (lang drücken zum Zurücksetzen)" }, + { "Can't block — not a contact", "Blockieren nicht möglich — kein Kontakt" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Bild kann nicht angezeigt werden\n(nur JPEG, <= 1024 px)" }, + { "Cancel", "Abbrechen" }, + { "Cancelled", "Abgebrochen" }, + { "Cannot open file", "Datei kann nicht geöffnet werden" }, + { "Catalog unavailable", "Katalog nicht verfügbar" }, + { "Centered on %s", "Zentriert auf %s" }, + { "Changing orientation - rebooting...", "Ausrichtung wird geändert - Neustart..." }, + { "Channel created", "Kanal erstellt" }, + { "Channel joined", "Kanal beigetreten" }, + { "Channel name", "Kanalname" }, + { "Channel not found", "Kanal nicht gefunden" }, + { "Channel removed", "Kanal entfernt" }, + { "Channel scope saved", "Kanalbereich gespeichert" }, + { "Channel settings", "Kanaleinstellungen" }, + { "Channel table is full", "Kanaltabelle ist voll" }, + { "Channel table is full.", "Die Kanaltabelle ist voll." }, + { "Channel-specific regions can be set in each channel's settings.", "Kanalspezifische Regionen lassen sich in den Einstellungen des jeweiligen Kanals festlegen." }, + { "Channels:", "Kanäle:" }, + { "Chat bubbles", "Sprechblasen" }, + { "Chat bubbles: plain", "Chat-Blasen: schlicht" }, + { "Chat history is NOT saving", "Chatverlauf wird NICHT gespeichert" }, + { "Chat history save FAILED", "Speichern des Chatverlaufs FEHLGESCHLAGEN" }, + { "Chat icon", "Chat-Symbol" }, + { "Chat icon reset to letters", "Chat-Symbol auf Buchstaben zurückgesetzt" }, + { "Chat icon set", "Chat-Symbol gesetzt" }, + { "Chat removed", "Chat entfernt" }, + { "Chat save fallback (failed tries)", "Chat-Speicher-Fallback (Fehlversuche)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Chats, Kontakte, Einstellungen und ein Mesh-Terminal - alles im Browser. Kein Neustart; das Gerät behält seinen normalen Bildschirm." }, + { "Choose .wav from files", ".wav aus Dateien wählen" }, + { "Choose your name", "Wählen Sie Ihren Namen" }, + { "Choose your region", "Wählen Sie Ihre Region" }, + { "Clear", "Löschen" }, + { "Clear battery history?", "Akkuverlauf löschen?" }, + { "Clear history", "Verlauf löschen" }, + { "Clear telemetry history for this node?", "Telemetrieverlauf dieses Nodes löschen?" }, + { "Client repeat", "Client-Wiederholung" }, + { "Clock synced", "Uhr synchronisiert" }, + { "Clock: 12-hour", "Uhr: 12-Stunden" }, + { "Clock: 24-hour", "Uhr: 24-Stunden" }, + { "Close", "Schließen" }, + { "Colourful chat bubbles", "Bunte Chat-Blasen" }, + { "Commands", "Befehle" }, + { "Community Preset", "Community-Voreinstellung" }, + { "Community preset (meshcomod web)", "Community-Vorgabe (meshcomod web)" }, + { "Compact messages", "Kompakte Nachrichten" }, + { "Compact messages (IRC style)", "Kompakte Nachrichten (IRC-Stil)" }, + { "Connect", "Verbinden" }, + { "Connect Wi-Fi to reload tiles", "WLAN verbinden, um Kacheln neu zu laden" }, + { "Connect to Wi-Fi", "Mit WLAN verbinden" }, + { "Connect to Wi-Fi first", "Zuerst mit Wi-Fi verbinden" }, + { "Connect to Wi-Fi first, then try again.", "Erst mit Wi-Fi verbinden, dann erneut versuchen." }, + { "Connect to Wi-Fi to get a browser address.", "Mit Wi-Fi verbinden, um eine Browser-Adresse zu erhalten." }, + { "Connected", "Verbunden" }, + { "Connected - a browser is viewing this screen.", "Verbunden - ein Browser zeigt diesen Bildschirm an." }, + { "Connecting...", "Verbinde..." }, + { "Connecting…", "Verbinde…" }, + { "Console not available on this build", "Konsole in diesem Build nicht verfügbar" }, + { "Contact added", "Kontakt hinzugefügt" }, + { "Contact deleted", "Kontakt gelöscht" }, + { "Contact gone", "Kontakt weg" }, + { "Contact missing", "Kontakt fehlt" }, + { "Contacts", "Kontakte" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Kontakte liegen im internen Flash - die SD-Karte wurde beim Start nicht eingebunden. Karte neu einsetzen und neu starten." }, + { "Contacts are on internal flash.", "Kontakte liegen im internen Flash." }, + { "Contacts are saved to the SD card.", "Kontakte werden auf der SD-Karte gespeichert." }, + { "Contacts full", "Kontakte voll" }, + { "Contacts:", "Kontakte:" }, + { "Control", "Steuerung" }, + { "Control this device from a browser", "Dieses Gerät im Browser steuern" }, + { "Copied %s", "%s kopiert" }, + { "Copied - Paste in a folder", "Kopiert - in einen Ordner einfügen" }, + { "Copy", "Kopieren" }, + { "Copy failed (no internal identity)", "Kopieren fehlgeschlagen (keine interne Identität)" }, + { "Copy internal data to SD", "Interne Daten auf SD kopieren" }, + { "Copy secret", "Geheimnis kopieren" }, + { "Copying internal data to SD...", "Interne Daten werden auf SD kopiert..." }, + { "Could not add", "Hinzufügen fehlgeschlagen" }, + { "Could not save the crash report", "Absturzbericht konnte nicht gespeichert werden" }, + { "Couldn't delete", "Löschen fehlgeschlagen" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Geländedaten nicht abrufbar.\nVerbindung und Höhenserver\nprüfen, dann erneut\nversuchen." }, + { "Couldn't save the name to storage", "Name konnte nicht gespeichert werden" }, + { "Couldn't send login", "Login konnte nicht gesendet werden" }, + { "Couldn't start the analyzer.\nTry again.", "Analyzer konnte nicht starten.\nErneut versuchen." }, + { "Crash export failed", "Crash-Export fehlgeschlagen" }, + { "Create", "Erstellen" }, + { "Create QR", "QR erstellen" }, + { "Create a private channel", "Privaten Kanal erstellen" }, + { "Create failed", "Erstellen fehlgeschlagen" }, + { "Create private channel", "Privaten Kanal erstellen" }, + { "Custom UTC offset (hours)", "Eigener UTC-Versatz (Stunden)" }, + { "Cut", "Ausschneiden" }, + { "Cut - Paste in a folder", "Ausgeschnitten - in einen Ordner einfügen" }, + { "DM sound", "DM-Ton" }, + { "DND", "DND" }, + { "Danger zone", "Gefahrenzone" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Daten -> SD-Karte bei Neustart\n(Karte muss eingelegt sein)" }, + { "Data -> internal on reboot", "Daten -> intern bei Neustart" }, + { "Delete", "Löschen" }, + { "Delete %d contact(s)?", "%d Kontakt(e) löschen?" }, + { "Delete chat", "Chat löschen" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Chat mit \"%s\" löschen?\nNachrichtenverlauf wird gelöscht." }, + { "Delete failed", "Löschen fehlgeschlagen" }, + { "Delete history", "Verlauf löschen" }, + { "Delete this backup file?\nThis cannot be undone.", "Diese Backup-Datei löschen?\nDies kann nicht rückgängig gemacht werden." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Gesamten Verlauf dieses Chats löschen?\nDer Chat selbst bleibt." }, + { "Deleted", "Gelöscht" }, + { "Deleted %d", "%d gelöscht" }, + { "Deleted %d messages", "%d Nachrichten gelöscht" }, + { "Deleting contacts", "Kontakte werden gelöscht" }, + { "Delivered", "Zugestellt" }, + { "Detailed sensors", "Detaillierte Sensoren" }, + { "Device clock differs from \"%s\" by %lu h%s", "Geräteuhr weicht von \"%s\" um %lu h ab%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Geräteuhr weicht von \"%s\" um %lu min ab%s" }, + { "Device name hidden", "Gerätename ausgeblendet" }, + { "Device name shown", "Gerätename sichtbar" }, + { "Device time:", "Gerätezeit:" }, + { "Diagnostics", "Diagnose" }, + { "Diagnostics are on the About page.", "Les diagnostics sont sur la page À propos." }, + { "Discovered", "Entdeckt" }, + { "Discovered settings", "Einstellungen entdeckte Nodes" }, + { "Display", "Anzeige" }, + { "Display name", "Anzeigename" }, + { "Distance in miles", "Entfernung in Meilen" }, + { "Distance: km", "Entfernung: km" }, + { "Distance: miles", "Entfernung: Meilen" }, + { "Do Not Disturb", "Nicht stören" }, + { "Do Not Disturb off", "Nicht stören aus" }, + { "Do Not Disturb on", "Nicht stören ein" }, + { "Download failed", "Download fehlgeschlagen" }, + { "Download failed (network?)", "Download fehlgeschlagen (Netzwerk?)" }, + { "Download mode", "Download-Modus" }, + { "Download mode… reflash over USB", "Download-Modus… per USB neu flashen" }, + { "Downloaded - tap Use to switch", "Heruntergeladen - zum Wechseln auf Nutzen tippen" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Kartenkacheln werden geladen…\n\nWi-Fi verbunden halten.\nKacheln erscheinen beim Eintreffen\nund werden für offline gespeichert." }, + { "Downloading…", "Herunterladen…" }, + { "Duty meter", "Duty-Anzeige" }, + { "Edge scroll", "Randscrollen" }, + { "Edit in Settings → Quick replies", "Bearbeiten in Einstellungen → Schnellantworten" }, + { "Editing", "Bearbeiten" }, + { "Empty = plaintext to a private broker", "Leer = Klartext an privaten Broker" }, + { "Empty file", "Leere Datei" }, + { "Enable Bluetooth", "Bluetooth aktivieren" }, + { "Enable MQTT bridge", "MQTT-Brücke aktivieren" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Nur aktivieren, wenn dein Repeater nur eine Region neu flutet. Sonst aus lassen — es kann regionsübergreifende Logins/DMs blockieren." }, + { "Enable web access", "Webzugriff aktivieren" }, + { "Encryption key (optional)", "Verschlüsselungsschlüssel (optional)" }, + { "End time", "Endzeit" }, + { "Enter SSID first", "Zuerst SSID eingeben" }, + { "Enter a name", "Namen eingeben" }, + { "Enter a network name", "Netzwerknamen eingeben" }, + { "Enter adds a new line", "Enter fügt neue Zeile ein" }, + { "Enter exactly 32 hex characters.", "Genau 32 Hex-Zeichen eingeben." }, + { "Enter key sends message", "Enter-Taste sendet Nachricht" }, + { "Enter sends messages", "Enter sendet Nachrichten" }, + { "Enter the 32-hex secret shared by the channel creator.", "Geben Sie das 32-Hex-Geheimnis des Erstellers ein." }, + { "Entering remote mode - rebooting...", "Fernmodus wird gestartet - Neustart..." }, + { "Erase all", "Alles löschen" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Löscht Identität, Kontakte, Kanäle, Nachrichten, WLAN und alle Einstellungen, dann Neustart." }, + { "Erasing everything…", "Alles wird gelöscht…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Jeder Knoten muss übereinstimmen. Sie können dies später in den Einstellungen ändern." }, + { "Expansion Kit", "Erweiterungskit" }, + { "Experimental", "Experimentell" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Experimentell – hat bekannte Probleme. Aus = weicher Mauszeiger." }, + { "Experimental saved", "Experimentell gespeichert" }, + { "Export failed (can't open file)", "Export fehlgeschlagen (Datei nicht zu öffnen)" }, + { "Export new backup", "Neues Backup" }, + { "Export settings", "Einstellungen exportieren" }, + { "Exporting settings…", "Einstellungen werden exportiert…" }, + { "External antenna selected", "Externe Antenne gewählt" }, + { "Factory reset", "Werksreset" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Werksreset?\n\nLöscht Identität, Kontakte, Kanäle, Nachrichten, WLAN und alle Einstellungen. Unwiderruflich." }, + { "Failed to save channel.", "Kanal konnte nicht gespeichert werden." }, + { "Favorites full (max %d)", "Favoriten voll (max %d)" }, + { "Favorites unsupported", "Favoriten nicht unterstützt" }, + { "Fetching the app list from firmware.wadamesh.com", "App-Liste wird von firmware.wadamesh.com geladen" }, + { "Files", "Dateien" }, + { "Find", "Suchen" }, + { "Finish", "Fertig" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nUpdate-Server nicht erreichbar" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Blinken bei neuer Nachricht" }, + { "Flood", "Flood" }, + { "Flood advert sent", "Flood-Advert gesendet" }, + { "Flood every", "Flood alle" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: über das Mesh weitergeleitet (Multi-Hop).\nZero-Hop: nur Nachbarn (keine Weiterleitung)." }, + { "Folder created", "Ordner erstellt" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Für Launcher-Installationen: speichert die neueste Firmware des gewählten Kanals auf der SD-Karte (BINS-Ordner)." }, + { "Forget network", "Netzwerk vergessen" }, + { "Format", "Formatieren" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "SD als MESHCOMOD (FAT32) formatieren?\nAlle Daten auf der Karte werden gelöscht." }, + { "Format failed (no card / SD error)", "Formatieren fehlgeschlagen (keine Karte / SD-Fehler)" }, + { "Frequency / bandwidth", "Frequenz / Bandbreite" }, + { "Full", "Voll" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Summer %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Summer %s\n%s" }, + { "GPS off", "GPS aus" }, + { "GPS on", "GPS ein" }, + { "GPS serial baud", "GPS-Baudrate" }, + { "GPS unset", "GPS nicht gesetzt" }, + { "GPS: acquiring...", "GPS: suche..." }, + { "GPS: fix", "GPS: Fix" }, + { "GPS: off", "GPS: aus" }, + { "GPS: searching", "GPS: Suche" }, + { "Game over — score %d (tap to restart)", "Game over — Punkte %d (tippen für Neustart)" }, + { "Get", "Laden" }, + { "Get Started", "Loslegen" }, + { "Get test builds (beta)", "Test-Builds erhalten (Beta)" }, + { "Go", "Los" }, + { "Green pressure Gray altitude", "Grün Druck Grau Höhe" }, + { "Hashtag name", "Hashtag-Name" }, + { "Hidden - turn it back on in the Lua Store", "Ausgeblendet - im Lua Store wieder einschalten" }, + { "Hidden network", "Verstecktes Netzwerk" }, + { "Hide", "Ausblenden" }, + { "Hide device name", "Gerätenamen verbergen" }, + { "Hide this app from the drawer?", "Diese App aus dem Menü ausblenden?" }, + { "High-gain receiver (FEM LNA)", "Hochverstärkungs-Empfänger (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Hochgradig experimentell. Dies leitet Text, Absendername und Zeitstempel jeder Nachricht, die dein Knoten empfängt, an einen MQTT-Broker weiter, wo jeder, der den Broker lesen kann, sie lesen kann. Direktnachrichten sind private Nachrichten anderer, die einer Weitergabe nie zugestimmt haben. Nutze einen Broker, den du selbst kontrollierst, setze unten einen Verschlüsselungsschlüssel und niemals einen öffentlichen Broker." }, + { "History limit off", "Verlaufslimit aus" }, + { "Hotkey saved", "Hotkey gespeichert" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Wie Sie für andere Knoten erscheinen. Später in den Einstellungen änderbar." }, + { "Humidity", "Luftfeuchtigkeit" }, + { "I accept the privacy risk", "Ich akzeptiere das Datenschutzrisiko" }, + { "Identity (public key)", "Identität (öffentl. Schlüssel)" }, + { "Idle power-save", "Energiesparen bei Inaktivität" }, + { "Idle sleep disabled", "Ruheschlaf deaktiviert" }, + { "Idle sleep enabled", "Ruheschlaf aktiviert" }, + { "Image too large (>4 MB)", "Bild zu groß (>4 MB)" }, + { "Import", "Importieren" }, + { "Import backup", "Backup importieren" }, + { "Import failed (bad/unreadable JSON)", "Import fehlgeschlagen (ungültiges JSON)" }, + { "Import settings", "Einstellungen importieren" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Dieses Backup importieren?\nErsetzt Identität,\nKanäle & Kontakte,\ndann Neustart." }, + { "Import: storage unavailable", "Import: Speicher nicht verfügbar" }, + { "Importing settings…", "Einstellungen werden importiert…" }, + { "Inactive", "Inaktiv" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Emoji / Symbol einfügen" }, + { "Install", "Installieren" }, + { "Install a previous version", "Vorherige Version installieren" }, + { "Install an earlier version", "Frühere Version installieren" }, + { "Install failed (network?)", "Installation fehlgeschlagen (Netzwerk?)" }, + { "Install update", "Update installieren" }, + { "Installed", "Installiert" }, + { "Installing…", "Installieren…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Intern (on-board)\nExtern (MMCX)\nAuto (Altmodus, pro Sendung)" }, + { "Internal has no folders", "Intern hat keine Ordner" }, + { "Internal storage %s / %s", "Interner Speicher %s / %s" }, + { "Invalid lat/lon", "Ungültige Lat/Lon" }, + { "Invalid max hops", "Ungültige max. Hops" }, + { "Invalid radio values", "Ungültige Funkwerte" }, + { "Join", "Beitreten" }, + { "Join a hashtag channel", "Hashtag-Kanal beitreten" }, + { "Join a private channel", "Privatem Kanal beitreten" }, + { "Join hashtag channel", "Hashtag-Kanal beitreten" }, + { "Join network", "Netzwerk beitreten" }, + { "Join private channel", "Privaten Kanal beitreten" }, + { "Join the public channel", "Öffentlichem Kanal beitreten" }, + { "Joined %.40s", "%.40s beigetreten" }, + { "Keep per chat (messages)", "Pro Chat behalten (Nachrichten)" }, + { "Key already in use", "Schlüssel bereits vergeben" }, + { "Keyboard", "Tastatur" }, + { "Keyboard backlight", "Tastaturbeleuchtung" }, + { "Keyboard light auto", "Tastaturlicht auto" }, + { "Keyboard light off", "Tastaturlicht aus" }, + { "Keyboard light on", "Tastaturlicht ein" }, + { "Keyboard nav: WASDZ on", "Tastaturnav.: WASDZ an" }, + { "Keyboard nav: off", "Tastaturnav.: aus" }, + { "Keyboard navigation", "Tastaturnavigation" }, + { "LOS → %s", "Sichtlinie → %s" }, + { "Landscape (desktop)", "Querformat (Desktop)" }, + { "Landscape set - applies when remote mode starts.", "Querformat gesetzt - gilt beim Start des Fernmodus." }, + { "Language", "Sprache" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Sprachkatalog nicht verfügbar - Wi-Fi prüfen, dann den Tab neu öffnen." }, + { "Language updated - restarting to apply it…", "Sprache aktualisiert - Neustart zum Anwenden…" }, + { "Languages", "Sprachen" }, + { "Latitude", "Breitengrad" }, + { "Leave empty if not required", "Leer lassen, wenn nicht nötig" }, + { "Leaving remote mode - rebooting...", "Fernmodus wird beendet - Neustart..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Richten wir dein Gerät ein.\n\nDu wählst einen Namen und deine LoRa-Region. Dauert etwa eine Minute." }, + { "Letters only", "Nur Buchstaben" }, + { "LoRa antenna (P4)", "LoRa-Antenne (P4)" }, + { "Loading catalog…", "Katalog wird geladen…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Kartenkacheln werden geladen…\n\nWi-Fi verbunden halten.\nKacheln erscheinen beim Eintreffen." }, + { "Loading map…", "Karte wird geladen…" }, + { "Loading the language catalog…", "Sprachkatalog wird geladen…" }, + { "Loading...", "Lädt..." }, + { "Local every", "Lokal alle" }, + { "Local sensors", "Lokale Sensoren" }, + { "Lock", "Sperren" }, + { "Lock screen", "Sperrbildschirm" }, + { "Lock screen wallpaper", "Sperrbildschirm-Hintergrund" }, + { "Lock text colour", "Sperrtext-Farbe" }, + { "Lock text colour set", "Sperrtext-Farbe gesetzt" }, + { "Lock wallpaper", "Sperr-Hintergrund" }, + { "Lock wallpaper set", "Sperr-Hintergrund gesetzt" }, + { "Lock when screen off", "Sperren bei Bildschirm aus" }, + { "Locking…", "Sperren…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Sperrt bei Bildschirm aus\n(Backspace halten zum Entsperren)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Sperrt bei Bildschirm aus\n(D-Pad halten zum Entsperren)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Sperrt bei Bildschirm aus\n(Trackball halten zum Entsperren)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Sperrt bei Bildschirm aus\n(Lautstärke leiser drücken zum Entsperren)" }, + { "Locks when screen off\n(press the button to unlock)", "Sperrt bei Bildschirm aus\n(Taste drücken zum Entsperren)" }, + { "Log in again", "Erneut anmelden" }, + { "Logging in again...", "Erneute Anmeldung..." }, + { "Logging in…", "Anmeldung…" }, + { "Login OK (perms %u)", "Anmeldung OK (Rechte %u)" }, + { "Login failed", "Anmeldung fehlgeschlagen" }, + { "Logs", "Protokolle" }, + { "Longitude", "Längengrad" }, + { "Lua Store", "Lua Store" }, + { "MHz", "MHz" }, + { "MQTT bridge", "MQTT-Brücke" }, + { "Map", "Karte" }, + { "Map options", "Kartenoptionen" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Kartenspeicherfehler.\n\nSD-Karte erkannt, aber der\nKachel-Cache wurde nicht eingebunden.\nNeustart zum Wiederholen." }, + { "Map storage error.\nReflash the tiles partition.", "Kartenspeicherfehler.\nTiles-Partition neu flashen." }, + { "Map tiles: microSD", "Kartenkacheln: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Kartenkacheln: microSD\n\n/maps/osm/z/x/y.png\n(oder /tiles/z/x/y.jpg)\n\nKarte erscheint, sobald eine Kachel\nfür dieses Gebiet gefunden wird." }, + { "Map tiles: server", "Kartenkacheln: Server" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Karte — noch kein Kachelpaket auf SPIFFS.\n\nLade ein Kachelpaket nach /tiles///.jpg mit dem Host-Generator hoch." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Karte — Standort in\nEinstellungen → Profil festlegen,\num die Karte hier zu zeigen." }, + { "Mark all chats and channels as read?", "Alle Chats und Kanäle als gelesen markieren?" }, + { "Mark as read", "Als gelesen markieren" }, + { "Mark read", "Als gelesen markieren" }, + { "Marked read", "Als gelesen markiert" }, + { "Max hops (0..64)", "Max. Hops (0..64)" }, + { "Max zoom for this pack", "Max. Zoom für dieses Paket" }, + { "Memory detail", "Speicherdetails" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Mesh-Gesundheit: ein Flood-Advert wird von jedem Repeater in Reichweite erneut gesendet, häufige Floods erhöhen also die Sendezeit für das ganze Netz. Halte sie selten (ein Tag oder mehr). Deine Nachbarn sehen dich weiterhin über Zero-Hop-Adverts und deine Antworten, also floode vor allem, wenn ferne Knoten dich wiederfinden müssen. Lass beide aus, um nur bei Tippen der Tasten oben zu adverten." }, + { "Message", "Nachricht" }, + { "Message LED", "Nachrichten-LED" }, + { "Message LED off", "Nachrichten-LED aus" }, + { "Message LED on", "Nachrichten-LED an" }, + { "Message deleted", "Nachricht gelöscht" }, + { "Message didn't get through.\nResend it?", "Nachricht kam nicht an.\nErneut senden?" }, + { "Message info", "Nachrichteninfo" }, + { "Message sound", "Nachrichtenton" }, + { "Min zoom for this pack", "Min. Zoom für dieses Paket" }, + { "Mode: BLE starting / low memory", "Modus: BLE startet / wenig Speicher" }, + { "Model:", "Modell:" }, + { "Multi ACKs", "Multi-ACKs" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-Ack %s · Wdh. %s · RX-Boost %s" }, + { "Multi-byte routing (path hash)", "Multibyte-Routing (Pfad-Hash)" }, + { "Mute @", "@ stumm" }, + { "Mute msgs", "Nachr. stumm" }, + { "Mute notification sound", "Benachrichtigungston stumm" }, + { "My position (no GPS fix)", "Meine Position (kein GPS-Fix)" }, + { "Name", "Name" }, + { "Name can't be empty.", "Name darf nicht leer sein." }, + { "Name fragment", "Namensfragment" }, + { "Name saved", "Name gespeichert" }, + { "Navigation keys", "Navigationstasten" }, + { "Navigation keys — tap a row, then press a key", "Navigationstasten — Zeile antippen, dann Taste drücken" }, + { "Nearby on map", "In der Nähe auf Karte" }, + { "Network name", "Netzwerkname" }, + { "Network name (SSID)", "Netzwerkname (SSID)" }, + { "New", "Neu" }, + { "New DM", "Neue DN" }, + { "New channel msg", "Neue Kanalnachricht" }, + { "New contact", "Neuer Kontakt" }, + { "New file", "Neue Datei" }, + { "New folder", "Neuer Ordner" }, + { "New game", "Neues Spiel" }, + { "New room msg", "Neue Raumnachricht" }, + { "Next", "Weiter" }, + { "Night mode (invert)", "Nachtmodus (invertieren)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Keine .json-Backups gefunden.\nZuerst eins exportieren oder\nmeshcore-backup.json auf die\nSD-Karte oder den Flash kopieren." }, + { "No @mentions yet", "Noch keine @Erwähnungen" }, + { "No Bluetooth on this device", "Kein Bluetooth auf diesem Gerät" }, + { "No DM key", "Kein DN-Schlüssel" }, + { "No GPS module on this device.", "Kein GPS-Modul auf diesem Gerät." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Keine JPEGs in /lock/ gefunden.\nBilder über den Dateimanager\noder eine SD-Karte hinzufügen." }, + { "No SD card", "Keine SD-Karte" }, + { "No SD card (or unreadable format)", "Keine SD-Karte (oder unlesbares Format)" }, + { "No backups yet. Tap Export new backup above to create one.", "Noch keine Backups. Tippe oben auf Neues Backup, um eines zu erstellen." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Noch kein Akkuverlauf.\n\nAlle 5 Minuten protokolliert." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Keine blockierten Benutzer.\n\nNachricht lange drücken und auf\nBlockieren tippen, um einen hinzuzufügen." }, + { "No contact for thread", "Kein Kontakt für Unterhaltung" }, + { "No contact to trace", "Kein Kontakt zum Verfolgen" }, + { "No contacts have shared\na GPS location yet.", "Noch keine Kontakte haben\neinen GPS-Standort geteilt." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Noch keine entdeckten Nodes.\n\nAlles über Funk Gehörte, das nicht in deinen Kontakten steht, erscheint hier. Wenn Auto-Hinzufügen aus ist, kannst du Nodes manuell zu deinen Kontakten hinzufügen." }, + { "No earlier versions yet", "Noch keine früheren Versionen" }, + { "No local expansion data", "Keine lokalen Erweiterungsdaten" }, + { "No location for this contact", "Kein Standort für diesen Kontakt" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Kein Kartenspeicher.\n\nSD-Karte einlegen, um WLAN-Kacheln\nzu cachen (oder neu flashen, um die\nTiles-Partition wiederherzustellen)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Hier keine Kartenkacheln.\n\nMit Wi-Fi verbinden (Einstellungen → Wi-Fi),\num dieses Gebiet zu laden." }, + { "No mapped repeaters in this route", "Keine kartierten Repeater auf dieser Route" }, + { "No networks found (2.4 GHz only)", "Keine Netzwerke gefunden (nur 2,4 GHz)" }, + { "No onboard GPS", "Kein integriertes GPS" }, + { "No other networks found", "Keine anderen Netzwerke gefunden" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Noch keine Position. Ein Kaltstart braucht freie Sicht zum Himmel und kann mehrere Minuten dauern." }, + { "No reply from %s", "Keine Antwort von %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Keine Antwort. Prüfe Passwort, Server\noder Geräteuhr (Gerät: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Hier keine gespeicherten Kacheln.\n\nMit Wi-Fi verbinden (Einstellungen → Wi-Fi),\num dieses Gebiet zu laden.\nGespeicherte Kacheln bleiben offline verfügbar." }, + { "No system time yet", "Noch keine Systemzeit" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Keine Telemetrie in diesem Fenster.\nFordere welche an oder erweitere unten den Bereich." }, + { "No tiles (non-ESP32)", "Keine Kacheln (kein ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Noch keine Version bekannt. Zuerst sind Wi-Fi und eine abgeschlossene Update-Prüfung nötig." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Node\nRegion\nRadio\nSignal\nKontakte\nKanäle\nAkku\nLaufzeit" }, + { "Node name", "Node-Name" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normal (100%)\nGroß (150%)\nRiesig (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Nicht genug freier Speicher für Bluetooth. Schalte zuerst Wi-Fi aus." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Nicht genug freier Speicher für Wi-Fi. Schalte zuerst Bluetooth aus." }, + { "Nothing selected", "Nichts ausgewählt" }, + { "Notification sound set", "Benachrichtigungston festgelegt" }, + { "Notify on new contact", "Bei neuem Kontakt benachrichtigen" }, + { "Off", "Aus" }, + { "Off\n1\n2\n3\n5\n8", "Aus\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Aus\n1 Tag\n2 Tage\n3 Tage\n7 Tage" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Aus\n60 Min\n90 Min\n2 Std\n3 Std\n4 Std" }, + { "Offline", "Offline" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Ältere Nachrichten werden darüber hinaus verworfen. Ein sehr großer oder unbegrenzter Verlauf macht die Chatliste langsamer." }, + { "On - open the address above in a phone browser.", "Ein - obige Adresse im Handy-Browser öffnen." }, + { "On boot", "Beim Start" }, + { "On map", "Auf Karte" }, + { "Open Advertise app", "Advertise-App öffnen" }, + { "Open a .wav, then tap 'Set as notification sound'", "Öffne eine .wav, dann auf 'Als Benachrichtigungston festlegen' tippen" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Öffne ein JPEG, dann auf 'Als Hintergrund festlegen' tippen" }, + { "Open chat", "Chat öffnen" }, + { "Open in a browser (same Wi-Fi):", "Im Browser öffnen (gleiches Wi-Fi):" }, + { "Open in web", "Im Web öffnen" }, + { "Open mesh console", "Mesh-Konsole öffnen" }, + { "Optional — type your network, or leave blank to skip.", "Optional — Netzwerk eingeben oder leer lassen." }, + { "Orange temp Cyan humidity", "Orange Temp Cyan Feuchte" }, + { "Orientation (tap to rotate, reboots)", "Ausrichtung (tippen zum Drehen, Neustart)" }, + { "Out of memory", "Kein Speicher mehr" }, + { "Overwrite oldest", "Älteste überschreiben" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Einstellungen und Identität der SD-Karte\nmit den internen Kopien überschreiben\nund dann neu starten?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG wird hier nicht unterstützt\nVerwenden Sie ein JPEG" }, + { "Pairing code", "Kopplungscode" }, + { "Pairing code saved — reboot to apply", "Kopplungscode gespeichert — Neustart zum Anwenden" }, + { "Pairing code: %06lu", "Kopplungscode: %06lu" }, + { "Pairing code: n/a", "Kopplungscode: n. v." }, + { "Password (empty = open)", "Passwort (leer = offen)" }, + { "Password (empty = skip Wi-Fi)", "Passwort (leer = WLAN überspringen)" }, + { "Password (optional)", "Passwort (optional)" }, + { "Password too long", "Passwort zu lang" }, + { "Paste", "Einfügen" }, + { "Paste failed", "Einfügen fehlgeschlagen" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Fügen Sie den 64-Hex-Schlüssel und einen Namen ein. Nützlich, um jemandem zu schreiben, bevor sein Advert eintraf." }, + { "Pasted", "Eingefügt" }, + { "Path hash: %u byte%s", "Pfad-Hash: %u Byte%s" }, + { "Path reset", "Pfad zurückgesetzt" }, + { "Path reset failed", "Pfad-Reset fehlgeschlagen" }, + { "Paused — score %d", "Pausiert — Punkte %d" }, + { "Per-transmit switching on", "Pro-Sendung-Umschaltung ein" }, + { "Pick colour", "Farbe wählen" }, + { "Ping", "Ping" }, + { "Ping failed", "Ping fehlgeschlagen" }, + { "Pinged (direct) — waiting…", "Ping (direkt) — warte…" }, + { "Pinged (flood) — waiting…", "Ping (Flood) — warte…" }, + { "Play", "Abspielen" }, + { "Poll (min)", "Abfrage (Min)" }, + { "Poll every", "Abfrage alle" }, + { "Poll every %d min", "Abfrage alle %d Min" }, + { "Port", "Port" }, + { "Portrait set - applies when remote mode starts.", "Hochformat gesetzt - gilt beim Start des Fernmodus." }, + { "Position saved", "Position gespeichert" }, + { "Power", "Ein/Aus" }, + { "Power off", "Ausschalten" }, + { "Powering off… click trackball to wake", "Schaltet aus… Trackball klicken zum Aufwecken" }, + { "Press a key…", "Taste drücken…" }, + { "Probe now", "Jetzt messen" }, + { "Probing neighbours…", "Nachbarn werden geprüft…" }, + { "Profile", "Profil" }, + { "Pubkey must be 64 hex chars.", "Pubkey muss 64 Hex-Zeichen haben." }, + { "Public channel ready", "Öffentl. Kanal bereit" }, + { "Public key (64 hex chars)", "Öffentl. Schlüssel (64 Hex)" }, + { "Public key:", "Öffentl. Schlüssel:" }, + { "Publish channel messages", "Kanalnachrichten veröffentlichen" }, + { "Publish direct messages", "Direktnachrichten veröffentlichen" }, + { "Purge", "Löschen" }, + { "Purge all discovered nodes?", "Alle entdeckten Nodes löschen?" }, + { "Quick replies", "Schnellantworten" }, + { "Quick reply", "Schnellantwort" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d Einträge · Raw %d Einträge" }, + { "RX boosted gain", "RX verstärkte Verstärkung" }, + { "RX log", "RX-Protokoll" }, + { "Radio & Mesh", "Funk & Mesh" }, + { "Radio + region set", "Funk + Region gesetzt" }, + { "Radio applied", "Funk angewendet" }, + { "Radio off", "Funk aus" }, + { "Radio: off", "Funk: aus" }, + { "Range test", "Reichweitentest" }, + { "RangeTest failed", "RangeTest fehlgeschlagen" }, + { "RangeTest sent (direct)", "RangeTest gesendet (direkt)" }, + { "RangeTest sent (flood)", "RangeTest gesendet (Flood)" }, + { "Raw log", "Roh-Protokoll" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Liest Pakete in einer Hintergrundaufgabe, damit ein ausgelasteter Bildschirm sie nicht verliert." }, + { "Reboot", "Neustart" }, + { "Reboot device", "Gerät neu starten" }, + { "Rebooting...", "Neustart..." }, + { "Rebooting…", "Neustart…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Nicht veröffentlichte Test-Firmware empfangen — neuere Funktionen, aber weniger getestet. Update-Prüfung und Update installieren folgen beide dem Beta-Kanal." }, + { "Recently heard", "Kürzlich gehört" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "SD als MESHCOMOD (FAT32) neu formatieren?\nALLE Daten auf der Karte werden gelöscht." }, + { "Region & scope", "Region & Reichweite" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Regionsbereich (#tag) für diesen Kanal.\nLeer = Standardbereich verwenden." }, + { "Region scope (#tag), blank = default.", "Regionsbereich (#tag), leer = Standard." }, + { "Region scope (#tag, blank = none)", "Regionsbereich (#tag, leer = keiner)" }, + { "Remember password", "Passwort merken" }, + { "Remote UI", "Fern-UI" }, + { "Remote UI (on)", "Fern-UI (ein)" }, + { "Remote access", "Fernzugriff" }, + { "Remote terminal", "Fern-Terminal" }, + { "Remote terminal (recommended)", "Fern-Terminal (empfohlen)" }, + { "Remote terminal off", "Fern-Terminal aus" }, + { "Remove", "Entfernen" }, + { "Remove %s?", "%s entfernen?" }, + { "Remove channel", "Kanal entfernen" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Kanal \"%s\" entfernen?\nNur von diesem Gerät." }, + { "Removed", "Entfernt" }, + { "Removed from favorites", "Aus Favoriten entfernt" }, + { "Rename", "Umbenennen" }, + { "Rename failed", "Umbenennen fehlgeschlagen" }, + { "Renamed", "Umbenannt" }, + { "Replay", "Wiedergeben" }, + { "Replay route on map", "Route auf Karte abspielen" }, + { "Replaying route…", "Route wird abgespielt…" }, + { "Resend", "Erneut senden" }, + { "Resend failed", "Erneut senden fehlgeschlagen" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Sendet eine Nachricht erneut, bis ein Repeater sie zurückspiegelt oder der Empfänger bestätigt. Ausschalten für einmaliges Senden." }, + { "Reset", "Zurücksetzen" }, + { "Reset path", "Pfad zurücksetzen" }, + { "Restarting to apply the language…", "Neustart, um die Sprache anzuwenden…" }, + { "Retry sends until heard", "Erneut senden, bis gehört" }, + { "Reverse scrollball", "Scrollball umkehren" }, + { "Roll to highlight • click to insert", "Rollen zum Hervorheben • Klick zum Einfügen" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Der Raum ist für dich schreibgeschützt.\nMit dem Raumpasswort beitreten, um zu posten." }, + { "Rotating - reconnecting...", "Drehen - neu verbinden..." }, + { "Rotating… rebooting", "Drehen… Neustart" }, + { "Run setup again", "Setup erneut ausführen" }, + { "SD card %s", "SD-Karte %s" }, + { "SD card %s (hold: format)", "SD-Karte %s (halten: formatieren)" }, + { "SD card (tap to mount)", "SD-Karte (zum Einbinden tippen)" }, + { "SD card inserted", "SD-Karte eingelegt" }, + { "SD card lost - reinsert to recover", "SD-Karte verloren - neu einstecken" }, + { "SD card remounted", "SD-Karte neu eingebunden" }, + { "SD card removed", "SD-Karte entfernt" }, + { "SD download failed: %s", "SD-Download fehlgeschlagen: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formatiert - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB belegt" }, + { "SSID set — enter password, then Save", "SSID gesetzt — Passwort eingeben, dann Speichern" }, + { "SSID too long", "SSID zu lang" }, + { "Sample text", "Beispieltext" }, + { "Save", "Speichern" }, + { "Save & restart", "Speichern & neu starten" }, + { "Save / turn on", "Speichern / einschalten" }, + { "Save auto-add", "Auto-Hinzufügen speichern" }, + { "Save experimental", "Experimentell speichern" }, + { "Save failed", "Speichern fehlgeschlagen" }, + { "Save name", "Namen speichern" }, + { "Save policy", "Richtlinie speichern" }, + { "Save position", "Position speichern" }, + { "Save quick replies", "Schnellantworten speichern" }, + { "Save report", "Bericht speichern" }, + { "Save update bin to SD", "Update-Datei auf SD speichern" }, + { "Saved", "Gespeichert" }, + { "Saved backups", "Gespeicherte Backups" }, + { "Saved network", "Gespeichertes Netzwerk" }, + { "Saved profiles", "Gespeicherte Profile" }, + { "Saved to slot %d", "In Slot %d gespeichert" }, + { "Saved — rebooting", "Gespeichert — Neustart" }, + { "Saved — reconnecting…", "Gespeichert — verbinde neu…" }, + { "Saved: %s\nFlash it from the Launcher.", "Gespeichert: %s\nFlashe es über den Launcher." }, + { "Saving to SD… %d%%", "Speichern auf SD… %d%%" }, + { "Saving to SD… 0%", "Speichern auf SD… 0%" }, + { "Scan to open on phone", "Scannen, um am Handy zu öffnen" }, + { "Scanning…", "Suche…" }, + { "Scope direct msgs to region", "Direktnachrichten auf Region begrenzen" }, + { "Screen locked", "Bildschirm gesperrt" }, + { "Screen timeout (s, 0 = never)", "Bildschirm-Timeout (s, 0 = nie)" }, + { "Screen timeout (s, 0 = never, min 10)", "Bildschirm-Timeout (s, 0 = nie, min 10)" }, + { "Screen timeout: %ds", "Bildschirm-Timeout: %ds" }, + { "Screen timeout: never", "Bildschirm-Timeout: nie" }, + { "Screen-off just dims", "Bildschirm-Aus dimmt nur" }, + { "Screenshot needs an SD card", "Screenshot benötigt eine SD-Karte" }, + { "Screenshot: low memory", "Screenshot: wenig Speicher" }, + { "Screenshot: no SD card", "Screenshot: keine SD-Karte" }, + { "Screenshot: write failed", "Screenshot: Schreiben fehlgeschlagen" }, + { "Scrollball: normal", "Scrollball: normal" }, + { "Scrollball: reversed", "Scrollball: umgekehrt" }, + { "Search", "Suchen" }, + { "Search contacts", "Kontakte suchen" }, + { "Secondary keyboards", "Sekundäre Tastaturen" }, + { "Secret (32 hex chars)", "Geheimnis (32 Hex)" }, + { "Secret (32 hex, optional)", "Geheimnis (32 Hex, optional)" }, + { "Secret must be 32 hex chars (or empty).", "Geheimnis muss 32 Hex-Zeichen sein (oder leer)." }, + { "Select a DM thread", "DN-Unterhaltung wählen" }, + { "Select all", "Alles auswählen" }, + { "Select network", "Netzwerk wählen" }, + { "Send advert", "Advert senden" }, + { "Send advert now", "Advert jetzt senden" }, + { "Send an advert now, or set how often you re-advertise.", "Jetzt einen Advert senden oder festlegen, wie oft du neu advertisest." }, + { "Send failed", "Senden fehlgeschlagen" }, + { "Sender blocked", "Absender blockiert" }, + { "Sensors tab: off (restart to apply)", "Sensoren-Tab: aus (Neustart zum Anwenden)" }, + { "Sensors tab: on (restart to apply)", "Sensoren-Tab: an (Neustart zum Anwenden)" }, + { "Sent", "Gesendet" }, + { "Set", "Setzen" }, + { "Set an SSID first", "Zuerst SSID festlegen" }, + { "Set as notification sound", "Als Benachrichtigungston festlegen" }, + { "Set as wallpaper", "Als Hintergrundbild festlegen" }, + { "Set your location first", "Zuerst Standort festlegen" }, + { "Settings", "Einstellungen" }, + { "Setup complete", "Einrichtung abgeschlossen" }, + { "Share QR", "QR teilen" }, + { "Share channel", "Kanal teilen" }, + { "Share location in advert", "Standort im Advert teilen" }, + { "Share secret", "Geheimnis teilen" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Teilen Sie das 32-Zeichen-Geheimnis, damit andere beitreten. Leer lassen für ein zufälliges." }, + { "Share: %s", "Teilen: %s" }, + { "Show", "Anzeigen" }, + { "Show Sensors tab", "Sensoren-Tab anzeigen" }, + { "Show in the app drawer", "Im App-Menü anzeigen" }, + { "Show link lines", "Verbindungslinien zeigen" }, + { "Show menu-bar letters", "Menüleisten-Buchstaben zeigen" }, + { "Show on chart", "Im Diagramm zeigen" }, + { "Show on map", "Auf Karte zeigen" }, + { "Sightline", "Sichtlinie" }, + { "Signal & traffic", "Signal & Verkehr" }, + { "Signal probe", "Signalmessung" }, + { "Skip", "Überspringen" }, + { "Sleep ready", "Bereit zum Schlafen" }, + { "Slot %d cleared", "Slot %d gelöscht" }, + { "Slot empty", "Slot leer" }, + { "Small\nMedium\nLarge", "Klein\nMittel\nGroß" }, + { "Snake — swipe or roll the trackball", "Snake — wischen oder Trackball rollen" }, + { "Sort", "Sortieren" }, + { "Sound", "Ton" }, + { "Sound off", "Ton aus" }, + { "Sound on", "Ton ein" }, + { "Sound: %s", "Ton: %s" }, + { "Start time", "Startzeit" }, + { "Status", "Status" }, + { "Step 1 of 3", "Schritt 1 von 3" }, + { "Step 2 of 3", "Schritt 2 von 3" }, + { "Step 3 of 3", "Schritt 3 von 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Vorheriger Pfad wird noch\nanalysiert… gleich erneut versuchen." }, + { "Stop", "Stopp" }, + { "Storage", "Speicher" }, + { "Store data on SD (reboot)", "Daten auf SD speichern (Neustart)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Überträgt den Bildschirm als Livebild, das per Tippen gesteuert wird. Schwerer; das Panel zeigt einen Platzhalter. Umschalten startet das Gerät neu." }, + { "Switch", "Wechseln" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Auf die externe Antenne wechseln?\n\nErst sicherstellen, dass wirklich eine Antenne an der Buchse steckt. Senden ohne Antenne kann das Funkmodul beschädigen.\n\nFällt bei jedem Neustart auf die interne Antenne zurück." }, + { "Sync clock from system", "Uhr synchronisieren" }, + { "System", "System" }, + { "System info", "Systeminfo" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS-Clients %d GPS %s Summer %s" }, + { "TCP off", "TCP aus" }, + { "TCP on", "TCP ein" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Tab-Tasten — Zeile tippen, dann Taste drücken" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Zum Wechseln auf Nutzen tippen - das Gerät startet neu. Sprachdateien liegen in /lang auf dem Speicher; bearbeiten oder eigene hinzufügen." }, + { "Tap a language; the device reboots to apply.", "Sprache antippen; Gerät startet neu." }, + { "Taste the rainbow!", "Schmecke den Regenbogen!" }, + { "Telemetry", "Telemetrie" }, + { "Telemetry req (direct)…", "Telemetrie-Anfrage (direkt)…" }, + { "Telemetry req (flood)…", "Telemetrie-Anfrage (Flood)…" }, + { "Telemetry req failed", "Telemetrie-Anfrage fehlgeschlagen" }, + { "Telemetry requests allowed", "Telemetrie-Anfragen erlaubt" }, + { "Telemetry requests off", "Telemetrie-Anfragen aus" }, + { "Telemetry req…", "Telemetrie-Anfr…" }, + { "Telemetry settings", "Telemetrie-Einstellungen" }, + { "Temperature", "Temperatur" }, + { "Test builds: off", "Test-Builds: aus" }, + { "Test builds: on", "Test-Builds: an" }, + { "Theme", "Thema" }, + { "Theme colour", "Themenfarbe" }, + { "Then pick a mode:", "Dann einen Modus wählen:" }, + { "This contact hasn't shared\na GPS position.", "Dieser Kontakt hat keine\nGPS-Position geteilt." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Dieses Gerät kann Wi-Fi und Bluetooth gleichzeitig als eigenständiges Funkgerät und Telefon-Begleiter (MeshCore-App) betreiben.\n\nBeides gleichzeitig braucht mehr RAM, aktiviere also nur, was du brauchst.\n\nJederzeit in den Einstellungen einrichtbar." }, + { "Throttles the CPU when idle to save power", "Drosselt die CPU im Leerlauf zum Stromsparen" }, + { "Tile reload needs Wi-Fi build", "Kachel-Neuladen braucht WLAN-Build" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Kacheln gelöscht — Wi-Fi neu verbinden zum Neuladen" }, + { "Tiles from SD card", "Kacheln von SD-Karte" }, + { "Time %s", "Zeit %s" }, + { "Time offset (vs automatic)", "Zeitversatz (vs. automatisch)" }, + { "Time offset: %+d h", "Zeitversatz: %+d h" }, + { "Time range (hours ago)", "Zeitbereich (Stunden her)" }, + { "Time zone", "Zeitzone" }, + { "Time zone: %s", "Zeitzone: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Tipp: Nach der Einrichtung in Einstellungen → Netzwerk scannen." }, + { "Today", "Heute" }, + { "Toggle GPS", "GPS umschalten" }, + { "Too large to edit (>8 KB)", "Zu groß zum Bearbeiten (>8 KB)" }, + { "Topographic map", "Topografische Karte" }, + { "Trace", "Verfolgen" }, + { "Trace SNR", "SNR verfolgen" }, + { "Trace failed", "Trace fehlgeschlagen" }, + { "Trace route", "Route verfolgen" }, + { "Trace sent…", "Trace gesendet…" }, + { "Tracing route…", "Route wird verfolgt…" }, + { "Trackball navigates UI", "Trackball steuert UI" }, + { "Trackball: cursor", "Trackball: Cursor" }, + { "Trackball: navigate UI", "Trackball: UI steuern" }, + { "Turn Wi-Fi on first", "Zuerst Wi-Fi einschalten" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Wi-Fi einschalten, dann aktualisieren. Installierte Apps funktionieren weiter." }, + { "Turn off", "Ausschalten" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Altes Pro-Sendung-Umschalten aktivieren?\n\nDiagnosemodus, nur zum Vergleich. Sendet über die interne Antenne und hört auf der externen - das ausgehende Signal ist viel schwächer als das eingehende.\n\nFällt bei jedem Neustart auf die interne Antenne zurück." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Verlaufslimit ausschalten?\n\nEin belebter Kanal kann dann den ganzen Nachrichtenspeicher füllen - das kostet Platz und macht Chatliste und App spürbar langsamer. Nur tun, wenn der volle Verlauf wirklich nötig ist." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Einschalten und die Adresse unten in einem Browser im gleichen Wi-Fi öffnen - keine App nötig. Der Bildschirm dieses Geräts erscheint live im Browser und lässt sich per Tippen steuern." }, + { "Type a URL, then Go", "URL eingeben, dann Los" }, + { "Type a message...", "Nachricht eingeben..." }, + { "Type a new 6-digit code · applies after a reboot", "Neuen 6-stelligen Code eingeben · gilt nach Neustart" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Netzwerknamen eingeben — oder in Einstellungen auf WLAN wechseln zum Scannen" }, + { "UI size (restart to apply)", "UI-Größe (Neustart nötig)" }, + { "UI size saved — restart to apply", "UI-Größe gespeichert — Neustart zum Anwenden" }, + { "USB powered", "USB-versorgt" }, + { "Unblock", "Entsperren" }, + { "Unblocked", "Freigegeben" }, + { "Unfavorite it first", "Zuerst aus Favoriten entfernen" }, + { "Unlocking…", "Entsperren…" }, + { "Unmute @", "Stumm aus @" }, + { "Unmute msgs", "Nachrichten an" }, + { "Unread %d", "Ungelesen %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Ungelesen %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Nicht unterstütztes WAV (16-Bit PCM nötig)" }, + { "Update", "Update" }, + { "Update bin saved to SD", "Update-Bin auf SD gespeichert" }, + { "Update complete.\nRebooting...", "Update fertig.\nNeustart..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Manuell aktualisieren auf flasher.wadamesh.com\n(WLAN-Update ist vorerst pausiert)" }, + { "Update via the Launcher", "Update über den Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Update über den Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Update über den Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Aktualisiert - Neustart…" }, + { "Use", "Nutzen" }, + { "Username (optional)", "Benutzername (optional)" }, + { "Volume", "Lautstärke" }, + { "W up · A left · D right · Z down · S select · Q back", "W hoch · A links · D rechts · Z runter · S wählen · Q zurück" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Warten auf Wi-Fi..." }, + { "Welcome to WADAMESH", "Willkommen bei WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Solange dies aktiv ist, kann jeder im Wi-Fi dieses Gerät sehen und steuern. Nutzt einfaches HTTP (nur lokales Netz)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "WLAN & Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "WLAN ist in diesem Build nicht aktiviert." }, + { "Wi-Fi isn't available on this build.", "WLAN ist in diesem Build nicht verfügbar." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "WLAN nötig, um das Geländeprofil\nfür diesen Pfad zu laden.\nVerbinden in Einstellungen → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi nicht verbunden" }, + { "Wi-Fi off", "WLAN aus" }, + { "Wi-Fi on", "WLAN ein" }, + { "Wi-Fi on, scanning…", "Wi-Fi an, suche…" }, + { "Wi-Fi saved (radio off)", "WLAN gespeichert (Funk aus)" }, + { "Wi-Fi saved, reconnecting", "WLAN gespeichert, verbinde neu" }, + { "Yesterday", "Gestern" }, + { "You can run setup later in Settings → Device", "Sie können die Einrichtung später in Einstellungen → Gerät ausführen" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Ihr Standort ist unbekannt.\nGPS / Position zuerst in\nEinstellungen → Profil festlegen." }, + { "Your name", "Ihr Name" }, + { "Your own apps", "Eigene Apps" }, + { "Zero-hop", "Ohne Hop" }, + { "Zero-hop advert sent", "Zero-Hop-Advert gesendet" }, + { "Zoom: +/- buttons", "Zoom: +/- Tasten" }, + { "client connected", "Client verbunden" }, + { "command", "Befehl" }, + { "contacts (%d):", "Kontakte (%d):" }, + { "diag boot...", "Diag-Boot..." }, + { "double-tap SPACE cycles through the ones you enable", "Doppeltipp auf LEER wechselt die aktivierten" }, + { "drive the UI without the screen; keys still type in text fields", "UI ohne Bildschirm bedienen; Tasten tippen weiter in Textfelder" }, + { "e.g. Family", "z. B. Familie" }, + { "e.g. mesh", "z. B. mesh" }, + { "from", "von" }, + { "h to", "h bis" }, + { "hold Backspace to unlock", "Backspace halten zum Entsperren" }, + { "hold the d-pad to unlock", "D-Pad halten zum Entsperren" }, + { "hold the trackball to unlock", "Trackball halten zum Entsperren" }, + { "kHz", "kHz" }, + { "keep holding", "weiter halten" }, + { "last wake: ", "Letztes Wecken: " }, + { "leave empty to generate", "leer lassen zum Erzeugen" }, + { "lights the keyboard + wakes the screen on an incoming message", "beleuchtet die Tastatur + weckt den Bildschirm bei einer Nachricht" }, + { "mesh link armed", "Mesh-Link scharf" }, + { "mesh busy", "Mesh belegt" }, + { "min (0=off)", "Min (0=aus)" }, + { "mkdir failed", "Ordner anlegen fehlgeschlagen" }, + { "n/a in this build", "n. v. in diesem Build" }, + { "now on channel %s", "jetzt auf Kanal %s" }, + { "now talking to %s", "spricht jetzt mit %s" }, + { "off", "aus" }, + { "off = Enter adds a new line; tap Send to send", "aus = Enter fügt eine neue Zeile ein; auf Senden tippen" }, + { "on", "an" }, + { "peak --", "Spitze --" }, + { "pick accented letters as you type; off = plain typing", "Akzentbuchstaben beim Tippen wählen; aus = einfaches Tippen" }, + { "press Volume Down to unlock", "Lautstärke leiser drücken zum Entsperren" }, + { "push past a screen edge to scroll content", "über den Bildschirmrand schieben zum Scrollen" }, + { "score %d", "Punkte %d" }, + { "search", "Suche" }, + { "tap for details", "für Details tippen" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "Sprachtaste (z. B. EN) auf der Tastatur antippen, um die aktivierten zu wechseln" }, + { "tap to cancel", "zum Abbrechen tippen" }, + { "tap to exit full screen", "tippen zum Verlassen des Vollbilds" }, + { "zoom", "Zoom" }, + { "zoom %d", "Zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "~17 dB Verstärker für ruhige/abgelegene Gebiete; in lauten Zonen aus." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_fr[] = { + { " (device behind)", " (appareil en retard)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive : %d points de couverture · %lu enregistrés sur SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive : attente du point GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d sur la carte" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d à proximité (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u types · sauts %u · manuel %s" }, + { "(RTC unset)", "(RTC non réglée)" }, + { "(device behind)", "(appareil en retard)" }, + { "(no default)", "(aucun par défaut)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 octet (hérité)\n2 octets\n3 octets" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nSans limite" }, + { "12-hour clock", "Horloge 12 h" }, + { "32 hex characters", "32 caractères hex" }, + { "32-hex secret. Anyone with this can read the channel.", "Secret 32 hex. Quiconque l'a peut lire le canal." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Mentions" }, + { "@ mention sound", "Son des mentions @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ADVERTS AUTOMATIQUES" }, + { "About", "À propos" }, + { "About the map", "À propos de la carte" }, + { "Accent popups", "Fenêtres d'accents" }, + { "Accent popups: off", "Fenêtres d'accents : désactivé" }, + { "Accent popups: on", "Fenêtres d'accents : activé" }, + { "Ack", "Accusé" }, + { "Active", "Actif" }, + { "Add", "Ajouter" }, + { "Add channel", "Ajouter un canal" }, + { "Add contact", "Ajouter un contact" }, + { "Added", "Ajouté" }, + { "Added to contacts", "Ajouté aux contacts" }, + { "Added to favorites", "Ajouté aux favoris" }, + { "Admin", "Admin" }, + { "Advert", "Annonce" }, + { "Advert failed", "Échec de l'annonce" }, + { "Advert location", "Position de l'annonce" }, + { "Advert policy saved", "Règle d'annonce enregistrée" }, + { "Advert sent", "Annonce envoyée" }, + { "All marked read", "Tout marqué comme lu" }, + { "Already exists", "Existe déjà" }, + { "Already exists or table full.", "Existe déjà ou table pleine." }, + { "Already in contacts", "Déjà dans les contacts" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Redémarre toujours sur l'antenne embarquée. Ne choisissez Externe qu'avec une antenne branchée sur la prise externe." }, + { "Analyzing terrain…", "Analyse du terrain…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Analyse du terrain…\n(essai %d sur 3)" }, + { "Answer telemetry requests", "Répondre aux demandes de télémétrie" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Tout le monde peut rejoindre. Clé dérivée du hashtag (minuscules)." }, + { "App drawer as home", "Tiroir d'apps comme accueil" }, + { "App icon size", "Taille des icônes d'app" }, + { "Applies after restart.", "Appliqué après redémarrage." }, + { "Apply", "Appliquer" }, + { "Apply auto-poll", "Appliquer l'auto-poll" }, + { "Apply radio params", "Appliquer les paramètres radio" }, + { "Apps", "Applis" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Flèches + Entrée fonctionnent toujours. Ces lettres sont en plus — touchez une ligne, puis une touche." }, + { "Auto advert", "Annonce automatique" }, + { "Auto chat", "Chat auto" }, + { "Auto repeater", "Répéteur auto" }, + { "Auto room", "Salon auto" }, + { "Auto sensor", "Capteur auto" }, + { "Auto-Join", "Rejoindre auto" }, + { "Auto-add contacts", "Ajout auto de contacts" }, + { "Auto-add saved", "Ajout auto enregistré" }, + { "Auto-add settings", "Réglages d'ajout auto" }, + { "Auto-delete above hops", "Suppression auto au-delà des sauts" }, + { "Auto-delete oldest", "Suppression auto des plus anciens" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "La suppression auto des plus anciens libère de la place quand c'est plein. Sauts : 0 = tout garder ; les nœuds entendus via plus de sauts sont supprimés." }, + { "Auto-discover", "Découverte auto" }, + { "Auto-discover off", "Découverte auto désactivée" }, + { "Auto-discover on", "Découverte auto activée" }, + { "Auto-poll every", "Auto-poll toutes les" }, + { "Auto-refresh off", "Actualisation auto désactivée" }, + { "Auto-refresh on", "Actualisation auto activée" }, + { "Available", "Disponibles" }, + { "BLE off", "BLE désactivé" }, + { "BLE on", "BLE activé" }, + { "BT", "BT" }, + { "Back", "Retour" }, + { "Backups", "Sauvegardes" }, + { "Battery", "Batterie" }, + { "Battery & power history", "Historique batterie et alimentation" }, + { "Battery (V)", "Batterie (V)" }, + { "Battery calibration reset to default", "Étalonnage batterie réinitialisé" }, + { "Battery read too low — charge fully first", "Lecture batterie trop basse — chargez d'abord" }, + { "Battery saver (experimental)", "Économie de batterie (expérimental)" }, + { "Battery — last 24h", "Batterie — dernières 24h" }, + { "Battery:", "Batterie :" }, + { "Block", "Bloquer" }, + { "Block list full", "Liste de blocage pleine" }, + { "Blocked list", "Liste bloquée" }, + { "Blocked users", "Utilisateurs bloqués" }, + { "Blocked — their messages are hidden", "Bloqué — ses messages sont masqués" }, + { "Blocking unsupported", "Blocage non pris en charge" }, + { "Blue battery Last 6 min", "Bleu batterie 6 dernières min" }, + { "Blue battery Orange temp Cyan humidity", "Bleu batterie Orange temp. Cyan humidité" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth déjà désactivé" }, + { "Bluetooth already on", "Bluetooth déjà activé" }, + { "Bluetooth off", "Bluetooth désactivé" }, + { "Bluetooth on", "Bluetooth activé" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Le jumelage Bluetooth n'est pas disponible sur cet appareil.\n\nLe firmware d'usine de la puce radio ne le prend pas en charge.\n\nJumelez l'appli du téléphone via Wi-Fi : connectez l'appareil à votre réseau puis ajoutez-le dans l'appli par son adresse IP (TCP, port 5000) — visible sous Réglages > Réseau. L'USB fonctionne aussi." }, + { "Broker host / IP", "Hôte / IP du broker" }, + { "Buffered receive (experimental)", "Réception tamponnée (expérimental)" }, + { "Built-in", "Intégré" }, + { "Built-in (default)", "Intégré (par défaut)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Étalonner la batterie (plein = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Étalonné : 100%% = %u.%02u V (appui long pour réinitialiser)" }, + { "Can't block — not a contact", "Blocage impossible — pas un contact" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Impossible d'afficher l'image\n(JPEG uniquement, <= 1024 px)" }, + { "Cancel", "Annuler" }, + { "Cancelled", "Annulé" }, + { "Cannot open file", "Impossible d'ouvrir le fichier" }, + { "Catalog unavailable", "Catalogue indisponible" }, + { "Centered on %s", "Centré sur %s" }, + { "Changing orientation - rebooting...", "Changement d'orientation - redémarrage..." }, + { "Channel created", "Canal créé" }, + { "Channel joined", "Canal rejoint" }, + { "Channel name", "Nom du canal" }, + { "Channel not found", "Canal introuvable" }, + { "Channel removed", "Canal supprimé" }, + { "Channel scope saved", "Portée du canal enregistrée" }, + { "Channel settings", "Réglages du canal" }, + { "Channel table is full", "Table des canaux pleine" }, + { "Channel table is full.", "La table des canaux est pleine." }, + { "Channel-specific regions can be set in each channel's settings.", "Les régions propres à un canal se règlent dans les paramètres de chaque canal." }, + { "Channels:", "Canaux :" }, + { "Chat bubbles", "Bulles de discussion" }, + { "Chat bubbles: plain", "Bulles : simples" }, + { "Chat history is NOT saving", "L'historique du chat n'est PAS enregistré" }, + { "Chat history save FAILED", "Échec de l'enregistrement de l'historique" }, + { "Chat icon", "Icône de discussion" }, + { "Chat icon reset to letters", "Icône du chat remise en lettres" }, + { "Chat icon set", "Icône du chat définie" }, + { "Chat removed", "Discussion supprimée" }, + { "Chat save fallback (failed tries)", "Repli de sauvegarde du chat (échecs)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Discussions, contacts, réglages et un terminal mesh - tout dans le navigateur. Pas de redémarrage ; l'appareil garde son écran normal." }, + { "Choose .wav from files", "Choisir un .wav dans les fichiers" }, + { "Choose your name", "Choisissez votre nom" }, + { "Choose your region", "Choisissez votre région" }, + { "Clear", "Effacer" }, + { "Clear battery history?", "Effacer l'historique batterie ?" }, + { "Clear history", "Effacer l'historique" }, + { "Clear telemetry history for this node?", "Effacer l'historique de télémétrie de ce nœud ?" }, + { "Client repeat", "Répétition client" }, + { "Clock synced", "Horloge synchronisée" }, + { "Clock: 12-hour", "Horloge : 12 h" }, + { "Clock: 24-hour", "Horloge : 24 h" }, + { "Close", "Fermer" }, + { "Colourful chat bubbles", "Bulles de chat colorées" }, + { "Commands", "Commandes" }, + { "Community Preset", "Préréglage communautaire" }, + { "Community preset (meshcomod web)", "Préréglage communauté (meshcomod web)" }, + { "Compact messages", "Messages compacts" }, + { "Compact messages (IRC style)", "Messages compacts (style IRC)" }, + { "Connect", "Connecter" }, + { "Connect Wi-Fi to reload tiles", "Connectez le Wi-Fi pour recharger les tuiles" }, + { "Connect to Wi-Fi", "Se connecter au Wi-Fi" }, + { "Connect to Wi-Fi first", "Connectez-vous d'abord au Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Connectez-vous d'abord au Wi-Fi, puis réessayez." }, + { "Connect to Wi-Fi to get a browser address.", "Connectez-vous au Wi-Fi pour obtenir une adresse navigateur." }, + { "Connected", "Connecté" }, + { "Connected - a browser is viewing this screen.", "Connecté - un navigateur affiche cet écran." }, + { "Connecting...", "Connexion..." }, + { "Connecting…", "Connexion…" }, + { "Console not available on this build", "Console indisponible sur cette version" }, + { "Contact added", "Contact ajouté" }, + { "Contact deleted", "Contact supprimé" }, + { "Contact gone", "Contact perdu" }, + { "Contact missing", "Contact manquant" }, + { "Contacts", "Contacts" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Les contacts sont en mémoire interne - la carte SD ne s'est pas montée au démarrage. Réinsérez la carte et redémarrez." }, + { "Contacts are on internal flash.", "Les contacts sont sur la mémoire interne." }, + { "Contacts are saved to the SD card.", "Les contacts sont enregistrés sur la carte SD." }, + { "Contacts full", "Contacts pleins" }, + { "Contacts:", "Contacts :" }, + { "Control", "Contrôle" }, + { "Control this device from a browser", "Contrôler cet appareil depuis un navigateur" }, + { "Copied %s", "%s copié" }, + { "Copied - Paste in a folder", "Copié - collez dans un dossier" }, + { "Copy", "Copier" }, + { "Copy failed (no internal identity)", "Échec de la copie (aucune identité interne)" }, + { "Copy internal data to SD", "Copier les données internes sur SD" }, + { "Copy secret", "Copier le secret" }, + { "Copying internal data to SD...", "Copie des données internes vers la SD..." }, + { "Could not add", "Ajout impossible" }, + { "Could not save the crash report", "Impossible d'enregistrer le rapport de plantage" }, + { "Couldn't delete", "Suppression impossible" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Impossible de récupérer le terrain.\nVérifiez la connexion et le\nserveur d'altitude, puis\nréessayez." }, + { "Couldn't save the name to storage", "Impossible d'enregistrer le nom" }, + { "Couldn't send login", "Impossible d'envoyer le login" }, + { "Couldn't start the analyzer.\nTry again.", "Impossible de démarrer l'analyseur.\nRéessayez." }, + { "Crash export failed", "Échec de l'export du crash" }, + { "Create", "Créer" }, + { "Create QR", "Créer un QR" }, + { "Create a private channel", "Créer un canal privé" }, + { "Create failed", "Échec de création" }, + { "Create private channel", "Créer un canal privé" }, + { "Custom UTC offset (hours)", "Décalage UTC personnalisé (heures)" }, + { "Cut", "Couper" }, + { "Cut - Paste in a folder", "Coupé - collez dans un dossier" }, + { "DM sound", "Son des DM" }, + { "DND", "DND" }, + { "Danger zone", "Zone de danger" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Données -> carte SD au redémarrage\n(carte requise)" }, + { "Data -> internal on reboot", "Données -> interne au redémarrage" }, + { "Delete", "Supprimer" }, + { "Delete %d contact(s)?", "Supprimer %d contact(s) ?" }, + { "Delete chat", "Supprimer la discussion" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Supprimer la discussion avec \"%s\" ?\nL'historique sera effacé." }, + { "Delete failed", "Échec de suppression" }, + { "Delete history", "Supprimer l'historique" }, + { "Delete this backup file?\nThis cannot be undone.", "Supprimer ce fichier de sauvegarde ?\nCeci est irréversible." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Supprimer tout l'historique de cette discussion ?\nLa discussion est conservée." }, + { "Deleted", "Supprimé" }, + { "Deleted %d", "%d supprimé(s)" }, + { "Deleted %d messages", "%d messages supprimés" }, + { "Deleting contacts", "Suppression des contacts" }, + { "Delivered", "Remis" }, + { "Detailed sensors", "Capteurs détaillés" }, + { "Device clock differs from \"%s\" by %lu h%s", "L'horloge diffère de \"%s\" de %lu h%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "L'horloge diffère de \"%s\" de %lu min%s" }, + { "Device name hidden", "Nom de l'appareil masqué" }, + { "Device name shown", "Nom de l'appareil affiché" }, + { "Device time:", "Heure de l'appareil :" }, + { "Diagnostics", "Diagnostics" }, + { "Diagnostics are on the About page.", "El diagnóstico está en la página Acerca de." }, + { "Discovered", "Découverts" }, + { "Discovered settings", "Réglages des nœuds découverts" }, + { "Display", "Affichage" }, + { "Display name", "Nom affiché" }, + { "Distance in miles", "Distance en miles" }, + { "Distance: km", "Distance : km" }, + { "Distance: miles", "Distance : miles" }, + { "Do Not Disturb", "Ne pas déranger" }, + { "Do Not Disturb off", "Ne pas déranger désactivé" }, + { "Do Not Disturb on", "Ne pas déranger activé" }, + { "Download failed", "Échec du téléchargement" }, + { "Download failed (network?)", "Échec du téléchargement (réseau ?)" }, + { "Download mode", "Mode téléchargement" }, + { "Download mode… reflash over USB", "Mode download… reflasher via USB" }, + { "Downloaded - tap Use to switch", "Téléchargé - touchez Utiliser pour changer" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Téléchargement des tuiles…\n\nGardez le Wi-Fi connecté.\nLes tuiles apparaissent à leur arrivée\net sont enregistrées hors ligne." }, + { "Downloading…", "Téléchargement…" }, + { "Duty meter", "Indicateur de cycle" }, + { "Edge scroll", "Défilement bord" }, + { "Edit in Settings → Quick replies", "Modifier dans Paramètres → Réponses rapides" }, + { "Editing", "Modification" }, + { "Empty = plaintext to a private broker", "Vide = texte clair vers un broker privé" }, + { "Empty file", "Fichier vide" }, + { "Enable Bluetooth", "Activer le Bluetooth" }, + { "Enable MQTT bridge", "Activer le pont MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Activez seulement si votre répéteur ne réinonde qu'une région. Sinon laissez désactivé — cela peut bloquer les connexions/DM inter-régions." }, + { "Enable web access", "Activer l'accès web" }, + { "Encryption key (optional)", "Clé de chiffrement (facultatif)" }, + { "End time", "Heure de fin" }, + { "Enter SSID first", "Saisissez d'abord le SSID" }, + { "Enter a name", "Saisissez un nom" }, + { "Enter a network name", "Saisir un nom de réseau" }, + { "Enter adds a new line", "Entrée ajoute une ligne" }, + { "Enter exactly 32 hex characters.", "Saisissez exactement 32 caractères hex." }, + { "Enter key sends message", "La touche Entrée envoie le message" }, + { "Enter sends messages", "Entrée envoie les messages" }, + { "Enter the 32-hex secret shared by the channel creator.", "Saisissez le secret 32 hex partagé par le créateur du canal." }, + { "Entering remote mode - rebooting...", "Passage en mode distant - redémarrage..." }, + { "Erase all", "Tout effacer" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Efface identité, contacts, canaux, messages, Wi-Fi et tous les réglages, puis redémarre." }, + { "Erasing everything…", "Effacement total…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Chaque nœud doit correspondre. Modifiable plus tard dans Paramètres." }, + { "Expansion Kit", "Kit d'extension" }, + { "Experimental", "Expérimental" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Expérimental - problèmes connus. Désactivé = curseur logiciel." }, + { "Experimental saved", "Expérimental enregistré" }, + { "Export failed (can't open file)", "Échec de l'export (fichier illisible)" }, + { "Export new backup", "Nouvelle sauvegarde" }, + { "Export settings", "Exporter les réglages" }, + { "Exporting settings…", "Exportation des réglages…" }, + { "External antenna selected", "Antenne externe sélectionnée" }, + { "Factory reset", "Réinit. d'usine" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Réinitialisation d'usine ?\n\nEfface identité, contacts, canaux, messages, Wi-Fi et tous les réglages. Irréversible." }, + { "Failed to save channel.", "Échec de l'enregistrement du canal." }, + { "Favorites full (max %d)", "Favoris pleins (max %d)" }, + { "Favorites unsupported", "Favoris non pris en charge" }, + { "Fetching the app list from firmware.wadamesh.com", "Récupération de la liste depuis firmware.wadamesh.com" }, + { "Files", "Fichiers" }, + { "Find", "Rechercher" }, + { "Finish", "Terminer" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nServeur de mise à jour injoignable" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Clignoter à nouveau message" }, + { "Flood", "Diffusion" }, + { "Flood advert sent", "Annonce flood envoyée" }, + { "Flood every", "Flood toutes les" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood : relayé sur le mesh (multi-saut).\nZero-hop : voisins seulement (pas de relais)." }, + { "Folder created", "Dossier créé" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Pour les installations Launcher : enregistre le dernier firmware du canal choisi sur la carte SD (dossier BINS)." }, + { "Forget network", "Oublier le réseau" }, + { "Format", "Formater" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Formater la SD en MESHCOMOD (FAT32) ?\nToutes les données de la carte seront effacées." }, + { "Format failed (no card / SD error)", "Échec du formatage (pas de carte / erreur SD)" }, + { "Frequency / bandwidth", "Fréquence / bande passante" }, + { "Full", "Plein" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Buzzer %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Buzzer %s\n%s" }, + { "GPS off", "GPS désactivé" }, + { "GPS on", "GPS activé" }, + { "GPS serial baud", "Débit série GPS" }, + { "GPS unset", "GPS non défini" }, + { "GPS: acquiring...", "GPS : acquisition..." }, + { "GPS: fix", "GPS : point" }, + { "GPS: off", "GPS : désactivé" }, + { "GPS: searching", "GPS : recherche" }, + { "Game over — score %d (tap to restart)", "Partie terminée — score %d (touchez pour rejouer)" }, + { "Get", "Obtenir" }, + { "Get Started", "Commencer" }, + { "Get test builds (beta)", "Recevoir les versions test (bêta)" }, + { "Go", "Aller" }, + { "Green pressure Gray altitude", "Vert pression Gris altitude" }, + { "Hashtag name", "Nom du hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Masqué - réactivez-le dans le Lua Store" }, + { "Hidden network", "Réseau masqué" }, + { "Hide", "Masquer" }, + { "Hide device name", "Masquer le nom de l'appareil" }, + { "Hide this app from the drawer?", "Masquer cette appli du tiroir ?" }, + { "High-gain receiver (FEM LNA)", "Récepteur haut gain (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Très expérimental. Ceci transmet le texte, le nom de l'expéditeur et l'horodatage de chaque message reçu par votre nœud à un broker MQTT, où quiconque peut lire le broker peut les lire. Les messages directs sont privés, envoyés par des personnes qui n'ont jamais accepté d'être partagées. Utilisez un broker que vous contrôlez, définissez une clé de chiffrement ci-dessous, et jamais un broker public." }, + { "History limit off", "Limite d'historique désactivée" }, + { "Hotkey saved", "Raccourci enregistré" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Comment vous apparaîtrez aux autres nœuds. Modifiable dans Paramètres." }, + { "Humidity", "Humidité" }, + { "I accept the privacy risk", "J'accepte le risque pour la vie privée" }, + { "Identity (public key)", "Identité (clé publique)" }, + { "Idle power-save", "Économie d'énergie au repos" }, + { "Idle sleep disabled", "Veille au repos désactivée" }, + { "Idle sleep enabled", "Veille au repos activée" }, + { "Image too large (>4 MB)", "Image trop grande (>4 Mo)" }, + { "Import", "Importer" }, + { "Import backup", "Importer la sauvegarde" }, + { "Import failed (bad/unreadable JSON)", "Échec de l'import (JSON illisible)" }, + { "Import settings", "Importer les réglages" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Importer cette sauvegarde ?\nRemplace l'identité,\nles canaux & contacts,\npuis redémarre." }, + { "Import: storage unavailable", "Import : stockage indisponible" }, + { "Importing settings…", "Importation des réglages…" }, + { "Inactive", "Inactif" }, + { "Info", "Infos" }, + { "Insert emoji / symbol", "Insérer emoji / symbole" }, + { "Install", "Installer" }, + { "Install a previous version", "Installer une version précédente" }, + { "Install an earlier version", "Installer une version antérieure" }, + { "Install failed (network?)", "Échec de l'installation (réseau ?)" }, + { "Install update", "Installer la mise à jour" }, + { "Installed", "Installées" }, + { "Installing…", "Installation…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Interne (embarquée)\nExterne (MMCX)\nAuto (ancien, par émission)" }, + { "Internal has no folders", "Aucun dossier en interne" }, + { "Internal storage %s / %s", "Stockage interne %s / %s" }, + { "Invalid lat/lon", "Lat/lon invalide" }, + { "Invalid max hops", "Sauts max invalides" }, + { "Invalid radio values", "Valeurs radio invalides" }, + { "Join", "Rejoindre" }, + { "Join a hashtag channel", "Rejoindre un canal hashtag" }, + { "Join a private channel", "Rejoindre un canal privé" }, + { "Join hashtag channel", "Rejoindre un canal hashtag" }, + { "Join network", "Rejoindre le réseau" }, + { "Join private channel", "Rejoindre un canal privé" }, + { "Join the public channel", "Rejoindre le canal public" }, + { "Joined %.40s", "Rejoint %.40s" }, + { "Keep per chat (messages)", "À conserver par discussion (messages)" }, + { "Key already in use", "Clé déjà utilisée" }, + { "Keyboard", "Clavier" }, + { "Keyboard backlight", "Rétroéclairage clavier" }, + { "Keyboard light auto", "Éclairage clavier auto" }, + { "Keyboard light off", "Éclairage clavier désactivé" }, + { "Keyboard light on", "Éclairage clavier activé" }, + { "Keyboard nav: WASDZ on", "Nav. clavier : WASDZ activé" }, + { "Keyboard nav: off", "Nav. clavier : désactivé" }, + { "Keyboard navigation", "Navigation clavier" }, + { "LOS → %s", "Vue directe → %s" }, + { "Landscape (desktop)", "Paysage (bureau)" }, + { "Landscape set - applies when remote mode starts.", "Paysage défini - s'applique au démarrage du mode distant." }, + { "Language", "Langue" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Catalogue de langues indisponible - vérifiez le Wi-Fi puis rouvrez cet onglet." }, + { "Language updated - restarting to apply it…", "Langue mise à jour - redémarrage pour l'appliquer…" }, + { "Languages", "Langues" }, + { "Latitude", "Latitude" }, + { "Leave empty if not required", "Laisser vide si non requis" }, + { "Leaving remote mode - rebooting...", "Sortie du mode distant - redémarrage..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Configurons votre appareil.\n\nVous choisirez un nom et votre région LoRa. Cela prend environ une minute." }, + { "Letters only", "Lettres uniquement" }, + { "LoRa antenna (P4)", "Antenne LoRa (P4)" }, + { "Loading catalog…", "Chargement du catalogue…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Chargement des tuiles…\n\nGardez le Wi-Fi connecté.\nLes tuiles apparaissent à leur arrivée." }, + { "Loading map…", "Chargement de la carte…" }, + { "Loading the language catalog…", "Chargement du catalogue de langues…" }, + { "Loading...", "Chargement..." }, + { "Local every", "Local toutes les" }, + { "Local sensors", "Capteurs locaux" }, + { "Lock", "Verrouiller" }, + { "Lock screen", "Écran de verrouillage" }, + { "Lock screen wallpaper", "Fond d'écran de verrouillage" }, + { "Lock text colour", "Couleur du texte de verrouillage" }, + { "Lock text colour set", "Couleur du texte de verrouillage définie" }, + { "Lock wallpaper", "Fond de verrouillage" }, + { "Lock wallpaper set", "Fond de verrouillage défini" }, + { "Lock when screen off", "Verrouiller écran éteint" }, + { "Locking…", "Verrouillage…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Se verrouille écran éteint\n(maintenez Retour pour déverrouiller)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Verrouille écran éteint\n(maintenez la croix pour déverrouiller)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Verrouille écran éteint\n(maintenez le trackball pour déverrouiller)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Verrouille écran éteint\n(appuyez sur Volume Bas pour déverrouiller)" }, + { "Locks when screen off\n(press the button to unlock)", "Verrouille écran éteint\n(appuyez sur le bouton pour déverrouiller)" }, + { "Log in again", "Se reconnecter" }, + { "Logging in again...", "Reconnexion..." }, + { "Logging in…", "Connexion…" }, + { "Login OK (perms %u)", "Connexion OK (perms %u)" }, + { "Login failed", "Échec de connexion" }, + { "Logs", "Journaux" }, + { "Longitude", "Longitude" }, + { "Lua Store", "Lua Store" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Pont MQTT" }, + { "Map", "Carte" }, + { "Map options", "Options de carte" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Erreur de stockage carte.\n\nCarte SD détectée mais le\ncache de tuiles n'a pas monté.\nRedémarrez pour réessayer." }, + { "Map storage error.\nReflash the tiles partition.", "Erreur de stockage carte.\nReflashez la partition des tuiles." }, + { "Map tiles: microSD", "Tuiles : microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Tuiles de carte : microSD\n\n/maps/osm/z/x/y.png\n(ou /tiles/z/x/y.jpg)\n\nLa carte apparaît quand une tuile\npour cette zone est trouvée." }, + { "Map tiles: server", "Tuiles : serveur" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Carte — pas encore de pack de tuiles sur SPIFFS.\n\nTéléversez un pack vers /tiles///.jpg avec le générateur côté hôte." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Carte — définissez votre position\ndans Paramètres → Profil pour\nafficher la carte ici." }, + { "Mark all chats and channels as read?", "Marquer tous les chats et canaux comme lus ?" }, + { "Mark as read", "Marquer comme lu" }, + { "Mark read", "Marquer comme lu" }, + { "Marked read", "Marqué comme lu" }, + { "Max hops (0..64)", "Sauts max (0..64)" }, + { "Max zoom for this pack", "Zoom max pour ce pack" }, + { "Memory detail", "Détail mémoire" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Santé du mesh : un advert flood est réémis par chaque répéteur à portée, donc les floods fréquents ajoutent du temps d'antenne pour tout le réseau. Gardez-les rares (un jour ou plus). Vos voisins vous voient encore via les adverts zero-hop et vos réponses, alors floodez surtout quand des nœuds lointains doivent vous redécouvrir. Laissez les deux désactivés pour n'adverter qu'en touchant les boutons ci-dessus." }, + { "Message", "Message" }, + { "Message LED", "LED de message" }, + { "Message LED off", "LED de message éteint" }, + { "Message LED on", "LED de message allumé" }, + { "Message deleted", "Message supprimé" }, + { "Message didn't get through.\nResend it?", "Le message n'est pas passé.\nRenvoyer ?" }, + { "Message info", "Infos du message" }, + { "Message sound", "Son des messages" }, + { "Min zoom for this pack", "Zoom min pour ce pack" }, + { "Mode: BLE starting / low memory", "Mode : BLE démarre / mémoire faible" }, + { "Model:", "Modèle :" }, + { "Multi ACKs", "Multi-ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Répéter %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Routage multi-octet (hash de chemin)" }, + { "Mute @", "Muet @" }, + { "Mute msgs", "Muet msgs" }, + { "Mute notification sound", "Couper le son des notifications" }, + { "My position (no GPS fix)", "Ma position (pas de fix GPS)" }, + { "Name", "Nom" }, + { "Name can't be empty.", "Le nom ne peut pas être vide." }, + { "Name fragment", "Fragment de nom" }, + { "Name saved", "Nom enregistré" }, + { "Navigation keys", "Touches de navigation" }, + { "Navigation keys — tap a row, then press a key", "Touches de navigation — touchez une ligne, puis une touche" }, + { "Nearby on map", "À proximité sur la carte" }, + { "Network name", "Nom du réseau" }, + { "Network name (SSID)", "Nom du réseau (SSID)" }, + { "New", "Nouveau" }, + { "New DM", "Nouveau MP" }, + { "New channel msg", "Nouveau msg de canal" }, + { "New contact", "Nouveau contact" }, + { "New file", "Nouveau fichier" }, + { "New folder", "Nouveau dossier" }, + { "New game", "Nouvelle partie" }, + { "New room msg", "Nouveau msg de salon" }, + { "Next", "Suivant" }, + { "Night mode (invert)", "Mode nuit (inverser)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Aucune sauvegarde .json trouvée.\nExportez-en une, ou copiez un\nmeshcore-backup.json sur la\ncarte SD ou le flash interne." }, + { "No @mentions yet", "Aucune @mention pour l'instant" }, + { "No Bluetooth on this device", "Pas de Bluetooth sur cet appareil" }, + { "No DM key", "Pas de clé MP" }, + { "No GPS module on this device.", "Aucun module GPS sur cet appareil." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Aucun JPEG dans /lock/.\nAjoutez des images via le\ngestionnaire ou une carte SD." }, + { "No SD card", "Pas de carte SD" }, + { "No SD card (or unreadable format)", "Pas de carte SD (ou format illisible)" }, + { "No backups yet. Tap Export new backup above to create one.", "Aucune sauvegarde. Touchez Nouvelle sauvegarde ci-dessus pour en créer une." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Pas encore d'historique de batterie.\n\nEnregistré toutes les 5 minutes." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Aucun utilisateur bloqué.\n\nAppui long sur un message puis\ntouchez Bloquer pour en ajouter un." }, + { "No contact for thread", "Aucun contact pour ce fil" }, + { "No contact to trace", "Aucun contact à tracer" }, + { "No contacts have shared\na GPS location yet.", "Aucun contact n'a encore\npartagé de position GPS." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Aucun nœud découvert pour l'instant.\n\nTout ce qui est entendu par radio et qui n'est pas dans vos contacts apparaît ici. Si l'ajout auto est désactivé, vous pouvez ajouter des nœuds manuellement." }, + { "No earlier versions yet", "Aucune version antérieure" }, + { "No local expansion data", "Aucune donnée d'extension locale" }, + { "No location for this contact", "Aucune position pour ce contact" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Pas de stockage carte.\n\nInsérez une carte SD pour les\ntuiles Wi-Fi (ou reflashez pour\nrestaurer la partition des tuiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Aucune tuile ici.\n\nConnectez-vous au Wi-Fi (Réglages → Wi-Fi)\npour télécharger cette zone." }, + { "No mapped repeaters in this route", "Aucun répéteur cartographié sur cet itinéraire" }, + { "No networks found (2.4 GHz only)", "Aucun réseau trouvé (2,4 GHz uniquement)" }, + { "No onboard GPS", "Pas de GPS intégré" }, + { "No other networks found", "Aucun autre réseau trouvé" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Pas encore de position. Un démarrage à froid demande un ciel dégagé et peut prendre plusieurs minutes." }, + { "No reply from %s", "Pas de réponse de %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Pas de réponse. Vérifiez mot de passe, serveur\nou horloge de l'appareil (appareil : %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Aucune tuile enregistrée ici.\n\nConnectez-vous au Wi-Fi (Réglages → Wi-Fi)\npour télécharger cette zone.\nLes tuiles enregistrées restent hors ligne." }, + { "No system time yet", "Pas encore d'heure système" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Aucune télémétrie dans cette fenêtre.\nDemandez-en une ou élargissez la plage ci-dessous." }, + { "No tiles (non-ESP32)", "Pas de tuiles (non-ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Aucune version connue. Le Wi-Fi et une vérification de mise à jour terminée sont d'abord requis." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Nœud\nRégion\nRadio\nSignal\nContacts\nCanaux\nBatterie\nDisponibilité" }, + { "Node name", "Nom du nœud" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normal (100%)\nGrand (150%)\nÉnorme (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Mémoire insuffisante pour le Bluetooth. Désactivez d'abord le Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Mémoire insuffisante pour le Wi-Fi. Désactivez d'abord le Bluetooth." }, + { "Nothing selected", "Rien de sélectionné" }, + { "Notification sound set", "Son de notification défini" }, + { "Notify on new contact", "Notifier pour un nouveau contact" }, + { "Off", "Désactivé" }, + { "Off\n1\n2\n3\n5\n8", "Désactivé\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Désactivé\n1 jour\n2 jours\n3 jours\n7 jours" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Désactivé\n60 min\n90 min\n2 heures\n3 heures\n4 heures" }, + { "Offline", "Hors ligne" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Au-delà, les anciens messages sont supprimés. Un historique très grand ou illimité ralentit la liste des discussions." }, + { "On - open the address above in a phone browser.", "Activé - ouvrez l'adresse ci-dessus dans le navigateur du téléphone." }, + { "On boot", "Au démarrage" }, + { "On map", "Sur la carte" }, + { "Open Advertise app", "Ouvrir l'appli Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Ouvrez un .wav, puis touchez « Définir comme son de notification »" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Ouvrez un JPEG, puis touchez « Définir comme fond d'écran »" }, + { "Open chat", "Ouvrir la discussion" }, + { "Open in a browser (same Wi-Fi):", "Ouvrir dans un navigateur (même Wi-Fi) :" }, + { "Open in web", "Ouvrir sur le web" }, + { "Open mesh console", "Ouvrir la console mesh" }, + { "Optional — type your network, or leave blank to skip.", "Facultatif — saisissez votre réseau, ou laissez vide." }, + { "Orange temp Cyan humidity", "Orange temp. Cyan humidité" }, + { "Orientation (tap to rotate, reboots)", "Orientation (toucher pour pivoter, redémarre)" }, + { "Out of memory", "Mémoire insuffisante" }, + { "Overwrite oldest", "Écraser le plus ancien" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Écraser les réglages et l'identité de la carte SD\navec les copies internes,\npuis redémarrer ?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG non pris en charge ici\nUtilisez un JPEG" }, + { "Pairing code", "Code d'appairage" }, + { "Pairing code saved — reboot to apply", "Code d'appairage enregistré — redémarrez pour appliquer" }, + { "Pairing code: %06lu", "Code d'appairage : %06lu" }, + { "Pairing code: n/a", "Code d'appairage : n/d" }, + { "Password (empty = open)", "Mot de passe (vide = ouvert)" }, + { "Password (empty = skip Wi-Fi)", "Mot de passe (vide = ignorer le Wi-Fi)" }, + { "Password (optional)", "Mot de passe (facultatif)" }, + { "Password too long", "Mot de passe trop long" }, + { "Paste", "Coller" }, + { "Paste failed", "Échec du collage" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Collez la clé publique 64 hex et un nom. Utile pour envoyer un MP avant l'arrivée de l'annonce." }, + { "Pasted", "Collé" }, + { "Path hash: %u byte%s", "Hash de chemin : %u octet%s" }, + { "Path reset", "Chemin réinitialisé" }, + { "Path reset failed", "Échec de réinit. du chemin" }, + { "Paused — score %d", "En pause — score %d" }, + { "Per-transmit switching on", "Bascule par émission activée" }, + { "Pick colour", "Choisir la couleur" }, + { "Ping", "Ping" }, + { "Ping failed", "Échec du ping" }, + { "Pinged (direct) — waiting…", "Ping (direct) — attente…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — attente…" }, + { "Play", "Lire" }, + { "Poll (min)", "Interrogation (min)" }, + { "Poll every", "Interroger toutes les" }, + { "Poll every %d min", "Interroger toutes les %d min" }, + { "Port", "Port" }, + { "Portrait set - applies when remote mode starts.", "Portrait défini - s'applique au démarrage du mode distant." }, + { "Position saved", "Position enregistrée" }, + { "Power", "Alimentation" }, + { "Power off", "Éteindre" }, + { "Powering off… click trackball to wake", "Extinction… cliquez la boule pour réveiller" }, + { "Press a key…", "Appuyez sur une touche…" }, + { "Probe now", "Sonder maintenant" }, + { "Probing neighbours…", "Sondage des voisins…" }, + { "Profile", "Profil" }, + { "Pubkey must be 64 hex chars.", "La clé publique doit faire 64 hex." }, + { "Public channel ready", "Canal public prêt" }, + { "Public key (64 hex chars)", "Clé publique (64 hex)" }, + { "Public key:", "Clé publique :" }, + { "Publish channel messages", "Publier les messages de canal" }, + { "Publish direct messages", "Publier les messages directs" }, + { "Purge", "Purger" }, + { "Purge all discovered nodes?", "Purger tous les nœuds découverts ?" }, + { "Quick replies", "Réponses rapides" }, + { "Quick reply", "Réponse rapide" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d entrées · Raw %d entrées" }, + { "RX boosted gain", "Gain RX boosté" }, + { "RX log", "Journal RX" }, + { "Radio & Mesh", "Radio et mesh" }, + { "Radio + region set", "Radio + région définies" }, + { "Radio applied", "Radio appliquée" }, + { "Radio off", "Radio désactivée" }, + { "Radio: off", "Radio : désactivée" }, + { "Range test", "Test de portée" }, + { "RangeTest failed", "Échec du RangeTest" }, + { "RangeTest sent (direct)", "RangeTest envoyé (direct)" }, + { "RangeTest sent (flood)", "RangeTest envoyé (flood)" }, + { "Raw log", "Journal brut" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Lit les paquets en tâche de fond pour qu'un écran occupé ne les perde pas." }, + { "Reboot", "Redémarrer" }, + { "Reboot device", "Redémarrer l'appareil" }, + { "Rebooting...", "Redémarrage..." }, + { "Rebooting…", "Redémarrage…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Recevoir un firmware de test non publié — fonctions plus récentes, mais moins testées. La vérification et l'installation suivent le canal bêta." }, + { "Recently heard", "Entendu récemment" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Reformater la SD en MESHCOMOD (FAT32) ?\nTOUTES les données de la carte seront effacées." }, + { "Region & scope", "Région et portée" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Portée régionale (#tag) pour ce canal.\nVide = portée par défaut." }, + { "Region scope (#tag), blank = default.", "Portée de région (#tag), vide = défaut." }, + { "Region scope (#tag, blank = none)", "Portée régionale (#tag, vide = aucune)" }, + { "Remember password", "Retenir le mot de passe" }, + { "Remote UI", "Interface distante" }, + { "Remote UI (on)", "Interface distante (activée)" }, + { "Remote access", "Accès à distance" }, + { "Remote terminal", "Terminal distant" }, + { "Remote terminal (recommended)", "Terminal distant (recommandé)" }, + { "Remote terminal off", "Terminal distant désactivé" }, + { "Remove", "Retirer" }, + { "Remove %s?", "Supprimer %s ?" }, + { "Remove channel", "Supprimer le canal" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Retirer le canal \"%s\" ?\nUniquement de cet appareil." }, + { "Removed", "Supprimé" }, + { "Removed from favorites", "Retiré des favoris" }, + { "Rename", "Renommer" }, + { "Rename failed", "Échec du renommage" }, + { "Renamed", "Renommé" }, + { "Replay", "Rejouer" }, + { "Replay route on map", "Rejouer l'itinéraire sur la carte" }, + { "Replaying route…", "Relecture de l'itinéraire…" }, + { "Resend", "Renvoyer" }, + { "Resend failed", "Échec du renvoi" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Renvoie un message jusqu'à ce qu'un répéteur le relaie ou que le destinataire accuse réception. Désactivez pour n'envoyer qu'une fois." }, + { "Reset", "Réinitialiser" }, + { "Reset path", "Réinitialiser le chemin" }, + { "Restarting to apply the language…", "Redémarrage pour appliquer la langue…" }, + { "Retry sends until heard", "Renvoyer jusqu'à réception" }, + { "Reverse scrollball", "Inverser la boule de défilement" }, + { "Roll to highlight • click to insert", "Faites rouler pour surligner • cliquez pour insérer" }, + { "Room is read-only for you.\nJoin with the room password to post.", "La salle est en lecture seule pour vous.\nRejoignez avec le mot de passe pour publier." }, + { "Rotating - reconnecting...", "Rotation - reconnexion..." }, + { "Rotating… rebooting", "Rotation… redémarrage" }, + { "Run setup again", "Relancer la configuration" }, + { "SD card %s", "Carte SD %s" }, + { "SD card %s (hold: format)", "Carte SD %s (maintenir : formater)" }, + { "SD card (tap to mount)", "Carte SD (toucher pour monter)" }, + { "SD card inserted", "Carte SD insérée" }, + { "SD card lost - reinsert to recover", "Carte SD perdue - réinsérez-la" }, + { "SD card remounted", "Carte SD remontée" }, + { "SD card removed", "Carte SD retirée" }, + { "SD download failed: %s", "Échec du téléchargement SD : %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formatée - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u Ko utilisés" }, + { "SSID set — enter password, then Save", "SSID défini — saisissez le mot de passe, puis Enregistrer" }, + { "SSID too long", "SSID trop long" }, + { "Sample text", "Exemple de texte" }, + { "Save", "Enregistrer" }, + { "Save & restart", "Enregistrer & redémarrer" }, + { "Save / turn on", "Enregistrer / activer" }, + { "Save auto-add", "Enregistrer l'ajout auto" }, + { "Save experimental", "Enregistrer l'expérimental" }, + { "Save failed", "Échec d'enregistrement" }, + { "Save name", "Enregistrer le nom" }, + { "Save policy", "Enregistrer la règle" }, + { "Save position", "Enregistrer la position" }, + { "Save quick replies", "Enregistrer les réponses rapides" }, + { "Save report", "Enregistrer le rapport" }, + { "Save update bin to SD", "Enregistrer la mise à jour sur SD" }, + { "Saved", "Enregistré" }, + { "Saved backups", "Sauvegardes enregistrées" }, + { "Saved network", "Réseau enregistré" }, + { "Saved profiles", "Profils enregistrés" }, + { "Saved to slot %d", "Enregistré dans l'emplacement %d" }, + { "Saved — rebooting", "Enregistré — redémarrage" }, + { "Saved — reconnecting…", "Enregistré — reconnexion…" }, + { "Saved: %s\nFlash it from the Launcher.", "Enregistré : %s\nFlashez-le depuis le Launcher." }, + { "Saving to SD… %d%%", "Enregistrement sur SD… %d%%" }, + { "Saving to SD… 0%", "Enregistrement sur SD… 0%" }, + { "Scan to open on phone", "Scannez pour ouvrir sur le téléphone" }, + { "Scanning…", "Analyse…" }, + { "Scope direct msgs to region", "Limiter les messages directs à la région" }, + { "Screen locked", "Écran verrouillé" }, + { "Screen timeout (s, 0 = never)", "Délai d'écran (s, 0 = jamais)" }, + { "Screen timeout (s, 0 = never, min 10)", "Délai d'écran (s, 0 = jamais, min 10)" }, + { "Screen timeout: %ds", "Délai d'écran : %ds" }, + { "Screen timeout: never", "Délai d'écran : jamais" }, + { "Screen-off just dims", "Écran éteint = juste tamisé" }, + { "Screenshot needs an SD card", "La capture nécessite une carte SD" }, + { "Screenshot: low memory", "Capture : mémoire faible" }, + { "Screenshot: no SD card", "Capture : pas de carte SD" }, + { "Screenshot: write failed", "Capture : échec d'écriture" }, + { "Scrollball: normal", "Boule de défilement : normale" }, + { "Scrollball: reversed", "Boule de défilement : inversée" }, + { "Search", "Rechercher" }, + { "Search contacts", "Rechercher des contacts" }, + { "Secondary keyboards", "Claviers secondaires" }, + { "Secret (32 hex chars)", "Secret (32 hex)" }, + { "Secret (32 hex, optional)", "Secret (32 hex, facultatif)" }, + { "Secret must be 32 hex chars (or empty).", "Le secret doit faire 32 hex (ou vide)." }, + { "Select a DM thread", "Choisir une conversation MP" }, + { "Select all", "Tout sélectionner" }, + { "Select network", "Choisir le réseau" }, + { "Send advert", "Envoyer une annonce" }, + { "Send advert now", "Envoyer l'annonce" }, + { "Send an advert now, or set how often you re-advertise.", "Envoyer un advert maintenant, ou définir la fréquence de ré-advert." }, + { "Send failed", "Échec de l'envoi" }, + { "Sender blocked", "Expéditeur bloqué" }, + { "Sensors tab: off (restart to apply)", "Onglet capteurs : désactivé (redémarrez pour appliquer)" }, + { "Sensors tab: on (restart to apply)", "Onglet capteurs : activé (redémarrez pour appliquer)" }, + { "Sent", "Envoyé" }, + { "Set", "Définir" }, + { "Set an SSID first", "Définissez d'abord un SSID" }, + { "Set as notification sound", "Définir comme son de notification" }, + { "Set as wallpaper", "Définir comme fond d'écran" }, + { "Set your location first", "Définissez d'abord votre position" }, + { "Settings", "Paramètres" }, + { "Setup complete", "Configuration terminée" }, + { "Share QR", "Partager le QR" }, + { "Share channel", "Partager le canal" }, + { "Share location in advert", "Partager la position dans l'annonce" }, + { "Share secret", "Partager le secret" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Partagez le secret de 32 caractères pour que d'autres rejoignent. Laissez vide pour un aléatoire." }, + { "Share: %s", "Partager : %s" }, + { "Show", "Afficher" }, + { "Show Sensors tab", "Afficher l'onglet Capteurs" }, + { "Show in the app drawer", "Afficher dans le tiroir d'applis" }, + { "Show link lines", "Afficher les liens" }, + { "Show menu-bar letters", "Afficher les lettres du menu" }, + { "Show on chart", "Afficher sur le graphique" }, + { "Show on map", "Afficher sur la carte" }, + { "Sightline", "Ligne de vue" }, + { "Signal & traffic", "Signal & trafic" }, + { "Signal probe", "Sonde de signal" }, + { "Skip", "Passer" }, + { "Sleep ready", "Prêt pour veille" }, + { "Slot %d cleared", "Emplacement %d effacé" }, + { "Slot empty", "Emplacement vide" }, + { "Small\nMedium\nLarge", "Petit\nMoyen\nGrand" }, + { "Snake — swipe or roll the trackball", "Snake — glissez ou roulez le trackball" }, + { "Sort", "Trier" }, + { "Sound", "Son" }, + { "Sound off", "Son désactivé" }, + { "Sound on", "Son activé" }, + { "Sound: %s", "Son : %s" }, + { "Start time", "Heure de début" }, + { "Status", "État" }, + { "Step 1 of 3", "Étape 1 sur 3" }, + { "Step 2 of 3", "Étape 2 sur 3" }, + { "Step 3 of 3", "Étape 3 sur 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Analyse du chemin précédent\nen cours… réessayez bientôt." }, + { "Stop", "Arrêter" }, + { "Storage", "Stockage" }, + { "Store data on SD (reboot)", "Stocker les données sur SD (redémarrage)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Diffuse l'écran en image en direct que vous touchez pour contrôler. Plus lourd ; le panneau affiche un substitut. Basculer redémarre l'appareil." }, + { "Switch", "Basculer" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Passer à l'antenne externe ?\n\nVérifiez d'abord qu'une antenne est bien branchée sur la prise externe. Émettre sans antenne peut endommager la radio.\n\nRevient à l'antenne embarquée à chaque redémarrage." }, + { "Sync clock from system", "Synchroniser l'horloge" }, + { "System", "Système" }, + { "System info", "Infos système" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nClients WS %d GPS %s Buzzer %s" }, + { "TCP off", "TCP désactivé" }, + { "TCP on", "TCP activé" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Raccourcis onglet — touchez une ligne, puis une touche" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Touchez Utiliser pour changer - l'appareil redémarre. Les fichiers de langue sont dans /lang sur le stockage ; modifiez-les ou ajoutez les vôtres." }, + { "Tap a language; the device reboots to apply.", "Touchez une langue ; l'appareil redémarre." }, + { "Taste the rainbow!", "Goûtez l'arc-en-ciel !" }, + { "Telemetry", "Télémétrie" }, + { "Telemetry req (direct)…", "Requête télémétrie (direct)…" }, + { "Telemetry req (flood)…", "Requête télémétrie (flood)…" }, + { "Telemetry req failed", "Échec de la requête télémétrie" }, + { "Telemetry requests allowed", "Requêtes télémétrie autorisées" }, + { "Telemetry requests off", "Requêtes télémétrie désactivées" }, + { "Telemetry req…", "Requêtes télé…" }, + { "Telemetry settings", "Réglages télémétrie" }, + { "Temperature", "Température" }, + { "Test builds: off", "Builds de test : off" }, + { "Test builds: on", "Builds de test : on" }, + { "Theme", "Thème" }, + { "Theme colour", "Couleur du thème" }, + { "Then pick a mode:", "Puis choisissez un mode :" }, + { "This contact hasn't shared\na GPS position.", "Ce contact n'a pas partagé\nde position GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Cet appareil peut utiliser Wi-Fi et Bluetooth en même temps, comme radio autonome et compagnon de téléphone (app MeshCore).\n\nLes deux à la fois consomment plus de RAM, n'activez que le nécessaire.\n\nRéglez-les à tout moment dans Réglages." }, + { "Throttles the CPU when idle to save power", "Limite le CPU au repos pour économiser l'énergie" }, + { "Tile reload needs Wi-Fi build", "Le rechargement des tuiles requiert le build Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Tuiles effacées — reconnectez le Wi-Fi pour retélécharger" }, + { "Tiles from SD card", "Tuiles depuis la carte SD" }, + { "Time %s", "Heure %s" }, + { "Time offset (vs automatic)", "Décalage horaire (vs auto)" }, + { "Time offset: %+d h", "Décalage horaire : %+d h" }, + { "Time range (hours ago)", "Plage horaire (heures)" }, + { "Time zone", "Fuseau horaire" }, + { "Time zone: %s", "Fuseau horaire : %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Astuce : recherchez des réseaux dans Paramètres → Réseau après la configuration." }, + { "Today", "Aujourd'hui" }, + { "Toggle GPS", "GPS activer/désactiver" }, + { "Too large to edit (>8 KB)", "Trop grand à modifier (>8 Ko)" }, + { "Topographic map", "Carte topographique" }, + { "Trace", "Tracer" }, + { "Trace SNR", "Tracer le SNR" }, + { "Trace failed", "Échec du traçage" }, + { "Trace route", "Tracer la route" }, + { "Trace sent…", "Traçage envoyé…" }, + { "Tracing route…", "Traçage de l'itinéraire…" }, + { "Trackball navigates UI", "Le trackball navigue l'UI" }, + { "Trackball: cursor", "Trackball : curseur" }, + { "Trackball: navigate UI", "Trackball : naviguer l'UI" }, + { "Turn Wi-Fi on first", "Activez d'abord le Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Activez le Wi-Fi puis actualisez. Les applis installées fonctionnent toujours." }, + { "Turn off", "Désactiver" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Activer l'ancienne bascule par émission ?\n\nMode diagnostic, pour comparaison seulement. Émet sur l'antenne embarquée et écoute sur l'externe : votre signal sortant sera bien plus faible que l'entrant.\n\nRevient à l'antenne embarquée à chaque redémarrage." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Désactiver la limite d'historique ?\n\nUn canal actif peut alors remplir tout le stockage de messages, ce qui prend plus de place et ralentit nettement la liste et l'appli. À faire seulement si vous avez vraiment besoin de tout l'historique." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Activez ceci puis ouvrez l'adresse ci-dessous dans un navigateur sur le même Wi-Fi - aucune appli requise. L'écran de l'appareil apparaît en direct et vous pouvez le contrôler en touchant." }, + { "Type a URL, then Go", "Saisissez une URL puis Aller" }, + { "Type a message...", "Saisissez un message..." }, + { "Type a new 6-digit code · applies after a reboot", "Entrez un nouveau code à 6 chiffres · appliqué au redémarrage" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Saisissez le nom du réseau — ou passez au Wi-Fi dans Paramètres pour scanner" }, + { "UI size (restart to apply)", "Taille UI (redémarrer pour appliquer)" }, + { "UI size saved — restart to apply", "Taille UI enregistrée — redémarrez pour appliquer" }, + { "USB powered", "Alimenté par USB" }, + { "Unblock", "Débloquer" }, + { "Unblocked", "Débloqué" }, + { "Unfavorite it first", "Retirez-le d'abord des favoris" }, + { "Unlocking…", "Déverrouillage…" }, + { "Unmute @", "Réactiver @" }, + { "Unmute msgs", "Réactiver msgs" }, + { "Unread %d", "Non lus %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Non lus %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV non pris en charge (16-bit PCM requis)" }, + { "Update", "Mettre à jour" }, + { "Update bin saved to SD", "Fichier de mise à jour enregistré sur SD" }, + { "Update complete.\nRebooting...", "Mise à jour terminée.\nRedémarrage..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Mettez à jour sur flasher.wadamesh.com\n(la MAJ Wi-Fi est en pause pour l'instant)" }, + { "Update via the Launcher", "Mise à jour via le Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Mise à jour via le Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Mise à jour via le Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Mis à jour - redémarrage…" }, + { "Use", "Utiliser" }, + { "Username (optional)", "Nom d'utilisateur (facultatif)" }, + { "Volume", "Volume" }, + { "W up · A left · D right · Z down · S select · Q back", "W haut · A gauche · D droite · Z bas · S choisir · Q retour" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "En attente du Wi-Fi..." }, + { "Welcome to WADAMESH", "Bienvenue sur WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Tant que c'est activé, quiconque sur votre Wi-Fi peut voir et contrôler cet appareil. Utilise du HTTP simple (réseau local uniquement)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi et Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Le Wi-Fi n'est pas activé dans ce build." }, + { "Wi-Fi isn't available on this build.", "Le Wi-Fi n'est pas disponible sur ce build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Wi-Fi requis pour le profil\nde terrain de ce chemin.\nConnectez dans Paramètres → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi non connecté" }, + { "Wi-Fi off", "Wi-Fi désactivé" }, + { "Wi-Fi on", "Wi-Fi activé" }, + { "Wi-Fi on, scanning…", "Wi-Fi activé, recherche…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi enregistré (radio off)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi enregistré, reconnexion" }, + { "Yesterday", "Hier" }, + { "You can run setup later in Settings → Device", "Vous pouvez lancer la configuration plus tard dans Paramètres → Appareil" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Votre position est inconnue.\nDéfinissez GPS / position dans\nParamètres → Profil d'abord." }, + { "Your name", "Votre nom" }, + { "Your own apps", "Vos propres applis" }, + { "Zero-hop", "Zéro saut" }, + { "Zero-hop advert sent", "Annonce zero-hop envoyée" }, + { "Zoom: +/- buttons", "Zoom : boutons +/-" }, + { "client connected", "client connecté" }, + { "command", "commande" }, + { "contacts (%d):", "contacts (%d) :" }, + { "diag boot...", "démarrage diag..." }, + { "double-tap SPACE cycles through the ones you enable", "double-tapez ESPACE pour parcourir les activés" }, + { "drive the UI without the screen; keys still type in text fields", "piloter l'UI sans l'écran ; les touches saisissent le texte" }, + { "e.g. Family", "ex. Famille" }, + { "e.g. mesh", "ex. mesh" }, + { "from", "de" }, + { "h to", "h à" }, + { "hold Backspace to unlock", "maintenez Retour pour déverrouiller" }, + { "hold the d-pad to unlock", "maintenez le d-pad pour déverrouiller" }, + { "hold the trackball to unlock", "maintenez la boule pour déverrouiller" }, + { "kHz", "kHz" }, + { "keep holding", "maintenez" }, + { "last wake: ", "dernier réveil : " }, + { "leave empty to generate", "laisser vide pour générer" }, + { "lights the keyboard + wakes the screen on an incoming message", "éclaire le clavier + réveille l'écran à un message entrant" }, + { "mesh link armed", "liaison mesh armée" }, + { "mesh busy", "mesh occupé" }, + { "min (0=off)", "min (0=désactivé)" }, + { "mkdir failed", "Échec de création du dossier" }, + { "n/a in this build", "n/d dans ce build" }, + { "now on channel %s", "maintenant sur le canal %s" }, + { "now talking to %s", "conversation avec %s" }, + { "off", "désactivé" }, + { "off = Enter adds a new line; tap Send to send", "off = Entrée ajoute une ligne ; touchez Envoyer pour envoyer" }, + { "on", "activé" }, + { "peak --", "crête --" }, + { "pick accented letters as you type; off = plain typing", "choisir les lettres accentuées en tapant ; désactivé = saisie simple" }, + { "press Volume Down to unlock", "appuyez sur Volume Bas pour déverrouiller" }, + { "push past a screen edge to scroll content", "poussez au-delà du bord pour faire défiler" }, + { "score %d", "score %d" }, + { "search", "rechercher" }, + { "tap for details", "touchez pour les détails" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "touchez la touche de langue (ex. EN) du clavier pour parcourir les activées" }, + { "tap to cancel", "toucher pour annuler" }, + { "tap to exit full screen", "toucher pour quitter le plein écran" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "ampli ~17 dB pour zones calmes/isolées ; désactiver en zone bruyante." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_es[] = { + { " (device behind)", " (dispositivo atrasado)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d puntos de cobertura · %lu guardados en SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: esperando fijación GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d en el mapa" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d cerca (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u tipos · saltos %u · manual %s" }, + { "(RTC unset)", "(RTC sin ajustar)" }, + { "(device behind)", "(dispositivo atrasado)" }, + { "(no default)", "(sin predeterminado)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 byte (heredado)\n2 bytes\n3 bytes" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nSin límite" }, + { "12-hour clock", "Reloj de 12 horas" }, + { "32 hex characters", "32 caracteres hex" }, + { "32-hex secret. Anyone with this can read the channel.", "Secreto de 32 hex. Cualquiera con esto puede leer el canal." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Menciones" }, + { "@ mention sound", "Sonido de menciones @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ADVERTS AUTOMÁTICOS" }, + { "About", "Acerca de" }, + { "About the map", "Acerca del mapa" }, + { "Accent popups", "Ventanas de acentos" }, + { "Accent popups: off", "Ventanas de acentos: desactivado" }, + { "Accent popups: on", "Ventanas de acentos: activado" }, + { "Ack", "Ack" }, + { "Active", "Activo" }, + { "Add", "Añadir" }, + { "Add channel", "Añadir canal" }, + { "Add contact", "Añadir contacto" }, + { "Added", "Añadido" }, + { "Added to contacts", "Añadido a contactos" }, + { "Added to favorites", "Añadido a favoritos" }, + { "Admin", "Admin" }, + { "Advert", "Anuncio" }, + { "Advert failed", "Error en el anuncio" }, + { "Advert location", "Ubicación del anuncio" }, + { "Advert policy saved", "Política de anuncio guardada" }, + { "Advert sent", "Anuncio enviado" }, + { "All marked read", "Todo marcado como leído" }, + { "Already exists", "Ya existe" }, + { "Already exists or table full.", "Ya existe o tabla llena." }, + { "Already in contacts", "Ya está en contactos" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Tras reiniciar siempre arranca con la antena integrada. Elige Externa solo con una antena puesta en el conector externo." }, + { "Analyzing terrain…", "Analizando terreno…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Analizando terreno…\n(intento %d de 3)" }, + { "Answer telemetry requests", "Responder solicitudes de telemetría" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Cualquiera puede unirse. La clave deriva del hashtag (minúsculas)." }, + { "App drawer as home", "Cajón de apps como inicio" }, + { "App icon size", "Tamaño de iconos de app" }, + { "Applies after restart.", "Se aplica tras reiniciar." }, + { "Apply", "Aplicar" }, + { "Apply auto-poll", "Aplicar auto-poll" }, + { "Apply radio params", "Aplicar parámetros de radio" }, + { "Apps", "Apps" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Flechas + Enter siempre funcionan. Estas letras son extra: toca una fila y pulsa una tecla." }, + { "Auto advert", "Anuncio automático" }, + { "Auto chat", "Chat auto" }, + { "Auto repeater", "Repetidor auto" }, + { "Auto room", "Sala auto" }, + { "Auto sensor", "Sensor auto" }, + { "Auto-Join", "Auto-unirse" }, + { "Auto-add contacts", "Auto-añadir contactos" }, + { "Auto-add saved", "Auto-añadir guardado" }, + { "Auto-add settings", "Ajustes de añadido automático" }, + { "Auto-delete above hops", "Autoeliminar por encima de saltos" }, + { "Auto-delete oldest", "Autoeliminar los más antiguos" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Autoeliminar los más antiguos libera espacio al llenarse. Saltos: 0 = conservar todos; se eliminan los nodos oídos con más saltos." }, + { "Auto-discover", "Autodescubrir" }, + { "Auto-discover off", "Autodescubrir desactivado" }, + { "Auto-discover on", "Autodescubrir activado" }, + { "Auto-poll every", "Auto-poll cada" }, + { "Auto-refresh off", "Autoactualizar desactivado" }, + { "Auto-refresh on", "Autoactualizar activado" }, + { "Available", "Disponibles" }, + { "BLE off", "BLE apagado" }, + { "BLE on", "BLE activado" }, + { "BT", "BT" }, + { "Back", "Atrás" }, + { "Backups", "Copias" }, + { "Battery", "Batería" }, + { "Battery & power history", "Historial de batería y energía" }, + { "Battery (V)", "Batería (V)" }, + { "Battery calibration reset to default", "Calibración de batería restablecida" }, + { "Battery read too low — charge fully first", "Lectura de batería muy baja — carga primero" }, + { "Battery saver (experimental)", "Ahorro de batería (experimental)" }, + { "Battery — last 24h", "Batería — últimas 24h" }, + { "Battery:", "Batería:" }, + { "Block", "Bloquear" }, + { "Block list full", "Lista de bloqueo llena" }, + { "Blocked list", "Lista de bloqueados" }, + { "Blocked users", "Usuarios bloqueados" }, + { "Blocked — their messages are hidden", "Bloqueado — sus mensajes se ocultan" }, + { "Blocking unsupported", "Bloqueo no compatible" }, + { "Blue battery Last 6 min", "Azul batería Últimos 6 min" }, + { "Blue battery Orange temp Cyan humidity", "Azul batería Naranja temp. Cian humedad" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth ya apagado" }, + { "Bluetooth already on", "Bluetooth ya activado" }, + { "Bluetooth off", "Bluetooth apagado" }, + { "Bluetooth on", "Bluetooth activado" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "El emparejamiento Bluetooth no está disponible en este dispositivo.\n\nEl firmware de fábrica del chip de radio no lo admite.\n\nEmpareja la app del móvil por Wi-Fi: conecta este dispositivo a tu red y añádelo en la app por su dirección IP (TCP, puerto 5000) — visible en Ajustes > Red. USB también funciona." }, + { "Broker host / IP", "Host / IP del broker" }, + { "Buffered receive (experimental)", "Recepción con búfer (experimental)" }, + { "Built-in", "Integrado" }, + { "Built-in (default)", "Integrado (predeterminado)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Calibrar batería (lleno = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Calibrado: 100%% = %u.%02u V (mantén para restablecer)" }, + { "Can't block — not a contact", "No se puede bloquear — no es un contacto" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "No se puede mostrar la imagen\n(solo JPEG, <= 1024 px)" }, + { "Cancel", "Cancelar" }, + { "Cancelled", "Cancelado" }, + { "Cannot open file", "No se puede abrir el archivo" }, + { "Catalog unavailable", "Catálogo no disponible" }, + { "Centered on %s", "Centrado en %s" }, + { "Changing orientation - rebooting...", "Cambiando orientación - reiniciando..." }, + { "Channel created", "Canal creado" }, + { "Channel joined", "Unido al canal" }, + { "Channel name", "Nombre del canal" }, + { "Channel not found", "Canal no encontrado" }, + { "Channel removed", "Canal eliminado" }, + { "Channel scope saved", "Alcance del canal guardado" }, + { "Channel settings", "Ajustes del canal" }, + { "Channel table is full", "Tabla de canales llena" }, + { "Channel table is full.", "La tabla de canales está llena." }, + { "Channel-specific regions can be set in each channel's settings.", "Las regiones por canal se configuran en los ajustes de cada canal." }, + { "Channels:", "Canales:" }, + { "Chat bubbles", "Burbujas de chat" }, + { "Chat bubbles: plain", "Burbujas: lisas" }, + { "Chat history is NOT saving", "El historial de chat NO se guarda" }, + { "Chat history save FAILED", "FALLÓ el guardado del historial de chat" }, + { "Chat icon", "Icono del chat" }, + { "Chat icon reset to letters", "Icono del chat restablecido a letras" }, + { "Chat icon set", "Icono del chat establecido" }, + { "Chat removed", "Chat eliminado" }, + { "Chat save fallback (failed tries)", "Respaldo de guardado del chat (intentos fallidos)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Chats, contactos, ajustes y una terminal mesh - todo en el navegador. Sin reinicio; el dispositivo conserva su pantalla normal." }, + { "Choose .wav from files", "Elegir .wav de archivos" }, + { "Choose your name", "Elige tu nombre" }, + { "Choose your region", "Elige tu región" }, + { "Clear", "Borrar" }, + { "Clear battery history?", "¿Borrar el historial de batería?" }, + { "Clear history", "Borrar historial" }, + { "Clear telemetry history for this node?", "¿Borrar el historial de telemetría de este nodo?" }, + { "Client repeat", "Repetición de cliente" }, + { "Clock synced", "Reloj sincronizado" }, + { "Clock: 12-hour", "Reloj: 12 horas" }, + { "Clock: 24-hour", "Reloj: 24 horas" }, + { "Close", "Cerrar" }, + { "Colourful chat bubbles", "Burbujas de chat coloridas" }, + { "Commands", "Comandos" }, + { "Community Preset", "Preajuste comunitario" }, + { "Community preset (meshcomod web)", "Preajuste comunidad (meshcomod web)" }, + { "Compact messages", "Mensajes compactos" }, + { "Compact messages (IRC style)", "Mensajes compactos (estilo IRC)" }, + { "Connect", "Conectar" }, + { "Connect Wi-Fi to reload tiles", "Conecta Wi-Fi para recargar teselas" }, + { "Connect to Wi-Fi", "Conectar a Wi-Fi" }, + { "Connect to Wi-Fi first", "Conéctate primero al Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Conéctate primero al Wi-Fi y vuelve a intentarlo." }, + { "Connect to Wi-Fi to get a browser address.", "Conéctate al Wi-Fi para obtener una dirección de navegador." }, + { "Connected", "Conectado" }, + { "Connected - a browser is viewing this screen.", "Conectado - un navegador está viendo esta pantalla." }, + { "Connecting...", "Conectando..." }, + { "Connecting…", "Conectando…" }, + { "Console not available on this build", "Consola no disponible en esta versión" }, + { "Contact added", "Contacto añadido" }, + { "Contact deleted", "Contacto eliminado" }, + { "Contact gone", "Contacto perdido" }, + { "Contact missing", "Falta el contacto" }, + { "Contacts", "Contactos" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Los contactos están en memoria interna - la tarjeta SD no se montó al arrancar. Reinserta la tarjeta y reinicia." }, + { "Contacts are on internal flash.", "Los contactos están en la memoria interna." }, + { "Contacts are saved to the SD card.", "Los contactos se guardan en la tarjeta SD." }, + { "Contacts full", "Contactos llenos" }, + { "Contacts:", "Contactos:" }, + { "Control", "Control" }, + { "Control this device from a browser", "Controla este dispositivo desde un navegador" }, + { "Copied %s", "%s copiado" }, + { "Copied - Paste in a folder", "Copiado - pega en una carpeta" }, + { "Copy", "Copiar" }, + { "Copy failed (no internal identity)", "Error al copiar (sin identidad interna)" }, + { "Copy internal data to SD", "Copiar datos internos a SD" }, + { "Copy secret", "Copiar secreto" }, + { "Copying internal data to SD...", "Copiando datos internos a la SD..." }, + { "Could not add", "No se pudo añadir" }, + { "Could not save the crash report", "No se pudo guardar el informe de fallo" }, + { "Couldn't delete", "No se pudo eliminar" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "No se pudieron obtener datos del terreno.\nComprueba la conexión y el\nservidor de elevación y\nvuelve a intentarlo." }, + { "Couldn't save the name to storage", "No se pudo guardar el nombre" }, + { "Couldn't send login", "No se pudo enviar el login" }, + { "Couldn't start the analyzer.\nTry again.", "No se pudo iniciar el analizador.\nInténtalo de nuevo." }, + { "Crash export failed", "Error al exportar el informe de fallo" }, + { "Create", "Crear" }, + { "Create QR", "Crear QR" }, + { "Create a private channel", "Crear un canal privado" }, + { "Create failed", "Error al crear" }, + { "Create private channel", "Crear canal privado" }, + { "Custom UTC offset (hours)", "Desfase UTC personalizado (horas)" }, + { "Cut", "Cortar" }, + { "Cut - Paste in a folder", "Cortado - pega en una carpeta" }, + { "DM sound", "Sonido de DM" }, + { "DND", "DND" }, + { "Danger zone", "Zona de peligro" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Datos -> tarjeta SD al reiniciar\n(tarjeta requerida)" }, + { "Data -> internal on reboot", "Datos -> interno al reiniciar" }, + { "Delete", "Eliminar" }, + { "Delete %d contact(s)?", "¿Eliminar %d contacto(s)?" }, + { "Delete chat", "Eliminar chat" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "¿Eliminar el chat con \"%s\"?\nSe borrará el historial." }, + { "Delete failed", "Error al eliminar" }, + { "Delete history", "Borrar historial" }, + { "Delete this backup file?\nThis cannot be undone.", "¿Eliminar este archivo de copia?\nNo se puede deshacer." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "¿Borrar todo el historial de este chat?\nEl chat en sí se conserva." }, + { "Deleted", "Eliminado" }, + { "Deleted %d", "%d eliminado(s)" }, + { "Deleted %d messages", "%d mensajes eliminados" }, + { "Deleting contacts", "Eliminando contactos" }, + { "Delivered", "Entregado" }, + { "Detailed sensors", "Sensores detallados" }, + { "Device clock differs from \"%s\" by %lu h%s", "El reloj difiere de \"%s\" en %lu h%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "El reloj difiere de \"%s\" en %lu min%s" }, + { "Device name hidden", "Nombre del dispositivo oculto" }, + { "Device name shown", "Nombre del dispositivo visible" }, + { "Device time:", "Hora del dispositivo:" }, + { "Diagnostics", "Diagnóstico" }, + { "Diagnostics are on the About page.", "La diagnostica è nella pagina Informazioni." }, + { "Discovered", "Descubiertos" }, + { "Discovered settings", "Ajustes de nodos descubiertos" }, + { "Display", "Pantalla" }, + { "Display name", "Nombre visible" }, + { "Distance in miles", "Distancia en millas" }, + { "Distance: km", "Distancia: km" }, + { "Distance: miles", "Distancia: millas" }, + { "Do Not Disturb", "No molestar" }, + { "Do Not Disturb off", "No molestar desactivado" }, + { "Do Not Disturb on", "No molestar activado" }, + { "Download failed", "Falló la descarga" }, + { "Download failed (network?)", "Falló la descarga (¿red?)" }, + { "Download mode", "Modo descarga" }, + { "Download mode… reflash over USB", "Modo descarga… reflashear por USB" }, + { "Downloaded - tap Use to switch", "Descargado - toca Usar para cambiar" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Descargando teselas del mapa…\n\nMantén el Wi-Fi conectado.\nLas teselas aparecen al llegar\ny se guardan para uso sin conexión." }, + { "Downloading…", "Descargando…" }, + { "Duty meter", "Medidor de ciclo" }, + { "Edge scroll", "Desplaz. borde" }, + { "Edit in Settings → Quick replies", "Editar en Ajustes → Respuestas rápidas" }, + { "Editing", "Editando" }, + { "Empty = plaintext to a private broker", "Vacío = texto plano a un broker privado" }, + { "Empty file", "Archivo vacío" }, + { "Enable Bluetooth", "Activar Bluetooth" }, + { "Enable MQTT bridge", "Activar puente MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Actívalo solo si tu repetidor reinunda una sola región. Si no, déjalo apagado — puede bloquear login/MD entre regiones." }, + { "Enable web access", "Activar acceso web" }, + { "Encryption key (optional)", "Clave de cifrado (opcional)" }, + { "End time", "Hora de fin" }, + { "Enter SSID first", "Introduce primero el SSID" }, + { "Enter a name", "Introduce un nombre" }, + { "Enter a network name", "Introduce un nombre de red" }, + { "Enter adds a new line", "Enter añade una línea" }, + { "Enter exactly 32 hex characters.", "Introduce exactamente 32 caracteres hex." }, + { "Enter key sends message", "La tecla Enter envía el mensaje" }, + { "Enter sends messages", "Enter envía los mensajes" }, + { "Enter the 32-hex secret shared by the channel creator.", "Introduce el secreto de 32 hex que comparte el creador del canal." }, + { "Entering remote mode - rebooting...", "Entrando en modo remoto - reiniciando..." }, + { "Erase all", "Borrar todo" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Borra identidad, contactos, canales, mensajes, Wi-Fi y todos los ajustes, luego reinicia." }, + { "Erasing everything…", "Borrando todo…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Cada nodo debe coincidir. Puedes cambiarlo luego en Ajustes." }, + { "Expansion Kit", "Kit de expansión" }, + { "Experimental", "Experimental" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Experimental - tiene problemas conocidos. Off = cursor de ratón suave." }, + { "Experimental saved", "Experimental guardado" }, + { "Export failed (can't open file)", "Error de exportación (no se abre el archivo)" }, + { "Export new backup", "Nueva copia" }, + { "Export settings", "Exportar ajustes" }, + { "Exporting settings…", "Exportando ajustes…" }, + { "External antenna selected", "Antena externa seleccionada" }, + { "Factory reset", "Rest. de fábrica" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "¿Restablecer de fábrica?\n\nBorra identidad, contactos, canales, mensajes, Wi-Fi y todos los ajustes. Irreversible." }, + { "Failed to save channel.", "Error al guardar el canal." }, + { "Favorites full (max %d)", "Favoritos llenos (máx %d)" }, + { "Favorites unsupported", "Favoritos no compatibles" }, + { "Fetching the app list from firmware.wadamesh.com", "Obteniendo la lista de apps de firmware.wadamesh.com" }, + { "Files", "Archivos" }, + { "Find", "Buscar" }, + { "Finish", "Finalizar" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nNo se pudo contactar el servidor" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Parpadear con mensaje nuevo" }, + { "Flood", "Difusión" }, + { "Flood advert sent", "Anuncio flood enviado" }, + { "Flood every", "Flood cada" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: retransmitido por la malla (multisalto).\nZero-hop: solo vecinos (sin retransmisión)." }, + { "Folder created", "Carpeta creada" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Para instalaciones con Launcher: guarda el firmware más reciente del canal elegido en la tarjeta SD (carpeta BINS)." }, + { "Forget network", "Olvidar la red" }, + { "Format", "Formatear" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "¿Formatear SD como MESHCOMOD (FAT32)?\nSe borrarán todos los datos de la tarjeta." }, + { "Format failed (no card / SD error)", "Error de formato (sin tarjeta / error SD)" }, + { "Frequency / bandwidth", "Frecuencia / ancho de banda" }, + { "Full", "Lleno" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Zumbador %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Zumbador %s\n%s" }, + { "GPS off", "GPS apagado" }, + { "GPS on", "GPS activado" }, + { "GPS serial baud", "Baudios serie GPS" }, + { "GPS unset", "GPS sin definir" }, + { "GPS: acquiring...", "GPS: buscando..." }, + { "GPS: fix", "GPS: fijado" }, + { "GPS: off", "GPS: apagado" }, + { "GPS: searching", "GPS: buscando" }, + { "Game over — score %d (tap to restart)", "Fin del juego — puntos %d (toca para reiniciar)" }, + { "Get", "Obtener" }, + { "Get Started", "Empezar" }, + { "Get test builds (beta)", "Recibir versiones de prueba (beta)" }, + { "Go", "Ir" }, + { "Green pressure Gray altitude", "Verde presión Gris altitud" }, + { "Hashtag name", "Nombre de hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Oculto - reactívalo en la Lua Store" }, + { "Hidden network", "Red oculta" }, + { "Hide", "Ocultar" }, + { "Hide device name", "Ocultar nombre del dispositivo" }, + { "Hide this app from the drawer?", "¿Ocultar esta app del cajón?" }, + { "High-gain receiver (FEM LNA)", "Receptor de alta ganancia (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Muy experimental. Reenvía el texto, el nombre del remitente y la marca de tiempo de cada mensaje que recibe tu nodo a un broker MQTT, donde cualquiera que pueda leer el broker podrá leerlos. Los mensajes directos son privados, de otras personas que nunca aceptaron ser compartidas. Usa un broker que controles, define una clave de cifrado abajo, y nunca un broker público." }, + { "History limit off", "Límite de historial desactivado" }, + { "Hotkey saved", "Atajo guardado" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Cómo aparecerás ante otros nodos. Puedes cambiarlo en Ajustes." }, + { "Humidity", "Humedad" }, + { "I accept the privacy risk", "Acepto el riesgo de privacidad" }, + { "Identity (public key)", "Identidad (clave pública)" }, + { "Idle power-save", "Ahorro de energía en reposo" }, + { "Idle sleep disabled", "Suspensión en reposo desactivada" }, + { "Idle sleep enabled", "Suspensión en reposo activada" }, + { "Image too large (>4 MB)", "Imagen demasiado grande (>4 MB)" }, + { "Import", "Importar" }, + { "Import backup", "Importar copia de seguridad" }, + { "Import failed (bad/unreadable JSON)", "Error de importación (JSON no válido)" }, + { "Import settings", "Importar ajustes" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "¿Importar esta copia?\nReemplaza identidad,\ncanales y contactos,\nluego reinicia." }, + { "Import: storage unavailable", "Importar: almacenamiento no disponible" }, + { "Importing settings…", "Importando ajustes…" }, + { "Inactive", "Inactivo" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Insertar emoji / símbolo" }, + { "Install", "Instalar" }, + { "Install a previous version", "Instalar una versión anterior" }, + { "Install an earlier version", "Instalar una versión anterior" }, + { "Install failed (network?)", "Falló la instalación (¿red?)" }, + { "Install update", "Instalar actualización" }, + { "Installed", "Instaladas" }, + { "Installing…", "Instalando…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Interna (integrada)\nExterna (MMCX)\nAuto (antiguo, por transmisión)" }, + { "Internal has no folders", "El interno no tiene carpetas" }, + { "Internal storage %s / %s", "Almacen. interno %s / %s" }, + { "Invalid lat/lon", "Lat/lon no válida" }, + { "Invalid max hops", "Saltos máx no válidos" }, + { "Invalid radio values", "Valores de radio no válidos" }, + { "Join", "Unirse" }, + { "Join a hashtag channel", "Unirse a un canal hashtag" }, + { "Join a private channel", "Unirse a un canal privado" }, + { "Join hashtag channel", "Unirse a canal de hashtag" }, + { "Join network", "Unirse a la red" }, + { "Join private channel", "Unirse a canal privado" }, + { "Join the public channel", "Unirse al canal público" }, + { "Joined %.40s", "Unido a %.40s" }, + { "Keep per chat (messages)", "Conservar por chat (mensajes)" }, + { "Key already in use", "Clave ya en uso" }, + { "Keyboard", "Teclado" }, + { "Keyboard backlight", "Retroiluminación del teclado" }, + { "Keyboard light auto", "Luz del teclado auto" }, + { "Keyboard light off", "Luz del teclado apagada" }, + { "Keyboard light on", "Luz del teclado encendida" }, + { "Keyboard nav: WASDZ on", "Nav. teclado: WASDZ act." }, + { "Keyboard nav: off", "Nav. teclado: desact." }, + { "Keyboard navigation", "Navegación por teclado" }, + { "LOS → %s", "Línea de vista → %s" }, + { "Landscape (desktop)", "Horizontal (escritorio)" }, + { "Landscape set - applies when remote mode starts.", "Horizontal fijado - se aplica al iniciar el modo remoto." }, + { "Language", "Idioma" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Catálogo de idiomas no disponible - revisa el Wi-Fi y reabre esta pestaña." }, + { "Language updated - restarting to apply it…", "Idioma actualizado - reiniciando para aplicarlo…" }, + { "Languages", "Idiomas" }, + { "Latitude", "Latitud" }, + { "Leave empty if not required", "Dejar vacío si no es necesario" }, + { "Leaving remote mode - rebooting...", "Saliendo del modo remoto - reiniciando..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Configuremos tu dispositivo.\n\nElegirás un nombre y tu región LoRa. Tarda alrededor de un minuto." }, + { "Letters only", "Solo letras" }, + { "LoRa antenna (P4)", "Antena LoRa (P4)" }, + { "Loading catalog…", "Cargando catálogo…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Cargando teselas del mapa…\n\nMantén el Wi-Fi conectado.\nLas teselas aparecen al llegar." }, + { "Loading map…", "Cargando mapa…" }, + { "Loading the language catalog…", "Cargando catálogo de idiomas…" }, + { "Loading...", "Cargando..." }, + { "Local every", "Local cada" }, + { "Local sensors", "Sensores locales" }, + { "Lock", "Bloquear" }, + { "Lock screen", "Pantalla de bloqueo" }, + { "Lock screen wallpaper", "Fondo de pantalla de bloqueo" }, + { "Lock text colour", "Color del texto de bloqueo" }, + { "Lock text colour set", "Color de texto de bloqueo establecido" }, + { "Lock wallpaper", "Fondo de bloqueo" }, + { "Lock wallpaper set", "Fondo de bloqueo establecido" }, + { "Lock when screen off", "Bloquear con pantalla apagada" }, + { "Locking…", "Bloqueando…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Se bloquea con la pantalla apagada\n(mantén Retroceso para desbloquear)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Se bloquea con pantalla apagada\n(mantén el d-pad para desbloquear)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Se bloquea con pantalla apagada\n(mantén el trackball para desbloquear)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Se bloquea con pantalla apagada\n(pulsa Bajar volumen para desbloquear)" }, + { "Locks when screen off\n(press the button to unlock)", "Se bloquea con pantalla apagada\n(pulsa el botón para desbloquear)" }, + { "Log in again", "Iniciar sesión de nuevo" }, + { "Logging in again...", "Iniciando sesión de nuevo..." }, + { "Logging in…", "Iniciando sesión…" }, + { "Login OK (perms %u)", "Sesión OK (perms %u)" }, + { "Login failed", "Error de inicio de sesión" }, + { "Logs", "Registros" }, + { "Longitude", "Longitud" }, + { "Lua Store", "Tienda Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Puente MQTT" }, + { "Map", "Mapa" }, + { "Map options", "Opciones de mapa" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Error de almacenamiento del mapa.\n\nTarjeta SD detectada pero la\ncaché de teselas no se montó.\nReinicia para reintentar." }, + { "Map storage error.\nReflash the tiles partition.", "Error de almacenamiento del mapa.\nReinstala la partición de teselas." }, + { "Map tiles: microSD", "Teselas: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Teselas del mapa: microSD\n\n/maps/osm/z/x/y.png\n(o /tiles/z/x/y.jpg)\n\nEl mapa aparece cuando se encuentra\nuna tesela para esta zona." }, + { "Map tiles: server", "Teselas: servidor" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Mapa — aún no hay paquete de teselas en SPIFFS.\n\nSube un paquete a /tiles///.jpg con el generador del host." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Mapa — establece tu ubicación\nen Ajustes → Perfil para\nmostrar el mapa aquí." }, + { "Mark all chats and channels as read?", "¿Marcar todos los chats y canales como leídos?" }, + { "Mark as read", "Marcar como leído" }, + { "Mark read", "Marcar como leído" }, + { "Marked read", "Marcado como leído" }, + { "Max hops (0..64)", "Saltos máx (0..64)" }, + { "Max zoom for this pack", "Zoom máx para este paquete" }, + { "Memory detail", "Detalle de memoria" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Salud de la malla: un advert flood lo reemite cada repetidor a su alcance, así que los floods frecuentes suman tiempo de aire para toda la red. Manténlos poco frecuentes (un día o más). Tus vecinos aún te ven por los adverts zero-hop y tus respuestas, así que haz flood sobre todo cuando nodos lejanos deban redescubrirte. Deja ambos apagados para anunciarte solo al pulsar los botones de arriba." }, + { "Message", "Mensaje" }, + { "Message LED", "LED de mensaje" }, + { "Message LED off", "LED de mensaje apagado" }, + { "Message LED on", "LED de mensaje encendido" }, + { "Message deleted", "Mensaje eliminado" }, + { "Message didn't get through.\nResend it?", "El mensaje no llegó.\n¿Reenviarlo?" }, + { "Message info", "Info del mensaje" }, + { "Message sound", "Sonido de mensaje" }, + { "Min zoom for this pack", "Zoom mín para este paquete" }, + { "Mode: BLE starting / low memory", "Modo: BLE iniciando / poca memoria" }, + { "Model:", "Modelo:" }, + { "Multi ACKs", "Multi-ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Repetir %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Enrutamiento multibyte (hash de ruta)" }, + { "Mute @", "Silenciar @" }, + { "Mute msgs", "Silenciar msjs" }, + { "Mute notification sound", "Silenciar sonido de notificación" }, + { "My position (no GPS fix)", "Mi posición (sin fijación GPS)" }, + { "Name", "Nombre" }, + { "Name can't be empty.", "El nombre no puede estar vacío." }, + { "Name fragment", "Fragmento de nombre" }, + { "Name saved", "Nombre guardado" }, + { "Navigation keys", "Teclas de navegación" }, + { "Navigation keys — tap a row, then press a key", "Teclas de navegación — toca una fila, luego pulsa una tecla" }, + { "Nearby on map", "Cerca en el mapa" }, + { "Network name", "Nombre de red" }, + { "Network name (SSID)", "Nombre de red (SSID)" }, + { "New", "Nuevo" }, + { "New DM", "Nuevo MD" }, + { "New channel msg", "Nuevo msj de canal" }, + { "New contact", "Nuevo contacto" }, + { "New file", "Nuevo archivo" }, + { "New folder", "Nueva carpeta" }, + { "New game", "Partida nueva" }, + { "New room msg", "Nuevo msj de sala" }, + { "Next", "Siguiente" }, + { "Night mode (invert)", "Modo noche (invertir)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "No se hallaron copias .json.\nExporta una, o copia un\nmeshcore-backup.json a la\ntarjeta SD o flash interna." }, + { "No @mentions yet", "Aún no hay @menciones" }, + { "No Bluetooth on this device", "Sin Bluetooth en este dispositivo" }, + { "No DM key", "Sin clave de MD" }, + { "No GPS module on this device.", "Sin módulo GPS en este dispositivo." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "No hay JPEG en /lock/.\nAñade imágenes con el gestor\nde archivos o una tarjeta SD." }, + { "No SD card", "Sin tarjeta SD" }, + { "No SD card (or unreadable format)", "Sin tarjeta SD (o formato ilegible)" }, + { "No backups yet. Tap Export new backup above to create one.", "Sin copias aún. Toca Nueva copia arriba para crear una." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Aún no hay historial de batería.\n\nRegistrado cada 5 minutos." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Sin usuarios bloqueados.\n\nMantén pulsado un mensaje y toca\nBloquear para añadir uno." }, + { "No contact for thread", "Sin contacto para el hilo" }, + { "No contact to trace", "Sin contacto para rastrear" }, + { "No contacts have shared\na GPS location yet.", "Ningún contacto ha compartido\nuna ubicación GPS aún." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Aún no hay nodos descubiertos.\n\nTodo lo que se oiga por radio y no esté en tus contactos aparecerá aquí. Si el auto-añadir está desactivado, puedes añadir nodos manualmente a tus contactos." }, + { "No earlier versions yet", "Aún no hay versiones anteriores" }, + { "No local expansion data", "Sin datos de expansión local" }, + { "No location for this contact", "Sin ubicación para este contacto" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Sin almacenamiento de mapa.\n\nInserta una tarjeta SD para teselas\nWi-Fi (o reinstala para restaurar\nla partición de teselas)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "No hay teselas aquí.\n\nConéctate a Wi-Fi (Ajustes → Wi-Fi)\npara descargar esta zona." }, + { "No mapped repeaters in this route", "Sin repetidores mapeados en esta ruta" }, + { "No networks found (2.4 GHz only)", "No se encontraron redes (solo 2.4 GHz)" }, + { "No onboard GPS", "Sin GPS integrado" }, + { "No other networks found", "No se encontraron otras redes" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Aún sin posición. Un arranque en frío necesita cielo despejado y puede tardar varios minutos." }, + { "No reply from %s", "Sin respuesta de %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Sin respuesta. Revisa contraseña, servidor\no reloj del dispositivo (dispositivo: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "No hay teselas guardadas aquí.\n\nConéctate a Wi-Fi (Ajustes → Wi-Fi)\npara descargar esta zona.\nLas teselas guardadas quedan disponibles sin conexión." }, + { "No system time yet", "Aún no hay hora del sistema" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Sin telemetría en esta ventana.\nSolicita una o amplía el rango abajo." }, + { "No tiles (non-ESP32)", "Sin teselas (no ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Aún no se conoce versión. Primero se necesitan Wi-Fi y una comprobación de actualización completada." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Nodo\nRegión\nRadio\nSeñal\nContactos\nCanales\nBatería\nActividad" }, + { "Node name", "Nombre del nodo" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normal (100%)\nGrande (150%)\nEnorme (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "No hay memoria suficiente para Bluetooth. Desactiva primero el Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "No hay memoria suficiente para Wi-Fi. Desactiva primero el Bluetooth." }, + { "Nothing selected", "Nada seleccionado" }, + { "Notification sound set", "Sonido de notificación establecido" }, + { "Notify on new contact", "Avisar con nuevo contacto" }, + { "Off", "Apagado" }, + { "Off\n1\n2\n3\n5\n8", "Apagado\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Apagado\n1 día\n2 días\n3 días\n7 días" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Apagado\n60 min\n90 min\n2 horas\n3 horas\n4 horas" }, + { "Offline", "Sin conexión" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Los mensajes más antiguos se descartan al superar esto. Un historial muy grande o ilimitado ralentiza la lista de chats." }, + { "On - open the address above in a phone browser.", "Activado - abre la dirección de arriba en el navegador del móvil." }, + { "On boot", "Al arrancar" }, + { "On map", "En el mapa" }, + { "Open Advertise app", "Abrir la app Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Abre un .wav y toca 'Establecer como sonido de notificación'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Abre un JPEG y toca 'Establecer como fondo'" }, + { "Open chat", "Abrir chat" }, + { "Open in a browser (same Wi-Fi):", "Abrir en un navegador (mismo Wi-Fi):" }, + { "Open in web", "Abrir en la web" }, + { "Open mesh console", "Abrir consola de la malla" }, + { "Optional — type your network, or leave blank to skip.", "Opcional — escribe tu red, o déjalo en blanco." }, + { "Orange temp Cyan humidity", "Naranja temp. Cian humedad" }, + { "Orientation (tap to rotate, reboots)", "Orientación (toca para girar, reinicia)" }, + { "Out of memory", "Sin memoria" }, + { "Overwrite oldest", "Sobrescribir el más antiguo" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "¿Sobrescribir los ajustes e identidad de la SD\ncon las copias internas\ny reiniciar?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG no se admite aquí\nUsa un JPEG" }, + { "Pairing code", "Código de emparejamiento" }, + { "Pairing code saved — reboot to apply", "Código de emparejamiento guardado — reinicia para aplicar" }, + { "Pairing code: %06lu", "Código de emparejamiento: %06lu" }, + { "Pairing code: n/a", "Código de emparejamiento: n/d" }, + { "Password (empty = open)", "Contraseña (vacío = abierta)" }, + { "Password (empty = skip Wi-Fi)", "Contraseña (vacío = omitir Wi-Fi)" }, + { "Password (optional)", "Contraseña (opcional)" }, + { "Password too long", "Contraseña demasiado larga" }, + { "Paste", "Pegar" }, + { "Paste failed", "Error al pegar" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Pega la clave pública de 64 hex y un nombre. Útil para enviar un MD antes de que llegue su anuncio." }, + { "Pasted", "Pegado" }, + { "Path hash: %u byte%s", "Hash de ruta: %u byte%s" }, + { "Path reset", "Ruta restablecida" }, + { "Path reset failed", "Error al restablecer ruta" }, + { "Paused — score %d", "En pausa — puntuación %d" }, + { "Per-transmit switching on", "Conmutación por transmisión activada" }, + { "Pick colour", "Elegir color" }, + { "Ping", "Ping" }, + { "Ping failed", "Error de ping" }, + { "Pinged (direct) — waiting…", "Ping (directo) — esperando…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — esperando…" }, + { "Play", "Reproducir" }, + { "Poll (min)", "Sondeo (min)" }, + { "Poll every", "Sondear cada" }, + { "Poll every %d min", "Sondear cada %d min" }, + { "Port", "Puerto" }, + { "Portrait set - applies when remote mode starts.", "Vertical fijado - se aplica al iniciar el modo remoto." }, + { "Position saved", "Posición guardada" }, + { "Power", "Energía" }, + { "Power off", "Apagar" }, + { "Powering off… click trackball to wake", "Apagando… pulsa el trackball para despertar" }, + { "Press a key…", "Pulsa una tecla…" }, + { "Probe now", "Sondear ahora" }, + { "Probing neighbours…", "Sondeando vecinos…" }, + { "Profile", "Perfil" }, + { "Pubkey must be 64 hex chars.", "La clave pública debe tener 64 hex." }, + { "Public channel ready", "Canal público listo" }, + { "Public key (64 hex chars)", "Clave pública (64 hex)" }, + { "Public key:", "Clave pública:" }, + { "Publish channel messages", "Publicar mensajes de canal" }, + { "Publish direct messages", "Publicar mensajes directos" }, + { "Purge", "Purgar" }, + { "Purge all discovered nodes?", "¿Purgar todos los nodos descubiertos?" }, + { "Quick replies", "Respuestas rápidas" }, + { "Quick reply", "Respuesta rápida" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d entradas · Raw %d entradas" }, + { "RX boosted gain", "Ganancia RX aumentada" }, + { "RX log", "Registro RX" }, + { "Radio & Mesh", "Radio y mesh" }, + { "Radio + region set", "Radio + región establecidas" }, + { "Radio applied", "Radio aplicada" }, + { "Radio off", "Radio apagada" }, + { "Radio: off", "Radio: apagada" }, + { "Range test", "Prueba de alcance" }, + { "RangeTest failed", "Error de RangeTest" }, + { "RangeTest sent (direct)", "RangeTest enviado (directo)" }, + { "RangeTest sent (flood)", "RangeTest enviado (flood)" }, + { "Raw log", "Registro sin procesar" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Lee paquetes en una tarea en segundo plano para que una pantalla ocupada no los pierda." }, + { "Reboot", "Reiniciar" }, + { "Reboot device", "Reiniciar dispositivo" }, + { "Rebooting...", "Reiniciando..." }, + { "Rebooting…", "Reiniciando…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Recibe firmware de prueba no publicado — funciones más nuevas, pero menos probadas. La comprobación y la instalación siguen el canal beta." }, + { "Recently heard", "Escuchado hace poco" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "¿Reformatear la SD como MESHCOMOD (FAT32)?\nSe borrarán TODOS los datos de la tarjeta." }, + { "Region & scope", "Región y alcance" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Alcance de región (#tag) para este canal.\nVacío = alcance predeterminado." }, + { "Region scope (#tag), blank = default.", "Ámbito de región (#tag), vacío = predeterminado." }, + { "Region scope (#tag, blank = none)", "Alcance de región (#tag, vacío = ninguno)" }, + { "Remember password", "Recordar contraseña" }, + { "Remote UI", "Interfaz remota" }, + { "Remote UI (on)", "Interfaz remota (activada)" }, + { "Remote access", "Acceso remoto" }, + { "Remote terminal", "Terminal remota" }, + { "Remote terminal (recommended)", "Terminal remota (recomendada)" }, + { "Remote terminal off", "Terminal remota desactivada" }, + { "Remove", "Quitar" }, + { "Remove %s?", "¿Eliminar %s?" }, + { "Remove channel", "Eliminar canal" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "¿Quitar el canal \"%s\"?\nSolo de este dispositivo." }, + { "Removed", "Eliminada" }, + { "Removed from favorites", "Quitado de favoritos" }, + { "Rename", "Renombrar" }, + { "Rename failed", "Error al renombrar" }, + { "Renamed", "Renombrado" }, + { "Replay", "Reproducir" }, + { "Replay route on map", "Reproducir ruta en el mapa" }, + { "Replaying route…", "Reproduciendo ruta…" }, + { "Resend", "Reenviar" }, + { "Resend failed", "Falló el reenvío" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Reenvía un mensaje hasta que un repetidor lo replique o el destinatario confirme. Desactívalo para enviar solo una vez." }, + { "Reset", "Restablecer" }, + { "Reset path", "Restablecer ruta" }, + { "Restarting to apply the language…", "Reiniciando para aplicar el idioma…" }, + { "Retry sends until heard", "Reenviar hasta ser oído" }, + { "Reverse scrollball", "Invertir la bola de desplazamiento" }, + { "Roll to highlight • click to insert", "Desplaza para resaltar • pulsa para insertar" }, + { "Room is read-only for you.\nJoin with the room password to post.", "La sala es de solo lectura para ti.\nÚnete con la contraseña de la sala para publicar." }, + { "Rotating - reconnecting...", "Girando - reconectando..." }, + { "Rotating… rebooting", "Girando… reiniciando" }, + { "Run setup again", "Ejecutar configuración de nuevo" }, + { "SD card %s", "Tarjeta SD %s" }, + { "SD card %s (hold: format)", "Tarjeta SD %s (mantener: formatear)" }, + { "SD card (tap to mount)", "Tarjeta SD (toca para montar)" }, + { "SD card inserted", "Tarjeta SD insertada" }, + { "SD card lost - reinsert to recover", "Tarjeta SD perdida - reinsértala" }, + { "SD card remounted", "Tarjeta SD remontada" }, + { "SD card removed", "Tarjeta SD retirada" }, + { "SD download failed: %s", "Fallo al descargar en SD: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formateada - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB usados" }, + { "SSID set — enter password, then Save", "SSID establecido — escribe la contraseña y Guardar" }, + { "SSID too long", "SSID demasiado largo" }, + { "Sample text", "Texto de ejemplo" }, + { "Save", "Guardar" }, + { "Save & restart", "Guardar y reiniciar" }, + { "Save / turn on", "Guardar / activar" }, + { "Save auto-add", "Guardar auto-añadir" }, + { "Save experimental", "Guardar experimental" }, + { "Save failed", "Error al guardar" }, + { "Save name", "Guardar nombre" }, + { "Save policy", "Guardar política" }, + { "Save position", "Guardar posición" }, + { "Save quick replies", "Guardar respuestas rápidas" }, + { "Save report", "Guardar informe" }, + { "Save update bin to SD", "Guardar la actualización en SD" }, + { "Saved", "Guardado" }, + { "Saved backups", "Copias guardadas" }, + { "Saved network", "Red guardada" }, + { "Saved profiles", "Perfiles guardados" }, + { "Saved to slot %d", "Guardado en ranura %d" }, + { "Saved — rebooting", "Guardado — reiniciando" }, + { "Saved — reconnecting…", "Guardado — reconectando…" }, + { "Saved: %s\nFlash it from the Launcher.", "Guardado: %s\nFlashéalo desde el Launcher." }, + { "Saving to SD… %d%%", "Guardando en SD… %d%%" }, + { "Saving to SD… 0%", "Guardando en SD… 0%" }, + { "Scan to open on phone", "Escanea para abrir en el móvil" }, + { "Scanning…", "Buscando…" }, + { "Scope direct msgs to region", "Limitar mensajes directos a la región" }, + { "Screen locked", "Pantalla bloqueada" }, + { "Screen timeout (s, 0 = never)", "Tiempo de pantalla (s, 0 = nunca)" }, + { "Screen timeout (s, 0 = never, min 10)", "Tiempo de pantalla (s, 0 = nunca, mín 10)" }, + { "Screen timeout: %ds", "Tiempo de pantalla: %ds" }, + { "Screen timeout: never", "Tiempo de pantalla: nunca" }, + { "Screen-off just dims", "Pantalla apagada solo atenúa" }, + { "Screenshot needs an SD card", "La captura necesita una tarjeta SD" }, + { "Screenshot: low memory", "Captura: poca memoria" }, + { "Screenshot: no SD card", "Captura: sin tarjeta SD" }, + { "Screenshot: write failed", "Captura: fallo de escritura" }, + { "Scrollball: normal", "Bola de desplazamiento: normal" }, + { "Scrollball: reversed", "Bola de desplazamiento: invertida" }, + { "Search", "Buscar" }, + { "Search contacts", "Buscar contactos" }, + { "Secondary keyboards", "Teclados secundarios" }, + { "Secret (32 hex chars)", "Secreto (32 hex)" }, + { "Secret (32 hex, optional)", "Secreto (32 hex, opcional)" }, + { "Secret must be 32 hex chars (or empty).", "El secreto debe tener 32 hex (o vacío)." }, + { "Select a DM thread", "Selecciona un hilo de MD" }, + { "Select all", "Seleccionar todo" }, + { "Select network", "Seleccionar red" }, + { "Send advert", "Enviar anuncio" }, + { "Send advert now", "Enviar anuncio ahora" }, + { "Send an advert now, or set how often you re-advertise.", "Envía un advert ahora, o define con qué frecuencia re-adviertes." }, + { "Send failed", "Error al enviar" }, + { "Sender blocked", "Remitente bloqueado" }, + { "Sensors tab: off (restart to apply)", "Pestaña sensores: desactivada (reinicia para aplicar)" }, + { "Sensors tab: on (restart to apply)", "Pestaña sensores: activada (reinicia para aplicar)" }, + { "Sent", "Enviado" }, + { "Set", "Fijar" }, + { "Set an SSID first", "Establece primero un SSID" }, + { "Set as notification sound", "Establecer como sonido de notificación" }, + { "Set as wallpaper", "Establecer como fondo" }, + { "Set your location first", "Establece primero tu ubicación" }, + { "Settings", "Ajustes" }, + { "Setup complete", "Configuración completa" }, + { "Share QR", "Compartir QR" }, + { "Share channel", "Compartir canal" }, + { "Share location in advert", "Compartir ubicación en anuncio" }, + { "Share secret", "Compartir secreto" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Comparte el secreto de 32 caracteres para que otros se unan. Déjalo vacío para uno aleatorio." }, + { "Share: %s", "Compartir: %s" }, + { "Show", "Mostrar" }, + { "Show Sensors tab", "Mostrar pestaña Sensores" }, + { "Show in the app drawer", "Mostrar en el cajón de apps" }, + { "Show link lines", "Mostrar líneas de enlace" }, + { "Show menu-bar letters", "Mostrar letras de la barra" }, + { "Show on chart", "Mostrar en gráfico" }, + { "Show on map", "Mostrar en mapa" }, + { "Sightline", "Línea de vista" }, + { "Signal & traffic", "Señal y tráfico" }, + { "Signal probe", "Sondeo de señal" }, + { "Skip", "Omitir" }, + { "Sleep ready", "Listo para dormir" }, + { "Slot %d cleared", "Ranura %d borrada" }, + { "Slot empty", "Ranura vacía" }, + { "Small\nMedium\nLarge", "Pequeño\nMediano\nGrande" }, + { "Snake — swipe or roll the trackball", "Snake — desliza o gira el trackball" }, + { "Sort", "Ordenar" }, + { "Sound", "Sonido" }, + { "Sound off", "Sonido apagado" }, + { "Sound on", "Sonido activado" }, + { "Sound: %s", "Sonido: %s" }, + { "Start time", "Hora de inicio" }, + { "Status", "Estado" }, + { "Step 1 of 3", "Paso 1 de 3" }, + { "Step 2 of 3", "Paso 2 de 3" }, + { "Step 3 of 3", "Paso 3 de 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Aún analizando la ruta\nanterior… reinténtalo en un momento." }, + { "Stop", "Detener" }, + { "Storage", "Almacenamiento" }, + { "Store data on SD (reboot)", "Guardar datos en SD (reinicio)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Transmite la pantalla como imagen en vivo que tocas para controlar. Más pesado; el panel muestra un marcador. Cambiarlo reinicia el dispositivo." }, + { "Switch", "Cambiar" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "¿Cambiar a la antena externa?\n\nAsegúrate primero de que hay una antena conectada al conector externo. Transmitir sin nada puede dañar la radio.\n\nVuelve a la antena integrada en cada reinicio." }, + { "Sync clock from system", "Sincronizar reloj" }, + { "System", "Sistema" }, + { "System info", "Info del sistema" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nClientes WS %d GPS %s Zumbador %s" }, + { "TCP off", "TCP apagado" }, + { "TCP on", "TCP activado" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Atajos de pestaña — toca una fila, luego una tecla" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Toca Usar para cambiar - el dispositivo se reinicia. Los archivos de idioma están en /lang del almacenamiento; edítalos o añade el tuyo." }, + { "Tap a language; the device reboots to apply.", "Toca un idioma; el dispositivo se reinicia." }, + { "Taste the rainbow!", "¡Saborea el arcoíris!" }, + { "Telemetry", "Telemetría" }, + { "Telemetry req (direct)…", "Solicitud telemetría (directo)…" }, + { "Telemetry req (flood)…", "Solicitud telemetría (flood)…" }, + { "Telemetry req failed", "Error de solicitud de telemetría" }, + { "Telemetry requests allowed", "Solicitudes de telemetría permitidas" }, + { "Telemetry requests off", "Solicitudes de telemetría desactivadas" }, + { "Telemetry req…", "Solic. telem…" }, + { "Telemetry settings", "Ajustes de telemetría" }, + { "Temperature", "Temperatura" }, + { "Test builds: off", "Compilaciones de prueba: off" }, + { "Test builds: on", "Compilaciones de prueba: on" }, + { "Theme", "Tema" }, + { "Theme colour", "Color del tema" }, + { "Then pick a mode:", "Luego elige un modo:" }, + { "This contact hasn't shared\na GPS position.", "Este contacto no ha compartido\nuna posición GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Este dispositivo puede usar Wi-Fi y Bluetooth a la vez, como radio independiente y compañero del teléfono (app MeshCore).\n\nUsar ambos consume más RAM, así que activa solo lo que necesites.\n\nConfigúralos cuando quieras en Ajustes." }, + { "Throttles the CPU when idle to save power", "Reduce la CPU en reposo para ahorrar energía" }, + { "Tile reload needs Wi-Fi build", "Recargar teselas requiere build Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Teselas borradas — reconecta Wi-Fi para descargar de nuevo" }, + { "Tiles from SD card", "Teselas desde tarjeta SD" }, + { "Time %s", "Hora %s" }, + { "Time offset (vs automatic)", "Desfase horario (vs automático)" }, + { "Time offset: %+d h", "Desfase horario: %+d h" }, + { "Time range (hours ago)", "Rango de tiempo (horas atrás)" }, + { "Time zone", "Zona horaria" }, + { "Time zone: %s", "Zona horaria: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Consejo: puedes buscar redes en Ajustes → Red tras la configuración." }, + { "Today", "Hoy" }, + { "Toggle GPS", "Alternar GPS" }, + { "Too large to edit (>8 KB)", "Demasiado grande para editar (>8 KB)" }, + { "Topographic map", "Mapa topográfico" }, + { "Trace", "Rastrear" }, + { "Trace SNR", "Rastrear SNR" }, + { "Trace failed", "Error de rastreo" }, + { "Trace route", "Rastrear ruta" }, + { "Trace sent…", "Rastreo enviado…" }, + { "Tracing route…", "Rastreando ruta…" }, + { "Trackball navigates UI", "Trackball navega la UI" }, + { "Trackball: cursor", "Trackball: cursor" }, + { "Trackball: navigate UI", "Trackball: navegar UI" }, + { "Turn Wi-Fi on first", "Activa primero el Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Activa el Wi-Fi y actualiza. Las apps ya instaladas siguen funcionando." }, + { "Turn off", "Apagar" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "¿Activar la conmutación antigua por transmisión?\n\nModo de diagnóstico, solo para comparar. Transmite por la antena integrada y escucha por la externa, así que tu señal saliente será mucho más débil que la entrante.\n\nVuelve a la antena integrada en cada reinicio." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "¿Desactivar el límite de historial?\n\nUn canal concurrido puede llenar todo el almacén de mensajes, lo que usa más espacio y ralentiza notablemente la lista y la app. Hazlo solo si de verdad necesitas todo el historial." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Actívalo y abre la dirección de abajo en cualquier navegador en el mismo Wi-Fi - sin app. La pantalla del dispositivo aparece en vivo y puedes tocar para controlarla." }, + { "Type a URL, then Go", "Escribe una URL y pulsa Ir" }, + { "Type a message...", "Escribe un mensaje..." }, + { "Type a new 6-digit code · applies after a reboot", "Escribe un nuevo código de 6 dígitos · se aplica al reiniciar" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Escribe el nombre de la red — o cambia a Wi-Fi en Ajustes para buscar" }, + { "UI size (restart to apply)", "Tamaño UI (reiniciar para aplicar)" }, + { "UI size saved — restart to apply", "Tamaño UI guardado — reinicia para aplicar" }, + { "USB powered", "Alimentado por USB" }, + { "Unblock", "Desbloquear" }, + { "Unblocked", "Desbloqueado" }, + { "Unfavorite it first", "Quítalo de favoritos primero" }, + { "Unlocking…", "Desbloqueando…" }, + { "Unmute @", "Reactivar @" }, + { "Unmute msgs", "Reactivar msjs" }, + { "Unread %d", "Sin leer %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Sin leer %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV no compatible (requiere PCM de 16 bits)" }, + { "Update", "Actualizar" }, + { "Update bin saved to SD", "Bin de actualización guardado en SD" }, + { "Update complete.\nRebooting...", "Actualización completa.\nReiniciando..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Actualiza en flasher.wadamesh.com\n(la actualización Wi-Fi está en pausa)" }, + { "Update via the Launcher", "Actualiza vía el Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Actualiza vía el Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Actualiza vía el Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Actualizado - reiniciando…" }, + { "Use", "Usar" }, + { "Username (optional)", "Nombre de usuario (opcional)" }, + { "Volume", "Volumen" }, + { "W up · A left · D right · Z down · S select · Q back", "W arriba · A izq. · D der. · Z abajo · S elegir · Q atrás" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Esperando Wi-Fi..." }, + { "Welcome to WADAMESH", "Bienvenido a WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Mientras esté activo, cualquiera en tu Wi-Fi puede ver y controlar este dispositivo. Usa HTTP plano (solo red local)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi y Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi no está habilitado en este build." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi no está disponible en este build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Wi-Fi necesario para el perfil\ndel terreno de esta ruta.\nConéctate en Ajustes → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi no conectado" }, + { "Wi-Fi off", "Wi-Fi apagado" }, + { "Wi-Fi on", "Wi-Fi activado" }, + { "Wi-Fi on, scanning…", "Wi-Fi activado, buscando…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi guardado (radio off)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi guardado, reconectando" }, + { "Yesterday", "Ayer" }, + { "You can run setup later in Settings → Device", "Puedes ejecutar la configuración luego en Ajustes → Dispositivo" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Tu ubicación es desconocida.\nEstablece GPS / posición en\nAjustes → Perfil primero." }, + { "Your name", "Tu nombre" }, + { "Your own apps", "Tus propias apps" }, + { "Zero-hop", "Cero saltos" }, + { "Zero-hop advert sent", "Anuncio zero-hop enviado" }, + { "Zoom: +/- buttons", "Zoom: botones +/-" }, + { "client connected", "cliente conectado" }, + { "command", "comando" }, + { "contacts (%d):", "contactos (%d):" }, + { "diag boot...", "arranque diag..." }, + { "double-tap SPACE cycles through the ones you enable", "doble toque en ESPACIO recorre los activados" }, + { "drive the UI without the screen; keys still type in text fields", "controla la UI sin la pantalla; las teclas siguen escribiendo" }, + { "e.g. Family", "p. ej. Familia" }, + { "e.g. mesh", "p. ej. mesh" }, + { "from", "de" }, + { "h to", "h a" }, + { "hold Backspace to unlock", "mantén Retroceso para desbloquear" }, + { "hold the d-pad to unlock", "mantén el d-pad para desbloquear" }, + { "hold the trackball to unlock", "mantén el trackball para desbloquear" }, + { "kHz", "kHz" }, + { "keep holding", "mantén pulsado" }, + { "last wake: ", "último despertar: " }, + { "leave empty to generate", "dejar vacío para generar" }, + { "lights the keyboard + wakes the screen on an incoming message", "ilumina el teclado + despierta la pantalla al recibir un mensaje" }, + { "mesh link armed", "enlace mesh armado" }, + { "mesh busy", "malla ocupada" }, + { "min (0=off)", "min (0=apagado)" }, + { "mkdir failed", "Error al crear carpeta" }, + { "n/a in this build", "n/d en este build" }, + { "now on channel %s", "ahora en el canal %s" }, + { "now talking to %s", "ahora hablando con %s" }, + { "off", "desactivado" }, + { "off = Enter adds a new line; tap Send to send", "off = Enter añade una línea nueva; toca Enviar para enviar" }, + { "on", "activado" }, + { "peak --", "pico --" }, + { "pick accented letters as you type; off = plain typing", "elige letras acentuadas al escribir; desactivado = escritura simple" }, + { "press Volume Down to unlock", "pulsa Bajar Volumen para desbloquear" }, + { "push past a screen edge to scroll content", "empuja más allá del borde para desplazar" }, + { "score %d", "puntos %d" }, + { "search", "buscar" }, + { "tap for details", "toca para detalles" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "toca la tecla de idioma (p. ej. EN) del teclado para recorrer las activadas" }, + { "tap to cancel", "toca para cancelar" }, + { "tap to exit full screen", "toca para salir de pantalla completa" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "amplificador ~17 dB para zonas tranquilas/remotas; apaga en zonas ruidosas." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_it[] = { + { " (device behind)", " (dispositivo indietro)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d punti di copertura · %lu salvati su SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: attesa del fix GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d sulla mappa" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d vicini (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u tipi · salti %u · manuale %s" }, + { "(RTC unset)", "(RTC non impostato)" }, + { "(device behind)", "(dispositivo indietro)" }, + { "(no default)", "(nessun predefinito)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 byte (legacy)\n2 byte\n3 byte" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nSenza limite" }, + { "12-hour clock", "Orologio 12 ore" }, + { "32 hex characters", "32 caratteri hex" }, + { "32-hex secret. Anyone with this can read the channel.", "Segreto 32 hex. Chiunque lo abbia può leggere il canale." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Menzioni" }, + { "@ mention sound", "Suono menzioni @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ADVERT AUTOMATICI" }, + { "About", "Informazioni" }, + { "About the map", "Informazioni sulla mappa" }, + { "Accent popups", "Popup accenti" }, + { "Accent popups: off", "Popup accenti: disattivi" }, + { "Accent popups: on", "Popup accenti: attivi" }, + { "Ack", "Ack" }, + { "Active", "Attivo" }, + { "Add", "Aggiungi" }, + { "Add channel", "Aggiungi canale" }, + { "Add contact", "Aggiungi contatto" }, + { "Added", "Aggiunto" }, + { "Added to contacts", "Aggiunto ai contatti" }, + { "Added to favorites", "Aggiunto ai preferiti" }, + { "Admin", "Admin" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert non riuscito" }, + { "Advert location", "Posizione advert" }, + { "Advert policy saved", "Criterio advert salvato" }, + { "Advert sent", "Advert inviato" }, + { "All marked read", "Tutto segnato come letto" }, + { "Already exists", "Esiste già" }, + { "Already exists or table full.", "Esiste già o tabella piena." }, + { "Already in contacts", "Già nei contatti" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Dopo un riavvio parte sempre sull'antenna integrata. Scegli Esterna solo con un'antenna montata sulla presa esterna." }, + { "Analyzing terrain…", "Analisi del terreno…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Analisi del terreno…\n(tentativo %d di 3)" }, + { "Answer telemetry requests", "Rispondi alle richieste di telemetria" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Chiunque può unirsi. La chiave deriva dall'hashtag (minuscolo)." }, + { "App drawer as home", "Drawer app come home" }, + { "App icon size", "Dimensione icone app" }, + { "Applies after restart.", "Attivo dopo il riavvio." }, + { "Apply", "Applica" }, + { "Apply auto-poll", "Applica auto-poll" }, + { "Apply radio params", "Applica parametri radio" }, + { "Apps", "App" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Frecce + Invio funzionano sempre. Queste lettere sono extra: tocca una riga, poi premi un tasto." }, + { "Auto advert", "Annuncio automatico" }, + { "Auto chat", "Chat auto" }, + { "Auto repeater", "Ripetitore auto" }, + { "Auto room", "Stanza auto" }, + { "Auto sensor", "Sensore auto" }, + { "Auto-Join", "Auto-join" }, + { "Auto-add contacts", "Aggiunta automatica contatti" }, + { "Auto-add saved", "Auto-aggiunta salvata" }, + { "Auto-add settings", "Impostazioni aggiunta automatica" }, + { "Auto-delete above hops", "Auto-elimina oltre i salti" }, + { "Auto-delete oldest", "Auto-elimina i più vecchi" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Auto-elimina i più vecchi libera spazio quando è pieno. Salti: 0 = conserva tutti; i nodi sentiti con più salti vengono rimossi." }, + { "Auto-discover", "Rilevamento auto" }, + { "Auto-discover off", "Rilevamento auto disattivato" }, + { "Auto-discover on", "Rilevamento auto attivato" }, + { "Auto-poll every", "Auto-poll ogni" }, + { "Auto-refresh off", "Aggiornamento auto disattivato" }, + { "Auto-refresh on", "Aggiornamento auto attivato" }, + { "Available", "Disponibili" }, + { "BLE off", "BLE spento" }, + { "BLE on", "BLE acceso" }, + { "BT", "BT" }, + { "Back", "Indietro" }, + { "Backups", "Backup" }, + { "Battery", "Batteria" }, + { "Battery & power history", "Cronologia batteria e alimentazione" }, + { "Battery (V)", "Batteria (V)" }, + { "Battery calibration reset to default", "Calibrazione batteria ripristinata" }, + { "Battery read too low — charge fully first", "Lettura batteria troppo bassa — carica prima" }, + { "Battery saver (experimental)", "Risparmio batteria (sperimentale)" }, + { "Battery — last 24h", "Batteria — ultime 24h" }, + { "Battery:", "Batteria:" }, + { "Block", "Blocca" }, + { "Block list full", "Lista blocchi piena" }, + { "Blocked list", "Lista bloccati" }, + { "Blocked users", "Utenti bloccati" }, + { "Blocked — their messages are hidden", "Bloccato — messaggi nascosti" }, + { "Blocking unsupported", "Blocco non supportato" }, + { "Blue battery Last 6 min", "Blu batteria Ultimi 6 min" }, + { "Blue battery Orange temp Cyan humidity", "Blu batteria Arancio temp. Ciano umidità" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth già spento" }, + { "Bluetooth already on", "Bluetooth già acceso" }, + { "Bluetooth off", "Bluetooth spento" }, + { "Bluetooth on", "Bluetooth acceso" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "L'abbinamento Bluetooth non è disponibile su questo dispositivo.\n\nIl firmware di fabbrica del chip radio non lo supporta.\n\nAbbina l'app del telefono via Wi-Fi: collega il dispositivo alla tua rete e aggiungilo nell'app tramite indirizzo IP (TCP, porta 5000) — visibile in Impostazioni > Rete. Funziona anche l'USB." }, + { "Broker host / IP", "Host / IP del broker" }, + { "Buffered receive (experimental)", "Ricezione bufferizzata (sperimentale)" }, + { "Built-in", "Integrato" }, + { "Built-in (default)", "Integrato (predefinito)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Calibra batteria (pieno = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Calibrato: 100%% = %u.%02u V (tieni premuto per ripristinare)" }, + { "Can't block — not a contact", "Impossibile bloccare — non è un contatto" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Impossibile mostrare l'immagine\n(solo JPEG, <= 1024 px)" }, + { "Cancel", "Annulla" }, + { "Cancelled", "Annullato" }, + { "Cannot open file", "Impossibile aprire il file" }, + { "Catalog unavailable", "Catalogo non disponibile" }, + { "Centered on %s", "Centrato su %s" }, + { "Changing orientation - rebooting...", "Cambio orientamento - riavvio..." }, + { "Channel created", "Canale creato" }, + { "Channel joined", "Canale unito" }, + { "Channel name", "Nome canale" }, + { "Channel not found", "Canale non trovato" }, + { "Channel removed", "Canale rimosso" }, + { "Channel scope saved", "Ambito canale salvato" }, + { "Channel settings", "Impostazioni canale" }, + { "Channel table is full", "Tabella canali piena" }, + { "Channel table is full.", "La tabella dei canali è piena." }, + { "Channel-specific regions can be set in each channel's settings.", "Le regioni per canale si impostano nelle impostazioni di ciascun canale." }, + { "Channels:", "Canali:" }, + { "Chat bubbles", "Fumetti chat" }, + { "Chat bubbles: plain", "Fumetti: semplici" }, + { "Chat history is NOT saving", "La cronologia chat NON viene salvata" }, + { "Chat history save FAILED", "Salvataggio cronologia chat FALLITO" }, + { "Chat icon", "Icona chat" }, + { "Chat icon reset to letters", "Icona chat ripristinata alle lettere" }, + { "Chat icon set", "Icona chat impostata" }, + { "Chat removed", "Chat rimossa" }, + { "Chat save fallback (failed tries)", "Fallback salvataggio chat (tentativi falliti)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Chat, contatti, impostazioni e un terminale mesh - tutto nel browser. Nessun riavvio; il dispositivo mantiene il suo schermo normale." }, + { "Choose .wav from files", "Scegli un .wav dai file" }, + { "Choose your name", "Scegli il tuo nome" }, + { "Choose your region", "Scegli la tua regione" }, + { "Clear", "Cancella" }, + { "Clear battery history?", "Cancellare la cronologia batteria?" }, + { "Clear history", "Cancella cronologia" }, + { "Clear telemetry history for this node?", "Cancellare la cronologia telemetria di questo nodo?" }, + { "Client repeat", "Ripetizione client" }, + { "Clock synced", "Orologio sincronizzato" }, + { "Clock: 12-hour", "Orologio: 12 ore" }, + { "Clock: 24-hour", "Orologio: 24 ore" }, + { "Close", "Chiudi" }, + { "Colourful chat bubbles", "Fumetti chat colorati" }, + { "Commands", "Comandi" }, + { "Community Preset", "Preset della community" }, + { "Community preset (meshcomod web)", "Preset community (meshcomod web)" }, + { "Compact messages", "Messaggi compatti" }, + { "Compact messages (IRC style)", "Messaggi compatti (stile IRC)" }, + { "Connect", "Connetti" }, + { "Connect Wi-Fi to reload tiles", "Connetti Wi-Fi per ricaricare i riquadri" }, + { "Connect to Wi-Fi", "Connetti al Wi-Fi" }, + { "Connect to Wi-Fi first", "Prima connettiti al Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Connettiti prima al Wi-Fi, poi riprova." }, + { "Connect to Wi-Fi to get a browser address.", "Connettiti al Wi-Fi per avere un indirizzo per il browser." }, + { "Connected", "Connesso" }, + { "Connected - a browser is viewing this screen.", "Connesso - un browser sta guardando questo schermo." }, + { "Connecting...", "Connessione..." }, + { "Connecting…", "Connessione…" }, + { "Console not available on this build", "Console non disponibile in questa build" }, + { "Contact added", "Contatto aggiunto" }, + { "Contact deleted", "Contatto eliminato" }, + { "Contact gone", "Contatto perso" }, + { "Contact missing", "Contatto mancante" }, + { "Contacts", "Contatti" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "I contatti sono sulla memoria interna - la scheda SD non si è montata all'avvio. Reinserisci la scheda e riavvia." }, + { "Contacts are on internal flash.", "I contatti sono sulla memoria interna." }, + { "Contacts are saved to the SD card.", "I contatti sono salvati sulla scheda SD." }, + { "Contacts full", "Contatti pieni" }, + { "Contacts:", "Contatti:" }, + { "Control", "Controllo" }, + { "Control this device from a browser", "Controlla questo dispositivo da un browser" }, + { "Copied %s", "%s copiato" }, + { "Copied - Paste in a folder", "Copiato - incolla in una cartella" }, + { "Copy", "Copia" }, + { "Copy failed (no internal identity)", "Copia non riuscita (nessuna identità interna)" }, + { "Copy internal data to SD", "Copia dati interni su SD" }, + { "Copy secret", "Copia segreto" }, + { "Copying internal data to SD...", "Copia dei dati interni su SD..." }, + { "Could not add", "Impossibile aggiungere" }, + { "Could not save the crash report", "Impossibile salvare il rapporto di crash" }, + { "Couldn't delete", "Impossibile eliminare" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Impossibile scaricare i dati del terreno.\nControlla la connessione e il\nserver di elevazione, poi\nriprova." }, + { "Couldn't save the name to storage", "Impossibile salvare il nome" }, + { "Couldn't send login", "Impossibile inviare il login" }, + { "Couldn't start the analyzer.\nTry again.", "Impossibile avviare l'analizzatore.\nRiprova." }, + { "Crash export failed", "Esportazione crash non riuscita" }, + { "Create", "Crea" }, + { "Create QR", "Crea QR" }, + { "Create a private channel", "Crea un canale privato" }, + { "Create failed", "Creazione non riuscita" }, + { "Create private channel", "Crea canale privato" }, + { "Custom UTC offset (hours)", "Offset UTC personalizzato (ore)" }, + { "Cut", "Taglia" }, + { "Cut - Paste in a folder", "Tagliato - incolla in una cartella" }, + { "DM sound", "Suono DM" }, + { "DND", "DND" }, + { "Danger zone", "Zona pericolosa" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Dati -> scheda SD al riavvio\n(scheda richiesta)" }, + { "Data -> internal on reboot", "Dati -> interno al riavvio" }, + { "Delete", "Elimina" }, + { "Delete %d contact(s)?", "Eliminare %d contatti?" }, + { "Delete chat", "Elimina chat" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Eliminare la chat con \"%s\"?\nLa cronologia sarà cancellata." }, + { "Delete failed", "Eliminazione non riuscita" }, + { "Delete history", "Elimina cronologia" }, + { "Delete this backup file?\nThis cannot be undone.", "Eliminare questo file di backup?\nNon è reversibile." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Eliminare l'intera cronologia di questa chat?\nLa chat resta." }, + { "Deleted", "Eliminato" }, + { "Deleted %d", "%d eliminati" }, + { "Deleted %d messages", "%d messaggi eliminati" }, + { "Deleting contacts", "Eliminazione contatti" }, + { "Delivered", "Consegnato" }, + { "Detailed sensors", "Sensori dettagliati" }, + { "Device clock differs from \"%s\" by %lu h%s", "L'orologio differisce da \"%s\" di %lu h%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "L'orologio differisce da \"%s\" di %lu min%s" }, + { "Device name hidden", "Nome dispositivo nascosto" }, + { "Device name shown", "Nome dispositivo visibile" }, + { "Device time:", "Ora dispositivo:" }, + { "Diagnostics", "Diagnostica" }, + { "Diagnostics are on the About page.", "Диагностика на странице «О программе»." }, + { "Discovered", "Scoperti" }, + { "Discovered settings", "Impostazioni nodi scoperti" }, + { "Display", "Schermo" }, + { "Display name", "Nome visualizzato" }, + { "Distance in miles", "Distanza in miglia" }, + { "Distance: km", "Distanza: km" }, + { "Distance: miles", "Distanza: miglia" }, + { "Do Not Disturb", "Non disturbare" }, + { "Do Not Disturb off", "Non disturbare disattivo" }, + { "Do Not Disturb on", "Non disturbare attivo" }, + { "Download failed", "Download non riuscito" }, + { "Download failed (network?)", "Download non riuscito (rete?)" }, + { "Download mode", "Modalità download" }, + { "Download mode… reflash over USB", "Modalità download… riflashare via USB" }, + { "Downloaded - tap Use to switch", "Scaricato - tocca Usa per cambiare" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Scaricamento tasselli mappa…\n\nMantieni il Wi-Fi connesso.\nI tasselli appaiono all'arrivo\ne vengono salvati per l'uso offline." }, + { "Downloading…", "Download…" }, + { "Duty meter", "Misuratore duty" }, + { "Edge scroll", "Scorri bordo" }, + { "Edit in Settings → Quick replies", "Modifica in Impostazioni → Risposte rapide" }, + { "Editing", "Modifica" }, + { "Empty = plaintext to a private broker", "Vuoto = testo in chiaro a un broker privato" }, + { "Empty file", "File vuoto" }, + { "Enable Bluetooth", "Attiva Bluetooth" }, + { "Enable MQTT bridge", "Attiva ponte MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Attiva solo se il tuo ripetitore rifonde una sola regione. Altrimenti lascia off — può bloccare login/MD tra regioni." }, + { "Enable web access", "Attiva accesso web" }, + { "Encryption key (optional)", "Chiave di cifratura (opzionale)" }, + { "End time", "Ora di fine" }, + { "Enter SSID first", "Inserisci prima l'SSID" }, + { "Enter a name", "Inserisci un nome" }, + { "Enter a network name", "Inserisci un nome di rete" }, + { "Enter adds a new line", "Invio aggiunge una riga" }, + { "Enter exactly 32 hex characters.", "Inserisci esattamente 32 caratteri hex." }, + { "Enter key sends message", "Il tasto Invio invia il messaggio" }, + { "Enter sends messages", "Invio invia i messaggi" }, + { "Enter the 32-hex secret shared by the channel creator.", "Inserisci il segreto 32 hex condiviso dal creatore del canale." }, + { "Entering remote mode - rebooting...", "Ingresso in modalità remota - riavvio..." }, + { "Erase all", "Cancella tutto" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Cancella identità, contatti, canali, messaggi, Wi-Fi e tutte le impostazioni, poi riavvia." }, + { "Erasing everything…", "Cancellazione…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Ogni nodo deve corrispondere. Modificabile dopo in Impostazioni." }, + { "Expansion Kit", "Kit di espansione" }, + { "Experimental", "Sperimentale" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Sperimentale - ha problemi noti. Off = cursore mouse software." }, + { "Experimental saved", "Sperimentale salvato" }, + { "Export failed (can't open file)", "Esportazione non riuscita (file non apribile)" }, + { "Export new backup", "Nuovo backup" }, + { "Export settings", "Esporta impostazioni" }, + { "Exporting settings…", "Esportazione impostazioni…" }, + { "External antenna selected", "Antenna esterna selezionata" }, + { "Factory reset", "Ripristino fabbrica" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Ripristino di fabbrica?\n\nCancella identità, contatti, canali, messaggi, Wi-Fi e ogni impostazione. Irreversibile." }, + { "Failed to save channel.", "Impossibile salvare il canale." }, + { "Favorites full (max %d)", "Preferiti pieni (max %d)" }, + { "Favorites unsupported", "Preferiti non supportati" }, + { "Fetching the app list from firmware.wadamesh.com", "Recupero elenco app da firmware.wadamesh.com" }, + { "Files", "File" }, + { "Find", "Trova" }, + { "Finish", "Fine" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nServer di aggiornamento irraggiungibile" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Lampeggia a nuovo messaggio" }, + { "Flood", "Flood" }, + { "Flood advert sent", "Advert flood inviato" }, + { "Flood every", "Flood ogni" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: inoltrato sulla mesh (multi-hop).\nZero-hop: solo vicini (nessun inoltro)." }, + { "Folder created", "Cartella creata" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Per installazioni Launcher: salva l'ultimo firmware del canale scelto sulla scheda SD (cartella BINS)." }, + { "Forget network", "Dimentica rete" }, + { "Format", "Formatta" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Formattare SD come MESHCOMOD (FAT32)?\nTutti i dati sulla scheda verranno cancellati." }, + { "Format failed (no card / SD error)", "Formattazione non riuscita (nessuna scheda / errore SD)" }, + { "Frequency / bandwidth", "Frequenza / larghezza di banda" }, + { "Full", "Pieno" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Cicalino %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Cicalino %s\n%s" }, + { "GPS off", "GPS spento" }, + { "GPS on", "GPS acceso" }, + { "GPS serial baud", "Baud seriale GPS" }, + { "GPS unset", "GPS non impostato" }, + { "GPS: acquiring...", "GPS: ricerca..." }, + { "GPS: fix", "GPS: fix" }, + { "GPS: off", "GPS: spento" }, + { "GPS: searching", "GPS: ricerca" }, + { "Game over — score %d (tap to restart)", "Game over — punteggio %d (tocca per ricominciare)" }, + { "Get", "Scarica" }, + { "Get Started", "Inizia" }, + { "Get test builds (beta)", "Ricevi build di test (beta)" }, + { "Go", "Vai" }, + { "Green pressure Gray altitude", "Verde pressione Grigio altitudine" }, + { "Hashtag name", "Nome hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Nascosta - riattivala nel Lua Store" }, + { "Hidden network", "Rete nascosta" }, + { "Hide", "Nascondi" }, + { "Hide device name", "Nascondi nome dispositivo" }, + { "Hide this app from the drawer?", "Nascondere questa app dal cassetto?" }, + { "High-gain receiver (FEM LNA)", "Ricevitore ad alto guadagno (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Molto sperimentale. Inoltra il testo, il nome del mittente e l'orario di ogni messaggio che il tuo nodo riceve a un broker MQTT, dove chiunque possa leggere il broker può leggerli. I messaggi diretti sono privati, da altre persone che non hanno mai accettato di essere condivise. Usa un broker che controlli, imposta una chiave di cifratura sotto, e mai un broker pubblico." }, + { "History limit off", "Limite cronologia disattivato" }, + { "Hotkey saved", "Scorciatoia salvata" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Come apparirai agli altri nodi. Modificabile in Impostazioni." }, + { "Humidity", "Umidità" }, + { "I accept the privacy risk", "Accetto il rischio per la privacy" }, + { "Identity (public key)", "Identità (chiave pubblica)" }, + { "Idle power-save", "Risparmio energetico in inattività" }, + { "Idle sleep disabled", "Sospensione in inattività disatt." }, + { "Idle sleep enabled", "Sospensione in inattività attiva" }, + { "Image too large (>4 MB)", "Immagine troppo grande (>4 MB)" }, + { "Import", "Importa" }, + { "Import backup", "Importa backup" }, + { "Import failed (bad/unreadable JSON)", "Importazione non riuscita (JSON non valido)" }, + { "Import settings", "Importa impostazioni" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Importare questo backup?\nSostituisce identità,\ncanali e contatti,\npoi riavvia." }, + { "Import: storage unavailable", "Importa: archiviazione non disponibile" }, + { "Importing settings…", "Importazione impostazioni…" }, + { "Inactive", "Inattivo" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Inserisci emoji / simbolo" }, + { "Install", "Installa" }, + { "Install a previous version", "Installa una versione precedente" }, + { "Install an earlier version", "Installa una versione precedente" }, + { "Install failed (network?)", "Installazione non riuscita (rete?)" }, + { "Install update", "Installa aggiornamento" }, + { "Installed", "Installate" }, + { "Installing…", "Installazione…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Interna (integrata)\nEsterna (MMCX)\nAuto (legacy, per trasmissione)" }, + { "Internal has no folders", "L'interno non ha cartelle" }, + { "Internal storage %s / %s", "Archiviazione interna %s / %s" }, + { "Invalid lat/lon", "Lat/lon non valida" }, + { "Invalid max hops", "Hop max non validi" }, + { "Invalid radio values", "Valori radio non validi" }, + { "Join", "Unisciti" }, + { "Join a hashtag channel", "Unisciti a un canale hashtag" }, + { "Join a private channel", "Unisciti a un canale privato" }, + { "Join hashtag channel", "Unisciti a canale hashtag" }, + { "Join network", "Unisciti alla rete" }, + { "Join private channel", "Unisciti a canale privato" }, + { "Join the public channel", "Unisciti al canale pubblico" }, + { "Joined %.40s", "Unito a %.40s" }, + { "Keep per chat (messages)", "Da conservare per chat (messaggi)" }, + { "Key already in use", "Chiave già in uso" }, + { "Keyboard", "Tastiera" }, + { "Keyboard backlight", "Retroilluminazione tastiera" }, + { "Keyboard light auto", "Luce tastiera auto" }, + { "Keyboard light off", "Luce tastiera spenta" }, + { "Keyboard light on", "Luce tastiera accesa" }, + { "Keyboard nav: WASDZ on", "Nav. tastiera: WASDZ on" }, + { "Keyboard nav: off", "Nav. tastiera: off" }, + { "Keyboard navigation", "Navigazione da tastiera" }, + { "LOS → %s", "Vista diretta → %s" }, + { "Landscape (desktop)", "Orizzontale (desktop)" }, + { "Landscape set - applies when remote mode starts.", "Orizzontale impostato - vale all'avvio della modalità remota." }, + { "Language", "Lingua" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Catalogo lingue non disponibile - controlla il Wi-Fi e riapri questa scheda." }, + { "Language updated - restarting to apply it…", "Lingua aggiornata - riavvio per applicarla…" }, + { "Languages", "Lingue" }, + { "Latitude", "Latitudine" }, + { "Leave empty if not required", "Lascia vuoto se non richiesto" }, + { "Leaving remote mode - rebooting...", "Uscita dalla modalità remota - riavvio..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Configuriamo il tuo dispositivo.\n\nSceglierai un nome e la tua regione LoRa. Richiede circa un minuto." }, + { "Letters only", "Solo lettere" }, + { "LoRa antenna (P4)", "Antenna LoRa (P4)" }, + { "Loading catalog…", "Caricamento catalogo…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Caricamento tasselli mappa…\n\nMantieni il Wi-Fi connesso.\nI tasselli appaiono all'arrivo." }, + { "Loading map…", "Caricamento mappa…" }, + { "Loading the language catalog…", "Caricamento catalogo lingue…" }, + { "Loading...", "Caricamento..." }, + { "Local every", "Locale ogni" }, + { "Local sensors", "Sensori locali" }, + { "Lock", "Blocca" }, + { "Lock screen", "Schermata di blocco" }, + { "Lock screen wallpaper", "Sfondo schermata di blocco" }, + { "Lock text colour", "Colore testo blocco" }, + { "Lock text colour set", "Colore testo blocco impostato" }, + { "Lock wallpaper", "Sfondo blocco" }, + { "Lock wallpaper set", "Sfondo blocco impostato" }, + { "Lock when screen off", "Blocca a schermo spento" }, + { "Locking…", "Blocco…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Si blocca a schermo spento\n(tieni premuto Backspace per sbloccare)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Si blocca a schermo spento\n(tieni il d-pad per sbloccare)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Si blocca a schermo spento\n(tieni il trackball per sbloccare)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Si blocca a schermo spento\n(premi Volume Giù per sbloccare)" }, + { "Locks when screen off\n(press the button to unlock)", "Si blocca a schermo spento\n(premi il pulsante per sbloccare)" }, + { "Log in again", "Accedi di nuovo" }, + { "Logging in again...", "Nuovo accesso..." }, + { "Logging in…", "Accesso…" }, + { "Login OK (perms %u)", "Accesso OK (permessi %u)" }, + { "Login failed", "Accesso non riuscito" }, + { "Logs", "Log" }, + { "Longitude", "Longitudine" }, + { "Lua Store", "Lua Store" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Ponte MQTT" }, + { "Map", "Mappa" }, + { "Map options", "Opzioni mappa" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Errore archiviazione mappa.\n\nScheda SD rilevata ma la\ncache riquadri non si è montata.\nRiavvia per riprovare." }, + { "Map storage error.\nReflash the tiles partition.", "Errore archiviazione mappa.\nRiflasha la partizione tiles." }, + { "Map tiles: microSD", "Riquadri: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Tasselli mappa: microSD\n\n/maps/osm/z/x/y.png\n(o /tiles/z/x/y.jpg)\n\nLa mappa appare quando si trova\nun tassello per questa zona." }, + { "Map tiles: server", "Riquadri: server" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Mappa — nessun pacchetto tasselli su SPIFFS.\n\nCarica un pacchetto in /tiles///.jpg con il generatore lato host." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Mappa — imposta la posizione\nin Impostazioni → Profilo per\nmostrare la mappa qui." }, + { "Mark all chats and channels as read?", "Segnare tutte le chat e i canali come letti?" }, + { "Mark as read", "Segna come letto" }, + { "Mark read", "Segna come letto" }, + { "Marked read", "Segnato come letto" }, + { "Max hops (0..64)", "Hop max (0..64)" }, + { "Max zoom for this pack", "Zoom max per questo pacchetto" }, + { "Memory detail", "Dettaglio memoria" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Salute della mesh: un advert flood viene ritrasmesso da ogni ripetitore a portata, quindi flood frequenti aumentano il tempo d'antenna per l'intera rete. Tienili rari (un giorno o più). I tuoi vicini ti vedono ancora dagli advert zero-hop e dalle tue risposte, quindi fai flood soprattutto quando nodi lontani devono riscoprirti. Lascia entrambi off per annunciarti solo toccando i pulsanti sopra." }, + { "Message", "Messaggio" }, + { "Message LED", "LED messaggi" }, + { "Message LED off", "LED messaggi off" }, + { "Message LED on", "LED messaggi on" }, + { "Message deleted", "Messaggio eliminato" }, + { "Message didn't get through.\nResend it?", "Il messaggio non è arrivato.\nInviarlo di nuovo?" }, + { "Message info", "Info messaggio" }, + { "Message sound", "Suono messaggi" }, + { "Min zoom for this pack", "Zoom min per questo pacchetto" }, + { "Mode: BLE starting / low memory", "Modalità: BLE avvio / memoria scarsa" }, + { "Model:", "Modello:" }, + { "Multi ACKs", "Multi-ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Ripeti %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Routing multi-byte (hash percorso)" }, + { "Mute @", "Muto @" }, + { "Mute msgs", "Muto msg" }, + { "Mute notification sound", "Silenzia suono notifiche" }, + { "My position (no GPS fix)", "La mia posizione (nessun fix GPS)" }, + { "Name", "Nome" }, + { "Name can't be empty.", "Il nome non può essere vuoto." }, + { "Name fragment", "Frammento nome" }, + { "Name saved", "Nome salvato" }, + { "Navigation keys", "Tasti di navigazione" }, + { "Navigation keys — tap a row, then press a key", "Tasti di navigazione — tocca una riga, poi premi un tasto" }, + { "Nearby on map", "Vicino sulla mappa" }, + { "Network name", "Nome rete" }, + { "Network name (SSID)", "Nome rete (SSID)" }, + { "New", "Nuovo" }, + { "New DM", "Nuovo MD" }, + { "New channel msg", "Nuovo msg canale" }, + { "New contact", "Nuovo contatto" }, + { "New file", "Nuovo file" }, + { "New folder", "Nuova cartella" }, + { "New game", "Nuova partita" }, + { "New room msg", "Nuovo msg stanza" }, + { "Next", "Avanti" }, + { "Night mode (invert)", "Modalità notte (inverti)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Nessun backup .json trovato.\nEsportane uno, o copia un\nmeshcore-backup.json sulla\nscheda SD o flash interna." }, + { "No @mentions yet", "Ancora nessuna @menzione" }, + { "No Bluetooth on this device", "Nessun Bluetooth su questo dispositivo" }, + { "No DM key", "Nessuna chiave MD" }, + { "No GPS module on this device.", "Nessun modulo GPS su questo dispositivo." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Nessun JPEG in /lock/.\nAggiungi immagini dal gestore\nfile o da una scheda SD." }, + { "No SD card", "Nessuna scheda SD" }, + { "No SD card (or unreadable format)", "Nessuna scheda SD (o formato illeggibile)" }, + { "No backups yet. Tap Export new backup above to create one.", "Nessun backup. Tocca Nuovo backup sopra per crearne uno." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Ancora nessuno storico batteria.\n\nRegistrato ogni 5 minuti." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Nessun utente bloccato.\n\nTieni premuto un messaggio e tocca\nBlocca per aggiungerne uno." }, + { "No contact for thread", "Nessun contatto per la conversazione" }, + { "No contact to trace", "Nessun contatto da tracciare" }, + { "No contacts have shared\na GPS location yet.", "Nessun contatto ha ancora\ncondiviso una posizione GPS." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Ancora nessun nodo scoperto.\n\nTutto ciò che si sente via radio e non è nei tuoi contatti apparirà qui. Se l'aggiunta automatica è disattivata, puoi aggiungere nodi manualmente." }, + { "No earlier versions yet", "Ancora nessuna versione precedente" }, + { "No local expansion data", "Nessun dato di espansione locale" }, + { "No location for this contact", "Nessuna posizione per questo contatto" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Nessuna archiviazione mappa.\n\nInserisci una scheda SD per i\nriquadri Wi-Fi (o riflasha per\nripristinare la partizione tiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Nessuna tessera qui.\n\nConnettiti al Wi-Fi (Impostazioni → Wi-Fi)\nper scaricare quest'area." }, + { "No mapped repeaters in this route", "Nessun ripetitore mappato in questa rotta" }, + { "No networks found (2.4 GHz only)", "Nessuna rete trovata (solo 2.4 GHz)" }, + { "No onboard GPS", "Nessun GPS integrato" }, + { "No other networks found", "Nessun'altra rete trovata" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Ancora nessuna posizione. Un avvio a freddo richiede cielo libero e può durare diversi minuti." }, + { "No reply from %s", "Nessuna risposta da %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Nessuna risposta. Controlla password, server\no orologio del dispositivo (dispositivo: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Nessuna tessera salvata qui.\n\nConnettiti al Wi-Fi (Impostazioni → Wi-Fi)\nper scaricare quest'area.\nLe tessere salvate restano disponibili offline." }, + { "No system time yet", "Ora di sistema non ancora disponibile" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Nessuna telemetria in questa finestra.\nRichiedine una o amplia l'intervallo sotto." }, + { "No tiles (non-ESP32)", "Nessun riquadro (non-ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Nessuna versione nota. Servono prima il Wi-Fi e un controllo aggiornamenti completato." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Nodo\nRegione\nRadio\nSegnale\nContatti\nCanali\nBatteria\nAttività" }, + { "Node name", "Nome nodo" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normale (100%)\nGrande (150%)\nEnorme (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Memoria insufficiente per il Bluetooth. Disattiva prima il Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Memoria insufficiente per il Wi-Fi. Disattiva prima il Bluetooth." }, + { "Nothing selected", "Niente selezionato" }, + { "Notification sound set", "Suono di notifica impostato" }, + { "Notify on new contact", "Avvisa a nuovo contatto" }, + { "Off", "Spento" }, + { "Off\n1\n2\n3\n5\n8", "Spento\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Spento\n1 giorno\n2 giorni\n3 giorni\n7 giorni" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Spento\n60 min\n90 min\n2 ore\n3 ore\n4 ore" }, + { "Offline", "Offline" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Oltre questo limite i messaggi più vecchi vengono scartati. Una cronologia molto grande o illimitata rallenta l'elenco chat." }, + { "On - open the address above in a phone browser.", "Attivo - apri l'indirizzo qui sopra nel browser del telefono." }, + { "On boot", "All'avvio" }, + { "On map", "Sulla mappa" }, + { "Open Advertise app", "Apri l'app Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Apri un .wav, poi tocca 'Imposta come suono di notifica'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Apri un JPEG, poi tocca 'Imposta come sfondo'" }, + { "Open chat", "Apri chat" }, + { "Open in a browser (same Wi-Fi):", "Apri in un browser (stesso Wi-Fi):" }, + { "Open in web", "Apri sul web" }, + { "Open mesh console", "Apri console mesh" }, + { "Optional — type your network, or leave blank to skip.", "Opzionale — digita la rete, o lascia vuoto." }, + { "Orange temp Cyan humidity", "Arancione temp. Ciano umidità" }, + { "Orientation (tap to rotate, reboots)", "Orientamento (tocca per ruotare, riavvia)" }, + { "Out of memory", "Memoria esaurita" }, + { "Overwrite oldest", "Sovrascrivi il più vecchio" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Sovrascrivere impostazioni e identità della SD\ncon le copie interne\ne poi riavviare?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG non supportato qui\nUsa un JPEG" }, + { "Pairing code", "Codice di accoppiamento" }, + { "Pairing code saved — reboot to apply", "Codice di accoppiamento salvato — riavvia per applicare" }, + { "Pairing code: %06lu", "Codice di accoppiamento: %06lu" }, + { "Pairing code: n/a", "Codice di accoppiamento: n/d" }, + { "Password (empty = open)", "Password (vuoto = aperta)" }, + { "Password (empty = skip Wi-Fi)", "Password (vuoto = salta Wi-Fi)" }, + { "Password (optional)", "Password (facoltativa)" }, + { "Password too long", "Password troppo lunga" }, + { "Paste", "Incolla" }, + { "Paste failed", "Incolla non riuscito" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Incolla la chiave pubblica 64 hex e un nome. Utile per inviare un MD prima dell'advert." }, + { "Pasted", "Incollato" }, + { "Path hash: %u byte%s", "Hash percorso: %u byte%s" }, + { "Path reset", "Percorso reimpostato" }, + { "Path reset failed", "Reset percorso non riuscito" }, + { "Paused — score %d", "In pausa — punteggio %d" }, + { "Per-transmit switching on", "Commutazione per trasmissione attiva" }, + { "Pick colour", "Scegli colore" }, + { "Ping", "Ping" }, + { "Ping failed", "Ping non riuscito" }, + { "Pinged (direct) — waiting…", "Ping (diretto) — attesa…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — attesa…" }, + { "Play", "Riproduci" }, + { "Poll (min)", "Sondaggio (min)" }, + { "Poll every", "Sondaggio ogni" }, + { "Poll every %d min", "Sondaggio ogni %d min" }, + { "Port", "Porta" }, + { "Portrait set - applies when remote mode starts.", "Verticale impostato - vale all'avvio della modalità remota." }, + { "Position saved", "Posizione salvata" }, + { "Power", "Alimentazione" }, + { "Power off", "Spegni" }, + { "Powering off… click trackball to wake", "Spegnimento… clicca la trackball per riattivare" }, + { "Press a key…", "Premi un tasto…" }, + { "Probe now", "Sonda ora" }, + { "Probing neighbours…", "Ricerca vicini…" }, + { "Profile", "Profilo" }, + { "Pubkey must be 64 hex chars.", "La chiave pubblica deve avere 64 hex." }, + { "Public channel ready", "Canale pubblico pronto" }, + { "Public key (64 hex chars)", "Chiave pubblica (64 hex)" }, + { "Public key:", "Chiave pubblica:" }, + { "Publish channel messages", "Pubblica messaggi del canale" }, + { "Publish direct messages", "Pubblica messaggi diretti" }, + { "Purge", "Elimina" }, + { "Purge all discovered nodes?", "Eliminare tutti i nodi scoperti?" }, + { "Quick replies", "Risposte rapide" }, + { "Quick reply", "Risposta rapida" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d voci · Raw %d voci" }, + { "RX boosted gain", "Guadagno RX potenziato" }, + { "RX log", "Log RX" }, + { "Radio & Mesh", "Radio e mesh" }, + { "Radio + region set", "Radio + regione impostate" }, + { "Radio applied", "Radio applicata" }, + { "Radio off", "Radio spenta" }, + { "Radio: off", "Radio: spenta" }, + { "Range test", "Test di portata" }, + { "RangeTest failed", "RangeTest non riuscito" }, + { "RangeTest sent (direct)", "RangeTest inviato (diretto)" }, + { "RangeTest sent (flood)", "RangeTest inviato (flood)" }, + { "Raw log", "Log grezzo" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Legge i pacchetti in un task in background così uno schermo occupato non li perde." }, + { "Reboot", "Riavvia" }, + { "Reboot device", "Riavvia dispositivo" }, + { "Rebooting...", "Riavvio..." }, + { "Rebooting…", "Riavvio…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Ricevi firmware di prova non rilasciato — funzioni più recenti, ma meno testate. Il controllo e l'installazione seguono il canale beta." }, + { "Recently heard", "Sentito di recente" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Riformattare la SD come MESHCOMOD (FAT32)?\nTUTTI i dati sulla scheda saranno cancellati." }, + { "Region & scope", "Regione e ambito" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Ambito regione (#tag) per questo canale.\nVuoto = ambito predefinito." }, + { "Region scope (#tag), blank = default.", "Ambito regione (#tag), vuoto = predefinito." }, + { "Region scope (#tag, blank = none)", "Ambito regione (#tag, vuoto = nessuno)" }, + { "Remember password", "Ricorda password" }, + { "Remote UI", "UI remota" }, + { "Remote UI (on)", "UI remota (attiva)" }, + { "Remote access", "Accesso remoto" }, + { "Remote terminal", "Terminale remoto" }, + { "Remote terminal (recommended)", "Terminale remoto (consigliato)" }, + { "Remote terminal off", "Terminale remoto spento" }, + { "Remove", "Rimuovi" }, + { "Remove %s?", "Rimuovere %s?" }, + { "Remove channel", "Rimuovi canale" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Rimuovere il canale \"%s\"?\nSolo da questo dispositivo." }, + { "Removed", "Rimossa" }, + { "Removed from favorites", "Rimosso dai preferiti" }, + { "Rename", "Rinomina" }, + { "Rename failed", "Rinomina non riuscita" }, + { "Renamed", "Rinominato" }, + { "Replay", "Riproduci" }, + { "Replay route on map", "Riproduci la rotta sulla mappa" }, + { "Replaying route…", "Riproduzione rotta…" }, + { "Resend", "Reinvia" }, + { "Resend failed", "Reinvio non riuscito" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Reinvia un messaggio finché un ripetitore non lo rilancia o il destinatario conferma. Disattiva per inviare una sola volta." }, + { "Reset", "Ripristina" }, + { "Reset path", "Reimposta percorso" }, + { "Restarting to apply the language…", "Riavvio per applicare la lingua…" }, + { "Retry sends until heard", "Reinvia finché non ricevuto" }, + { "Reverse scrollball", "Inverti scrollball" }, + { "Roll to highlight • click to insert", "Scorri per evidenziare • clicca per inserire" }, + { "Room is read-only for you.\nJoin with the room password to post.", "La stanza è di sola lettura per te.\nEntra con la password della stanza per pubblicare." }, + { "Rotating - reconnecting...", "Rotazione - riconnessione..." }, + { "Rotating… rebooting", "Rotazione… riavvio" }, + { "Run setup again", "Esegui di nuovo la configurazione" }, + { "SD card %s", "Scheda SD %s" }, + { "SD card %s (hold: format)", "Scheda SD %s (tieni: formatta)" }, + { "SD card (tap to mount)", "Scheda SD (tocca per montare)" }, + { "SD card inserted", "Scheda SD inserita" }, + { "SD card lost - reinsert to recover", "Scheda SD persa - reinserirla" }, + { "SD card remounted", "Scheda SD rimontata" }, + { "SD card removed", "Scheda SD rimossa" }, + { "SD download failed: %s", "Download su SD non riuscito: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formattata - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB usati" }, + { "SSID set — enter password, then Save", "SSID impostato — inserisci la password, poi Salva" }, + { "SSID too long", "SSID troppo lungo" }, + { "Sample text", "Testo di esempio" }, + { "Save", "Salva" }, + { "Save & restart", "Salva e riavvia" }, + { "Save / turn on", "Salva / attiva" }, + { "Save auto-add", "Salva auto-aggiunta" }, + { "Save experimental", "Salva sperimentale" }, + { "Save failed", "Salvataggio non riuscito" }, + { "Save name", "Salva nome" }, + { "Save policy", "Salva criterio" }, + { "Save position", "Salva posizione" }, + { "Save quick replies", "Salva risposte rapide" }, + { "Save report", "Salva rapporto" }, + { "Save update bin to SD", "Salva l'aggiornamento su SD" }, + { "Saved", "Salvato" }, + { "Saved backups", "Backup salvati" }, + { "Saved network", "Rete salvata" }, + { "Saved profiles", "Profili salvati" }, + { "Saved to slot %d", "Salvato nello slot %d" }, + { "Saved — rebooting", "Salvato — riavvio" }, + { "Saved — reconnecting…", "Salvato — riconnessione…" }, + { "Saved: %s\nFlash it from the Launcher.", "Salvato: %s\nFlashalo dal Launcher." }, + { "Saving to SD… %d%%", "Salvataggio su SD… %d%%" }, + { "Saving to SD… 0%", "Salvataggio su SD… 0%" }, + { "Scan to open on phone", "Scansiona per aprire sul telefono" }, + { "Scanning…", "Scansione…" }, + { "Scope direct msgs to region", "Limita i messaggi diretti alla regione" }, + { "Screen locked", "Schermo bloccato" }, + { "Screen timeout (s, 0 = never)", "Timeout schermo (s, 0 = mai)" }, + { "Screen timeout (s, 0 = never, min 10)", "Timeout schermo (s, 0 = mai, min 10)" }, + { "Screen timeout: %ds", "Timeout schermo: %ds" }, + { "Screen timeout: never", "Timeout schermo: mai" }, + { "Screen-off just dims", "Schermo spento solo attenua" }, + { "Screenshot needs an SD card", "Lo screenshot richiede una scheda SD" }, + { "Screenshot: low memory", "Screenshot: memoria insufficiente" }, + { "Screenshot: no SD card", "Screenshot: nessuna scheda SD" }, + { "Screenshot: write failed", "Screenshot: scrittura non riuscita" }, + { "Scrollball: normal", "Scrollball: normale" }, + { "Scrollball: reversed", "Scrollball: invertita" }, + { "Search", "Cerca" }, + { "Search contacts", "Cerca contatti" }, + { "Secondary keyboards", "Tastiere secondarie" }, + { "Secret (32 hex chars)", "Segreto (32 hex)" }, + { "Secret (32 hex, optional)", "Segreto (32 hex, opzionale)" }, + { "Secret must be 32 hex chars (or empty).", "Il segreto deve essere 32 hex (o vuoto)." }, + { "Select a DM thread", "Seleziona una conversazione MD" }, + { "Select all", "Seleziona tutto" }, + { "Select network", "Seleziona rete" }, + { "Send advert", "Invia advert" }, + { "Send advert now", "Invia advert ora" }, + { "Send an advert now, or set how often you re-advertise.", "Invia un advert ora, o imposta ogni quanto ripubblicare l'advert." }, + { "Send failed", "Invio non riuscito" }, + { "Sender blocked", "Mittente bloccato" }, + { "Sensors tab: off (restart to apply)", "Scheda sensori: off (riavvia per applicare)" }, + { "Sensors tab: on (restart to apply)", "Scheda sensori: on (riavvia per applicare)" }, + { "Sent", "Inviato" }, + { "Set", "Imposta" }, + { "Set an SSID first", "Imposta prima un SSID" }, + { "Set as notification sound", "Imposta come suono di notifica" }, + { "Set as wallpaper", "Imposta come sfondo" }, + { "Set your location first", "Imposta prima la posizione" }, + { "Settings", "Impostazioni" }, + { "Setup complete", "Configurazione completata" }, + { "Share QR", "Condividi QR" }, + { "Share channel", "Condividi canale" }, + { "Share location in advert", "Condividi posizione in advert" }, + { "Share secret", "Condividi segreto" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Condividi il segreto di 32 caratteri per far unire altri. Lascia vuoto per uno casuale." }, + { "Share: %s", "Condividi: %s" }, + { "Show", "Mostra" }, + { "Show Sensors tab", "Mostra scheda Sensori" }, + { "Show in the app drawer", "Mostra nel cassetto app" }, + { "Show link lines", "Mostra linee di collegamento" }, + { "Show menu-bar letters", "Mostra lettere della barra" }, + { "Show on chart", "Mostra su grafico" }, + { "Show on map", "Mostra su mappa" }, + { "Sightline", "Linea di vista" }, + { "Signal & traffic", "Segnale e traffico" }, + { "Signal probe", "Sonda del segnale" }, + { "Skip", "Salta" }, + { "Sleep ready", "Pronto per lo standby" }, + { "Slot %d cleared", "Slot %d cancellato" }, + { "Slot empty", "Slot vuoto" }, + { "Small\nMedium\nLarge", "Piccolo\nMedio\nGrande" }, + { "Snake — swipe or roll the trackball", "Snake — scorri o gira la trackball" }, + { "Sort", "Ordina" }, + { "Sound", "Suono" }, + { "Sound off", "Suono spento" }, + { "Sound on", "Suono acceso" }, + { "Sound: %s", "Suono: %s" }, + { "Start time", "Ora di inizio" }, + { "Status", "Stato" }, + { "Step 1 of 3", "Passo 1 di 3" }, + { "Step 2 of 3", "Passo 2 di 3" }, + { "Step 3 of 3", "Passo 3 di 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Analisi del percorso precedente\nin corso… riprova tra poco." }, + { "Stop", "Ferma" }, + { "Storage", "Archiviazione" }, + { "Store data on SD (reboot)", "Salva dati su SD (riavvio)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Trasmette lo schermo come immagine dal vivo da toccare per controllare. Più pesante; il pannello mostra un segnaposto. Il cambio riavvia il dispositivo." }, + { "Switch", "Cambia" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Passare all'antenna esterna?\n\nAssicurati prima che un'antenna sia davvero collegata alla presa esterna. Trasmettere senza nulla può danneggiare la radio.\n\nTorna all'antenna integrata a ogni riavvio." }, + { "Sync clock from system", "Sincronizza orologio" }, + { "System", "Sistema" }, + { "System info", "Info di sistema" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nClient WS %d GPS %s Cicalino %s" }, + { "TCP off", "TCP spento" }, + { "TCP on", "TCP acceso" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Tasti scheda — tocca una riga, poi premi un tasto" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Tocca Usa per cambiare - il dispositivo si riavvia. I file lingua sono in /lang sulla memoria; modificali o aggiungi i tuoi." }, + { "Tap a language; the device reboots to apply.", "Tocca una lingua; il dispositivo si riavvia." }, + { "Taste the rainbow!", "Assapora l'arcobaleno!" }, + { "Telemetry", "Telemetria" }, + { "Telemetry req (direct)…", "Richiesta telemetria (diretto)…" }, + { "Telemetry req (flood)…", "Richiesta telemetria (flood)…" }, + { "Telemetry req failed", "Richiesta telemetria non riuscita" }, + { "Telemetry requests allowed", "Richieste telemetria consentite" }, + { "Telemetry requests off", "Richieste telemetria disattivate" }, + { "Telemetry req…", "Richieste tel…" }, + { "Telemetry settings", "Impostazioni telemetria" }, + { "Temperature", "Temperatura" }, + { "Test builds: off", "Build di test: off" }, + { "Test builds: on", "Build di test: on" }, + { "Theme", "Tema" }, + { "Theme colour", "Colore tema" }, + { "Then pick a mode:", "Poi scegli una modalità:" }, + { "This contact hasn't shared\na GPS position.", "Questo contatto non ha condiviso\nuna posizione GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Questo dispositivo può usare Wi-Fi e Bluetooth insieme, come radio autonoma e compagno del telefono (app MeshCore).\n\nUsarli entrambi consuma più RAM, quindi attiva solo ciò che serve.\n\nConfigurali quando vuoi in Impostazioni." }, + { "Throttles the CPU when idle to save power", "Rallenta la CPU da inattiva per risparmiare energia" }, + { "Tile reload needs Wi-Fi build", "La ricarica riquadri richiede build Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Tessere cancellate — riconnetti il Wi-Fi per riscaricare" }, + { "Tiles from SD card", "Riquadri da scheda SD" }, + { "Time %s", "Ora %s" }, + { "Time offset (vs automatic)", "Sfasamento orario (vs automatico)" }, + { "Time offset: %+d h", "Sfasamento orario: %+d h" }, + { "Time range (hours ago)", "Intervallo (ore fa)" }, + { "Time zone", "Fuso orario" }, + { "Time zone: %s", "Fuso orario: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Suggerimento: cerca reti in Impostazioni → Rete dopo la configurazione." }, + { "Today", "Oggi" }, + { "Toggle GPS", "Attiva/disattiva GPS" }, + { "Too large to edit (>8 KB)", "Troppo grande da modificare (>8 KB)" }, + { "Topographic map", "Mappa topografica" }, + { "Trace", "Traccia" }, + { "Trace SNR", "Traccia SNR" }, + { "Trace failed", "Tracciamento non riuscito" }, + { "Trace route", "Traccia percorso" }, + { "Trace sent…", "Traccia inviata…" }, + { "Tracing route…", "Tracciamento percorso…" }, + { "Trackball navigates UI", "La trackball naviga UI" }, + { "Trackball: cursor", "Trackball: cursore" }, + { "Trackball: navigate UI", "Trackball: naviga UI" }, + { "Turn Wi-Fi on first", "Attiva prima il Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Attiva il Wi-Fi e aggiorna. Le app già installate continuano a funzionare." }, + { "Turn off", "Spegni" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Attivare la vecchia commutazione per trasmissione?\n\nModalità diagnostica, solo per confronto. Trasmette sull'antenna integrata e ascolta su quella esterna: il segnale in uscita sarà molto più debole di quello in entrata.\n\nTorna all'antenna integrata a ogni riavvio." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Disattivare il limite della cronologia?\n\nUn canale affollato può riempire tutto l'archivio messaggi: più spazio usato e lista chat e app nettamente più lente. Fallo solo se ti serve davvero l'intero archivio." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Attivalo e apri l'indirizzo qui sotto in un browser sulla stessa Wi-Fi - nessuna app necessaria. Lo schermo del dispositivo appare dal vivo nel browser e puoi toccarlo per controllarlo." }, + { "Type a URL, then Go", "Digita un URL, poi Vai" }, + { "Type a message...", "Scrivi un messaggio..." }, + { "Type a new 6-digit code · applies after a reboot", "Inserisci un nuovo codice a 6 cifre · attivo dopo il riavvio" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Digita il nome della rete — o passa al Wi-Fi in Impostazioni per scansionare" }, + { "UI size (restart to apply)", "Dimensione UI (riavvia per applicare)" }, + { "UI size saved — restart to apply", "Dimensione UI salvata — riavvia per applicare" }, + { "USB powered", "Alimentato via USB" }, + { "Unblock", "Sblocca" }, + { "Unblocked", "Sbloccato" }, + { "Unfavorite it first", "Rimuovi prima dai preferiti" }, + { "Unlocking…", "Sblocco…" }, + { "Unmute @", "Riattiva @" }, + { "Unmute msgs", "Riattiva msg" }, + { "Unread %d", "Non letti %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Non letti %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV non supportato (serve PCM a 16 bit)" }, + { "Update", "Aggiorna" }, + { "Update bin saved to SD", "Bin di aggiornamento salvato su SD" }, + { "Update complete.\nRebooting...", "Aggiornamento completato.\nRiavvio..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Aggiorna su flasher.wadamesh.com\n(l'aggiornamento Wi-Fi è in pausa)" }, + { "Update via the Launcher", "Aggiorna tramite il Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Aggiorna tramite il Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Aggiorna tramite il Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Aggiornato - riavvio…" }, + { "Use", "Usa" }, + { "Username (optional)", "Nome utente (facoltativo)" }, + { "Volume", "Volume" }, + { "W up · A left · D right · Z down · S select · Q back", "W su · A sinistra · D destra · Z giù · S scegli · Q indietro" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "In attesa del Wi-Fi..." }, + { "Welcome to WADAMESH", "Benvenuto in WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Finché è attivo, chiunque sulla tua Wi-Fi può vedere e controllare questo dispositivo. Usa HTTP semplice (solo rete locale)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi e Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Il Wi-Fi non è abilitato in questo build." }, + { "Wi-Fi isn't available on this build.", "Il Wi-Fi non è disponibile su questo build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Wi-Fi necessario per il profilo\ndel terreno di questo percorso.\nConnetti in Impostazioni → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi non connesso" }, + { "Wi-Fi off", "Wi-Fi spento" }, + { "Wi-Fi on", "Wi-Fi acceso" }, + { "Wi-Fi on, scanning…", "Wi-Fi attivo, scansione…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi salvato (radio off)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi salvato, riconnessione" }, + { "Yesterday", "Ieri" }, + { "You can run setup later in Settings → Device", "Puoi eseguire la configurazione dopo in Impostazioni → Dispositivo" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Posizione sconosciuta.\nImposta prima GPS / posizione in\nImpostazioni → Profilo." }, + { "Your name", "Il tuo nome" }, + { "Your own apps", "Le tue app" }, + { "Zero-hop", "Zero hop" }, + { "Zero-hop advert sent", "Advert zero-hop inviato" }, + { "Zoom: +/- buttons", "Zoom: pulsanti +/-" }, + { "client connected", "client connesso" }, + { "command", "comando" }, + { "contacts (%d):", "contatti (%d):" }, + { "diag boot...", "avvio diag..." }, + { "double-tap SPACE cycles through the ones you enable", "doppio tocco su SPAZIO scorre quelli attivi" }, + { "drive the UI without the screen; keys still type in text fields", "usa la UI senza schermo; i tasti scrivono ancora nei campi" }, + { "e.g. Family", "es. Famiglia" }, + { "e.g. mesh", "es. mesh" }, + { "from", "da" }, + { "h to", "h a" }, + { "hold Backspace to unlock", "tieni premuto Backspace per sbloccare" }, + { "hold the d-pad to unlock", "tieni premuto il d-pad per sbloccare" }, + { "hold the trackball to unlock", "tieni premuta la trackball per sbloccare" }, + { "kHz", "kHz" }, + { "keep holding", "tieni premuto" }, + { "last wake: ", "ultimo risveglio: " }, + { "leave empty to generate", "lascia vuoto per generare" }, + { "lights the keyboard + wakes the screen on an incoming message", "illumina la tastiera + risveglia lo schermo a un messaggio in arrivo" }, + { "mesh link armed", "link mesh armato" }, + { "mesh busy", "mesh occupata" }, + { "min (0=off)", "min (0=spento)" }, + { "mkdir failed", "Creazione cartella non riuscita" }, + { "n/a in this build", "n/d in questo build" }, + { "now on channel %s", "ora sul canale %s" }, + { "now talking to %s", "ora in chat con %s" }, + { "off", "disattivo" }, + { "off = Enter adds a new line; tap Send to send", "off = Invio aggiunge una riga; tocca Invia per inviare" }, + { "on", "attivo" }, + { "peak --", "picco --" }, + { "pick accented letters as you type; off = plain typing", "scegli lettere accentate mentre scrivi; off = scrittura semplice" }, + { "press Volume Down to unlock", "premi Volume Giù per sbloccare" }, + { "push past a screen edge to scroll content", "spingi oltre il bordo per scorrere" }, + { "score %d", "punteggio %d" }, + { "search", "cerca" }, + { "tap for details", "tocca per dettagli" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "tocca il tasto lingua (es. EN) sulla tastiera per scorrere quelle attive" }, + { "tap to cancel", "tocca per annullare" }, + { "tap to exit full screen", "tocca per uscire da schermo intero" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "ampli ~17 dB per zone tranquille/remote; spegni in zone rumorose." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_ru[] = { + { " (device behind)", " (устройство отстаёт)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d точек покрытия · %lu записано на SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: ожидание GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f МГц · SF%u · TX %+ddBm" }, + { "%d on map", "%d на карте" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d рядом (%d ретр, %d комп)" }, + { "%u types · hops %u · manual %s", "%u типов · хопы %u · вручную %s" }, + { "(RTC unset)", "(RTC не задан)" }, + { "(device behind)", "(устройство отстаёт)" }, + { "(no default)", "(нет по умолчанию)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 байт (устар.)\n2 байта\n3 байта" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nБез лимита" }, + { "12-hour clock", "12-часовой формат" }, + { "32 hex characters", "32 hex-символа" }, + { "32-hex secret. Anyone with this can read the channel.", "Секрет 32 hex. Любой с ним может читать канал." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Упоминания" }, + { "@ mention sound", "Звук @-упоминаний" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "АВТОМАТИЧЕСКИЕ АДВЕРТЫ" }, + { "About", "О программе" }, + { "About the map", "О карте" }, + { "Accent popups", "Подсказки акцентов" }, + { "Accent popups: off", "Подсказки акцентов: выкл" }, + { "Accent popups: on", "Подсказки акцентов: вкл" }, + { "Ack", "Подтв." }, + { "Active", "Активно" }, + { "Add", "Добавить" }, + { "Add channel", "Добавить канал" }, + { "Add contact", "Добавить контакт" }, + { "Added", "Добавлено" }, + { "Added to contacts", "Добавлено в контакты" }, + { "Added to favorites", "Добавлено в избранное" }, + { "Admin", "Админ" }, + { "Advert", "Advert" }, + { "Advert failed", "Сбой advert" }, + { "Advert location", "Местоположение advert" }, + { "Advert policy saved", "Политика advert сохранена" }, + { "Advert sent", "Advert отправлен" }, + { "All marked read", "Всё прочитано" }, + { "Already exists", "Уже существует" }, + { "Already exists or table full.", "Уже существует или таблица заполнена." }, + { "Already in contacts", "Уже в контактах" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "После перезагрузки всегда стартует на встроенной антенне. Выбирайте «Внешняя» только с подключённой антенной." }, + { "Analyzing terrain…", "Анализ рельефа…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Анализ рельефа…\n(попытка %d из 3)" }, + { "Answer telemetry requests", "Отвечать на запросы телеметрии" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Любой может присоединиться. Ключ из хэштега (нижний регистр)." }, + { "App drawer as home", "Меню приложений как главный экран" }, + { "App icon size", "Размер значков приложений" }, + { "Applies after restart.", "Применяется после перезапуска." }, + { "Apply", "Применить" }, + { "Apply auto-poll", "Применить автоопрос" }, + { "Apply radio params", "Применить параметры радио" }, + { "Apps", "Приложения" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Стрелки + Enter работают всегда. Эти буквы — дополнительно: коснитесь строки, затем нажмите клавишу." }, + { "Auto advert", "Автообъявление" }, + { "Auto chat", "Авто чат" }, + { "Auto repeater", "Авто ретранслятор" }, + { "Auto room", "Авто комната" }, + { "Auto sensor", "Авто датчик" }, + { "Auto-Join", "Автовход" }, + { "Auto-add contacts", "Автодобавление контактов" }, + { "Auto-add saved", "Автодобавление сохранено" }, + { "Auto-add settings", "Настройки автодобавления" }, + { "Auto-delete above hops", "Автоудаление свыше хопов" }, + { "Auto-delete oldest", "Автоудаление старых" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Автоудаление старых освобождает место при заполнении. Хопы: 0 = хранить все; узлы, слышимые через больше хопов, удаляются." }, + { "Auto-discover", "Автообнаружение" }, + { "Auto-discover off", "Автообнаружение выкл." }, + { "Auto-discover on", "Автообнаружение вкл." }, + { "Auto-poll every", "Автоопрос каждые" }, + { "Auto-refresh off", "Автообновление выкл." }, + { "Auto-refresh on", "Автообновление вкл." }, + { "Available", "Доступно" }, + { "BLE off", "BLE выкл" }, + { "BLE on", "BLE вкл" }, + { "BT", "BT" }, + { "Back", "Назад" }, + { "Backups", "Резервные копии" }, + { "Battery", "Батарея" }, + { "Battery & power history", "История батареи и питания" }, + { "Battery (V)", "Батарея (В)" }, + { "Battery calibration reset to default", "Калибровка батареи сброшена" }, + { "Battery read too low — charge fully first", "Заряд слишком низкий — сначала зарядите" }, + { "Battery saver (experimental)", "Экономия заряда (экспериментально)" }, + { "Battery — last 24h", "Батарея — последние 24 ч" }, + { "Battery:", "Батарея:" }, + { "Block", "Заблокировать" }, + { "Block list full", "Список блокировок полон" }, + { "Blocked list", "Список блокировок" }, + { "Blocked users", "Заблокированные" }, + { "Blocked — their messages are hidden", "Заблокировано — сообщения скрыты" }, + { "Blocking unsupported", "Блокировка не поддерживается" }, + { "Blue battery Last 6 min", "Синий — батарея Последние 6 мин" }, + { "Blue battery Orange temp Cyan humidity", "Синий — батарея Оранжевый — темп. Голубой — влажность" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth уже выкл" }, + { "Bluetooth already on", "Bluetooth уже вкл" }, + { "Bluetooth off", "Bluetooth выкл" }, + { "Bluetooth on", "Bluetooth вкл" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Сопряжение Bluetooth на этом устройстве недоступно.\n\nЗаводская прошивка радиочипа его не поддерживает.\n\nПодключите приложение по Wi-Fi: подключите устройство к сети и добавьте его в приложении по IP-адресу (TCP, порт 5000) — он показан в Настройки > Сеть. USB тоже работает." }, + { "Broker host / IP", "Хост / IP брокера" }, + { "Buffered receive (experimental)", "Буферизованный приём (экспериментально)" }, + { "Built-in", "Встроенный" }, + { "Built-in (default)", "Встроенный (по умолчанию)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Калибровать батарею (полная = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Калибровано: 100%% = %u.%02u В (долгое нажатие — сброс)" }, + { "Can't block — not a contact", "Нельзя заблокировать — не контакт" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Не удаётся показать изображение\n(только JPEG, <= 1024 пикс)" }, + { "Cancel", "Отмена" }, + { "Cancelled", "Отменено" }, + { "Cannot open file", "Не удаётся открыть файл" }, + { "Catalog unavailable", "Каталог недоступен" }, + { "Centered on %s", "Центрировано на %s" }, + { "Changing orientation - rebooting...", "Смена ориентации - перезагрузка..." }, + { "Channel created", "Канал создан" }, + { "Channel joined", "Вы присоединились к каналу" }, + { "Channel name", "Имя канала" }, + { "Channel not found", "Канал не найден" }, + { "Channel removed", "Канал удалён" }, + { "Channel scope saved", "Область канала сохранена" }, + { "Channel settings", "Настройки канала" }, + { "Channel table is full", "Таблица каналов заполнена" }, + { "Channel table is full.", "Таблица каналов заполнена." }, + { "Channel-specific regions can be set in each channel's settings.", "Регионы для отдельных каналов задаются в настройках каждого канала." }, + { "Channels:", "Каналы:" }, + { "Chat bubbles", "Пузыри сообщений" }, + { "Chat bubbles: plain", "Пузыри: простые" }, + { "Chat history is NOT saving", "История чата НЕ сохраняется" }, + { "Chat history save FAILED", "НЕ УДАЛОСЬ сохранить историю чата" }, + { "Chat icon", "Значок чата" }, + { "Chat icon reset to letters", "Значок чата сброшен на буквы" }, + { "Chat icon set", "Значок чата установлен" }, + { "Chat removed", "Чат удалён" }, + { "Chat save fallback (failed tries)", "Резервное сохранение чата (неудачи)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Чаты, контакты, настройки и mesh-терминал - всё в браузере. Без перезагрузки; экран устройства остаётся обычным." }, + { "Choose .wav from files", "Выбрать .wav из файлов" }, + { "Choose your name", "Выберите имя" }, + { "Choose your region", "Выберите регион" }, + { "Clear", "Очистить" }, + { "Clear battery history?", "Очистить историю батареи?" }, + { "Clear history", "Очистить историю" }, + { "Clear telemetry history for this node?", "Очистить историю телеметрии этого узла?" }, + { "Client repeat", "Повтор клиента" }, + { "Clock synced", "Часы синхронизированы" }, + { "Clock: 12-hour", "Часы: 12-часовые" }, + { "Clock: 24-hour", "Часы: 24-часовые" }, + { "Close", "Закрыть" }, + { "Colourful chat bubbles", "Цветные пузыри чата" }, + { "Commands", "Команды" }, + { "Community Preset", "Пресет сообщества" }, + { "Community preset (meshcomod web)", "Пресет сообщества (meshcomod web)" }, + { "Compact messages", "Компактные сообщения" }, + { "Compact messages (IRC style)", "Компактные сообщения (стиль IRC)" }, + { "Connect", "Подключить" }, + { "Connect Wi-Fi to reload tiles", "Подключите Wi-Fi для перезагрузки тайлов" }, + { "Connect to Wi-Fi", "Подключиться к Wi-Fi" }, + { "Connect to Wi-Fi first", "Сначала подключитесь к Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Сначала подключитесь к Wi-Fi, затем повторите." }, + { "Connect to Wi-Fi to get a browser address.", "Подключитесь к Wi-Fi, чтобы получить адрес для браузера." }, + { "Connected", "Подключено" }, + { "Connected - a browser is viewing this screen.", "Подключено - браузер просматривает этот экран." }, + { "Connecting...", "Подключение..." }, + { "Connecting…", "Подключение…" }, + { "Console not available on this build", "Консоль недоступна в этой сборке" }, + { "Contact added", "Контакт добавлен" }, + { "Contact deleted", "Контакт удалён" }, + { "Contact gone", "Контакт пропал" }, + { "Contact missing", "Контакт отсутствует" }, + { "Contacts", "Контакты" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Контакты во внутренней памяти - SD-карта не смонтировалась при загрузке. Переустановите карту и перезагрузитесь." }, + { "Contacts are on internal flash.", "Контакты во внутренней памяти." }, + { "Contacts are saved to the SD card.", "Контакты сохраняются на SD-карту." }, + { "Contacts full", "Контакты заполнены" }, + { "Contacts:", "Контакты:" }, + { "Control", "Управление" }, + { "Control this device from a browser", "Управляйте устройством из браузера" }, + { "Copied %s", "%s скопировано" }, + { "Copied - Paste in a folder", "Скопировано - вставьте в папку" }, + { "Copy", "Копировать" }, + { "Copy failed (no internal identity)", "Ошибка копирования (нет внутренней идентичности)" }, + { "Copy internal data to SD", "Скопировать данные на SD" }, + { "Copy secret", "Копировать секрет" }, + { "Copying internal data to SD...", "Копирование внутренних данных на SD..." }, + { "Could not add", "Не удалось добавить" }, + { "Could not save the crash report", "Не удалось сохранить отчёт о сбое" }, + { "Couldn't delete", "Не удалось удалить" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Не удалось получить данные рельефа.\nПроверьте соединение и\nсервер высот, затем\nповторите." }, + { "Couldn't save the name to storage", "Не удалось сохранить имя" }, + { "Couldn't send login", "Не удалось отправить запрос входа" }, + { "Couldn't start the analyzer.\nTry again.", "Не удалось запустить анализатор.\nПопробуйте снова." }, + { "Crash export failed", "Не удалось экспортировать отчёт о сбое" }, + { "Create", "Создать" }, + { "Create QR", "Создать QR" }, + { "Create a private channel", "Создать приватный канал" }, + { "Create failed", "Не удалось создать" }, + { "Create private channel", "Создать приватный канал" }, + { "Custom UTC offset (hours)", "Свой сдвиг UTC (часы)" }, + { "Cut", "Вырезать" }, + { "Cut - Paste in a folder", "Вырезано - вставьте в папку" }, + { "DM sound", "Звук DM" }, + { "DND", "DND" }, + { "Danger zone", "Опасная зона" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Данные -> SD-карта при перезагрузке\n(нужна карта)" }, + { "Data -> internal on reboot", "Данные -> внутр. при перезагрузке" }, + { "Delete", "Удалить" }, + { "Delete %d contact(s)?", "Удалить %d контакт(ов)?" }, + { "Delete chat", "Удалить чат" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Удалить чат с \"%s\"?\nИстория будет очищена." }, + { "Delete failed", "Не удалось удалить" }, + { "Delete history", "Удалить историю" }, + { "Delete this backup file?\nThis cannot be undone.", "Удалить этот файл копии?\nОтменить нельзя." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Удалить всю историю этого чата?\nСам чат останется." }, + { "Deleted", "Удалено" }, + { "Deleted %d", "Удалено: %d" }, + { "Deleted %d messages", "Удалено сообщений: %d" }, + { "Deleting contacts", "Удаление контактов" }, + { "Delivered", "Доставлено" }, + { "Detailed sensors", "Подробные датчики" }, + { "Device clock differs from \"%s\" by %lu h%s", "Часы устройства отличаются от \"%s\" на %lu ч%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Часы устройства отличаются от \"%s\" на %lu мин%s" }, + { "Device name hidden", "Имя устройства скрыто" }, + { "Device name shown", "Имя устройства показано" }, + { "Device time:", "Время устройства:" }, + { "Diagnostics", "Диагностика" }, + { "Diagnostics are on the About page.", "Діагностика на сторінці «Про програму»." }, + { "Discovered", "Обнаружено" }, + { "Discovered settings", "Настройки обнаруженных" }, + { "Display", "Экран" }, + { "Display name", "Отображаемое имя" }, + { "Distance in miles", "Расстояние в милях" }, + { "Distance: km", "Расстояние: км" }, + { "Distance: miles", "Расстояние: мили" }, + { "Do Not Disturb", "Не беспокоить" }, + { "Do Not Disturb off", "«Не беспокоить» выкл." }, + { "Do Not Disturb on", "«Не беспокоить» вкл." }, + { "Download failed", "Загрузка не удалась" }, + { "Download failed (network?)", "Загрузка не удалась (сеть?)" }, + { "Download mode", "Режим загрузки" }, + { "Download mode… reflash over USB", "Режим загрузки… перепрошейте по USB" }, + { "Downloaded - tap Use to switch", "Загружено - нажмите «Выбрать» для смены" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Загрузка тайлов карты…\n\nНе отключайте Wi-Fi.\nТайлы появляются по мере загрузки\nи сохраняются для офлайн-режима." }, + { "Downloading…", "Загрузка…" }, + { "Duty meter", "Индикатор нагрузки" }, + { "Edge scroll", "Прокрутка у края" }, + { "Edit in Settings → Quick replies", "Изменить в Настройки → Быстрые ответы" }, + { "Editing", "Редактирование" }, + { "Empty = plaintext to a private broker", "Пусто = открытый текст на приватный брокер" }, + { "Empty file", "Пустой файл" }, + { "Enable Bluetooth", "Включить Bluetooth" }, + { "Enable MQTT bridge", "Включить мост MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Включайте, только если ваш ретранслятор перезаливает лишь один регион. Иначе оставьте выкл. — это может блокировать межрегиональный вход/ЛС." }, + { "Enable web access", "Включить веб-доступ" }, + { "Encryption key (optional)", "Ключ шифрования (необязательно)" }, + { "End time", "Время окончания" }, + { "Enter SSID first", "Сначала введите SSID" }, + { "Enter a name", "Введите имя" }, + { "Enter a network name", "Введите имя сети" }, + { "Enter adds a new line", "Enter добавляет строку" }, + { "Enter exactly 32 hex characters.", "Введите ровно 32 hex-символа." }, + { "Enter key sends message", "Клавиша Enter отправляет сообщение" }, + { "Enter sends messages", "Enter отправляет сообщения" }, + { "Enter the 32-hex secret shared by the channel creator.", "Введите секрет 32 hex, переданный создателем канала." }, + { "Entering remote mode - rebooting...", "Вход в удалённый режим - перезагрузка..." }, + { "Erase all", "Стереть всё" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Стирает личность, контакты, каналы, сообщения, Wi-Fi и все настройки, затем перезагрузка." }, + { "Erasing everything…", "Стирание всего…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Все узлы должны совпадать. Можно изменить позже в Настройках." }, + { "Expansion Kit", "Комплект расширения" }, + { "Experimental", "Экспериментальное" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Экспериментально — есть известные проблемы. Выкл. = программный курсор." }, + { "Experimental saved", "Эксперим. сохранено" }, + { "Export failed (can't open file)", "Сбой экспорта (не удаётся открыть файл)" }, + { "Export new backup", "Новая копия" }, + { "Export settings", "Экспорт настроек" }, + { "Exporting settings…", "Экспорт настроек…" }, + { "External antenna selected", "Выбрана внешняя антенна" }, + { "Factory reset", "Сброс настроек" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Сброс к заводским?\n\nСтирает личность, контакты, каналы, сообщения, Wi-Fi и все настройки. Необратимо." }, + { "Failed to save channel.", "Не удалось сохранить канал." }, + { "Favorites full (max %d)", "Избранное заполнено (макс %d)" }, + { "Favorites unsupported", "Избранное не поддерживается" }, + { "Fetching the app list from firmware.wadamesh.com", "Загрузка списка приложений с firmware.wadamesh.com" }, + { "Files", "Файлы" }, + { "Find", "Найти" }, + { "Finish", "Готово" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Прошивка beta_%d\nСервер обновлений недоступен" }, + { "Firmware:", "Прошивка:" }, + { "Flash on new message", "Мигать при новом сообщении" }, + { "Flood", "Флуд" }, + { "Flood advert sent", "Flood advert отправлен" }, + { "Flood every", "Flood каждые" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: ретранслируется по сети (мульти-хоп).\nZero-hop: только соседи (без ретрансляции)." }, + { "Folder created", "Папка создана" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Для установок через Launcher: сохраняет последнюю прошивку выбранного канала на SD-карту (папка BINS)." }, + { "Forget network", "Забыть сеть" }, + { "Format", "Форматировать" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Форматировать SD как MESHCOMOD (FAT32)?\nВсе данные на карте будут стёрты." }, + { "Format failed (no card / SD error)", "Сбой форматирования (нет карты / ошибка SD)" }, + { "Frequency / bandwidth", "Частота / полоса" }, + { "Full", "Заполнено" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Зуммер %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Зуммер %s\n%s" }, + { "GPS off", "GPS выкл" }, + { "GPS on", "GPS вкл" }, + { "GPS serial baud", "Скорость GPS (бод)" }, + { "GPS unset", "GPS не задан" }, + { "GPS: acquiring...", "GPS: поиск..." }, + { "GPS: fix", "GPS: есть" }, + { "GPS: off", "GPS: выкл" }, + { "GPS: searching", "GPS: поиск" }, + { "Game over — score %d (tap to restart)", "Игра окончена — счёт %d (нажмите для рестарта)" }, + { "Get", "Скачать" }, + { "Get Started", "Начать" }, + { "Get test builds (beta)", "Получать тестовые сборки (бета)" }, + { "Go", "Перейти" }, + { "Green pressure Gray altitude", "Зелёный давление Серый высота" }, + { "Hashtag name", "Имя хэштега" }, + { "Hidden - turn it back on in the Lua Store", "Скрыто - включите снова в Lua Store" }, + { "Hidden network", "Скрытая сеть" }, + { "Hide", "Скрыть" }, + { "Hide device name", "Скрыть имя устройства" }, + { "Hide this app from the drawer?", "Скрыть это приложение из меню?" }, + { "High-gain receiver (FEM LNA)", "Приёмник с высоким усилением (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Крайне экспериментально. Пересылает текст, имя отправителя и метку времени каждого сообщения, которое принимает ваш узел, на брокер MQTT, где их сможет прочитать любой, кто имеет доступ к брокеру. Личные сообщения приватны — от людей, не соглашавшихся на их передачу. Используйте свой брокер, задайте ключ шифрования ниже и никогда не публичный брокер." }, + { "History limit off", "Лимит истории выключен" }, + { "Hotkey saved", "Горячая клавиша сохранена" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Как вы будете видны другим узлам. Можно изменить в Настройках." }, + { "Humidity", "Влажность" }, + { "I accept the privacy risk", "Я принимаю риск для конфиденциальности" }, + { "Identity (public key)", "Идентификатор (открытый ключ)" }, + { "Idle power-save", "Энергосбережение при простое" }, + { "Idle sleep disabled", "Сон при простое отключён" }, + { "Idle sleep enabled", "Сон при простое включён" }, + { "Image too large (>4 MB)", "Изображение слишком большое (>4 МБ)" }, + { "Import", "Импорт" }, + { "Import backup", "Импорт резервной копии" }, + { "Import failed (bad/unreadable JSON)", "Сбой импорта (неверный JSON)" }, + { "Import settings", "Импорт настроек" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Импортировать копию?\nЗаменит личность,\nканалы и контакты,\nзатем перезагрузка." }, + { "Import: storage unavailable", "Импорт: хранилище недоступно" }, + { "Importing settings…", "Импорт настроек…" }, + { "Inactive", "Неактивно" }, + { "Info", "Инфо" }, + { "Insert emoji / symbol", "Вставить эмодзи / символ" }, + { "Install", "Установить" }, + { "Install a previous version", "Установить предыдущую версию" }, + { "Install an earlier version", "Установить более раннюю версию" }, + { "Install failed (network?)", "Установка не удалась (сеть?)" }, + { "Install update", "Установить обновление" }, + { "Installed", "Установлено" }, + { "Installing…", "Установка…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Внутренняя (встроенная)\nВнешняя (MMCX)\nАвто (устар., на передачу)" }, + { "Internal has no folders", "Во внутренней памяти нет папок" }, + { "Internal storage %s / %s", "Внутр. память %s / %s" }, + { "Invalid lat/lon", "Неверные коорд." }, + { "Invalid max hops", "Неверное макс. число хопов" }, + { "Invalid radio values", "Неверные значения радио" }, + { "Join", "Присоединиться" }, + { "Join a hashtag channel", "Присоединиться к хэштег-каналу" }, + { "Join a private channel", "Присоединиться к приватному каналу" }, + { "Join hashtag channel", "Войти в канал хэштега" }, + { "Join network", "Подключиться к сети" }, + { "Join private channel", "Войти в приватный канал" }, + { "Join the public channel", "Присоединиться к публичному каналу" }, + { "Joined %.40s", "Вы вошли в %.40s" }, + { "Keep per chat (messages)", "Хранить на чат (сообщений)" }, + { "Key already in use", "Ключ уже используется" }, + { "Keyboard", "Клавиатура" }, + { "Keyboard backlight", "Подсветка клавиатуры" }, + { "Keyboard light auto", "Подсветка клавиатуры авто" }, + { "Keyboard light off", "Подсветка клавиатуры выкл." }, + { "Keyboard light on", "Подсветка клавиатуры вкл." }, + { "Keyboard nav: WASDZ on", "Навигация клавиатурой: WASDZ вкл." }, + { "Keyboard nav: off", "Навигация клавиатурой: выкл." }, + { "Keyboard navigation", "Навигация клавиатурой" }, + { "LOS → %s", "Прямая видимость → %s" }, + { "Landscape (desktop)", "Альбомная (десктоп)" }, + { "Landscape set - applies when remote mode starts.", "Альбомная выбрана - применится при запуске удалённого режима." }, + { "Language", "Язык" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Каталог языков недоступен - проверьте Wi-Fi и откройте вкладку снова." }, + { "Language updated - restarting to apply it…", "Язык обновлён - перезагрузка для применения…" }, + { "Languages", "Языки" }, + { "Latitude", "Широта" }, + { "Leave empty if not required", "Оставьте пустым, если не нужно" }, + { "Leaving remote mode - rebooting...", "Выход из удалённого режима - перезагрузка..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Настроим ваше устройство.\n\nВы выберете имя и регион LoRa. Займёт около минуты." }, + { "Letters only", "Только буквы" }, + { "LoRa antenna (P4)", "Антенна LoRa (P4)" }, + { "Loading catalog…", "Загрузка каталога…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Загрузка тайлов карты…\n\nНе отключайте Wi-Fi.\nТайлы появляются по мере загрузки." }, + { "Loading map…", "Загрузка карты…" }, + { "Loading the language catalog…", "Загрузка каталога языков…" }, + { "Loading...", "Загрузка..." }, + { "Local every", "Локально каждые" }, + { "Local sensors", "Локальные датчики" }, + { "Lock", "Блокировка" }, + { "Lock screen", "Экран блокировки" }, + { "Lock screen wallpaper", "Обои экрана блокировки" }, + { "Lock text colour", "Цвет текста блокировки" }, + { "Lock text colour set", "Цвет текста блокировки задан" }, + { "Lock wallpaper", "Обои блокировки" }, + { "Lock wallpaper set", "Обои блокировки заданы" }, + { "Lock when screen off", "Блокировать при выкл. экране" }, + { "Locking…", "Блокировка…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Блокируется при выключении экрана\n(удерживайте Backspace для разблокировки)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Блокируется при выкл. экране\n(удерживайте d-pad для разблокировки)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Блокируется при выкл. экране\n(удерживайте трекбол для разблокировки)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Блокируется при выкл. экране\n(нажмите Громкость вниз для разблокировки)" }, + { "Locks when screen off\n(press the button to unlock)", "Блокируется при выкл. экране\n(нажмите кнопку для разблокировки)" }, + { "Log in again", "Войти заново" }, + { "Logging in again...", "Повторный вход..." }, + { "Logging in…", "Вход…" }, + { "Login OK (perms %u)", "Вход OK (права %u)" }, + { "Login failed", "Ошибка входа" }, + { "Logs", "Журналы" }, + { "Longitude", "Долгота" }, + { "Lua Store", "Магазин Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Мост MQTT" }, + { "Map", "Карта" }, + { "Map options", "Параметры карты" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Ошибка хранилища карты.\n\nSD-карта найдена, но кэш\nтайлов не смонтирован.\nПерезагрузите для повтора." }, + { "Map storage error.\nReflash the tiles partition.", "Ошибка хранилища карты.\nПерепрошейте раздел tiles." }, + { "Map tiles: microSD", "Тайлы карты: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Тайлы карты: microSD\n\n/maps/osm/z/x/y.png\n(или /tiles/z/x/y.jpg)\n\nКарта появляется, когда найден\nтайл для этой области." }, + { "Map tiles: server", "Тайлы карты: сервер" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Карта — на SPIFFS ещё нет пакета тайлов.\n\nЗагрузите пакет в /tiles///.jpg генератором на хосте." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Карта — задайте местоположение\nв Настройки → Профиль, чтобы\nпоказать карту здесь." }, + { "Mark all chats and channels as read?", "Отметить все чаты и каналы прочитанными?" }, + { "Mark as read", "Отметить прочитанным" }, + { "Mark read", "Отметить прочитанным" }, + { "Marked read", "Отмечено прочитанным" }, + { "Max hops (0..64)", "Макс. хопов (0..64)" }, + { "Max zoom for this pack", "Макс. зум для этого пакета" }, + { "Memory detail", "Сведения о памяти" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Здоровье сети: flood-advert повторно рассылает каждый ретранслятор в зоне, поэтому частые flood увеличивают эфирное время всей сети. Делайте их редкими (раз в день и реже). Соседи всё равно видят вас по zero-hop адвертам и вашим ответам, так что делайте flood в основном, когда далёким узлам нужно вас заново найти. Оставьте оба выкл., чтобы объявляться только по нажатию кнопок выше." }, + { "Message", "Сообщение" }, + { "Message LED", "Светодиод сообщений" }, + { "Message LED off", "Светодиод сообщений выкл." }, + { "Message LED on", "Светодиод сообщений вкл." }, + { "Message deleted", "Сообщение удалено" }, + { "Message didn't get through.\nResend it?", "Сообщение не дошло.\nОтправить снова?" }, + { "Message info", "Информация о сообщении" }, + { "Message sound", "Звук сообщений" }, + { "Min zoom for this pack", "Мин. зум для этого пакета" }, + { "Mode: BLE starting / low memory", "Режим: BLE запускается / мало памяти" }, + { "Model:", "Модель:" }, + { "Multi ACKs", "Множественные ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Мульти-ack %s · Повтор %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Многобайтовая маршрутизация (хеш пути)" }, + { "Mute @", "Без звука @" }, + { "Mute msgs", "Заглушить сообщ." }, + { "Mute notification sound", "Отключить звук уведомлений" }, + { "My position (no GPS fix)", "Моё положение (нет GPS-фикса)" }, + { "Name", "Имя" }, + { "Name can't be empty.", "Имя не может быть пустым." }, + { "Name fragment", "Часть имени" }, + { "Name saved", "Имя сохранено" }, + { "Navigation keys", "Клавиши навигации" }, + { "Navigation keys — tap a row, then press a key", "Клавиши навигации — коснитесь строки, затем нажмите клавишу" }, + { "Nearby on map", "Рядом на карте" }, + { "Network name", "Имя сети" }, + { "Network name (SSID)", "Имя сети (SSID)" }, + { "New", "Новое" }, + { "New DM", "Новое ЛС" }, + { "New channel msg", "Новое сообщ. канала" }, + { "New contact", "Новый контакт" }, + { "New file", "Новый файл" }, + { "New folder", "Новая папка" }, + { "New game", "Новая игра" }, + { "New room msg", "Новое сообщ. комнаты" }, + { "Next", "Далее" }, + { "Night mode (invert)", "Ночной режим (инверсия)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Резервные копии .json не найдены.\nЭкспортируйте одну или скопируйте\nmeshcore-backup.json на\nSD-карту или внутр. флеш." }, + { "No @mentions yet", "Пока нет @упоминаний" }, + { "No Bluetooth on this device", "Нет Bluetooth на этом устройстве" }, + { "No DM key", "Нет ключа ЛС" }, + { "No GPS module on this device.", "На этом устройстве нет модуля GPS." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "В /lock/ нет JPEG.\nДобавьте изображения через\nфайловый менеджер или SD-карту." }, + { "No SD card", "Нет SD-карты" }, + { "No SD card (or unreadable format)", "Нет SD-карты (или нечитаемый формат)" }, + { "No backups yet. Tap Export new backup above to create one.", "Копий пока нет. Нажмите «Новая копия» выше, чтобы создать." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Истории батареи пока нет.\n\nЗапись каждые 5 минут." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Нет заблокированных.\n\nДолго нажмите сообщение и нажмите\nБлокировать, чтобы добавить." }, + { "No contact for thread", "Нет контакта для темы" }, + { "No contact to trace", "Нет контакта для трассировки" }, + { "No contacts have shared\na GPS location yet.", "Контакты ещё не делились\nGPS-местоположением." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Обнаруженных узлов пока нет.\n\nВсё услышанное в эфире, чего нет в контактах, появится здесь. Когда автодобавление выключено, узлы можно добавить в контакты вручную." }, + { "No earlier versions yet", "Ранних версий пока нет" }, + { "No local expansion data", "Нет локальных данных расширения" }, + { "No location for this contact", "Нет местоположения для этого контакта" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Нет хранилища карты.\n\nВставьте SD-карту для кэша\nWi-Fi тайлов (или перепрошейте\nдля раздела tiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Здесь нет тайлов карты.\n\nПодключитесь к Wi-Fi (Настройки → Wi-Fi),\nчтобы загрузить этот район." }, + { "No mapped repeaters in this route", "Нет нанесённых ретрансляторов на этом маршруте" }, + { "No networks found (2.4 GHz only)", "Сети не найдены (только 2.4 ГГц)" }, + { "No onboard GPS", "Нет встроенного GPS" }, + { "No other networks found", "Другие сети не найдены" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Позиции пока нет. Холодный старт требует открытого неба и может занять несколько минут." }, + { "No reply from %s", "Нет ответа от %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Нет ответа. Проверьте пароль, сервер\nили часы устройства (устройство: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Здесь нет сохранённых тайлов.\n\nПодключитесь к Wi-Fi (Настройки → Wi-Fi),\nчтобы загрузить этот район.\nСохранённые тайлы остаются доступны офлайн." }, + { "No system time yet", "Системное время ещё не задано" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Нет телеметрии в этом окне.\nЗапросите её или расширьте диапазон ниже." }, + { "No tiles (non-ESP32)", "Нет тайлов (не ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Версия пока неизвестна. Сначала нужны Wi-Fi и завершённая проверка обновлений." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Узел\nРегион\nРадио\nСигнал\nКонтакты\nКаналы\nБатарея\nВремя работы" }, + { "Node name", "Имя узла" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Обычный (100%)\nБольшой (150%)\nОгромный (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Недостаточно памяти для Bluetooth. Сначала выключите Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Недостаточно памяти для Wi-Fi. Сначала выключите Bluetooth." }, + { "Nothing selected", "Ничего не выбрано" }, + { "Notification sound set", "Звук уведомления задан" }, + { "Notify on new contact", "Уведомлять о новом контакте" }, + { "Off", "Выкл" }, + { "Off\n1\n2\n3\n5\n8", "Выкл\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Выкл\n1 день\n2 дня\n3 дня\n7 дней" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Выкл\n60 мин\n90 мин\n2 часа\n3 часа\n4 часа" }, + { "Offline", "Не в сети" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Старые сообщения сверх этого удаляются. Очень большая или безлимитная история замедляет список чатов." }, + { "On - open the address above in a phone browser.", "Вкл. - откройте адрес выше в браузере телефона." }, + { "On boot", "При запуске" }, + { "On map", "На карте" }, + { "Open Advertise app", "Открыть приложение Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Откройте .wav, затем нажмите «Задать как звук уведомления»" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Откройте JPEG, затем нажмите «Задать как обои»" }, + { "Open chat", "Открыть чат" }, + { "Open in a browser (same Wi-Fi):", "Откройте в браузере (та же сеть Wi-Fi):" }, + { "Open in web", "Открыть в вебе" }, + { "Open mesh console", "Открыть консоль mesh" }, + { "Optional — type your network, or leave blank to skip.", "Необязательно — введите сеть или оставьте пустым." }, + { "Orange temp Cyan humidity", "Оранжевый темп. Голубой влажн." }, + { "Orientation (tap to rotate, reboots)", "Ориентация (нажмите для поворота, перезагрузка)" }, + { "Out of memory", "Недостаточно памяти" }, + { "Overwrite oldest", "Перезаписать старейший" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Перезаписать настройки и идентичность SD-карты\nвнутренними копиями\nи перезагрузить?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG здесь не поддерживается\nИспользуйте JPEG" }, + { "Pairing code", "Код сопряжения" }, + { "Pairing code saved — reboot to apply", "Код сопряжения сохранён — перезагрузите для применения" }, + { "Pairing code: %06lu", "Код сопряжения: %06lu" }, + { "Pairing code: n/a", "Код сопряжения: н/д" }, + { "Password (empty = open)", "Пароль (пусто = открытая)" }, + { "Password (empty = skip Wi-Fi)", "Пароль (пусто = пропустить Wi-Fi)" }, + { "Password (optional)", "Пароль (необязательно)" }, + { "Password too long", "Пароль слишком длинный" }, + { "Paste", "Вставить" }, + { "Paste failed", "Не удалось вставить" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Вставьте открытый ключ 64 hex и имя. Удобно написать до прихода advert." }, + { "Pasted", "Вставлено" }, + { "Path hash: %u byte%s", "Хеш пути: %u байт%s" }, + { "Path reset", "Путь сброшен" }, + { "Path reset failed", "Не удалось сбросить путь" }, + { "Paused — score %d", "Пауза — счёт %d" }, + { "Per-transmit switching on", "Переключение на каждую передачу вкл." }, + { "Pick colour", "Выбрать цвет" }, + { "Ping", "Пинг" }, + { "Ping failed", "Сбой ping" }, + { "Pinged (direct) — waiting…", "Ping (прямой) — ожидание…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — ожидание…" }, + { "Play", "Воспроизвести" }, + { "Poll (min)", "Опрос (мин)" }, + { "Poll every", "Опрашивать каждые" }, + { "Poll every %d min", "Опрос каждые %d мин" }, + { "Port", "Порт" }, + { "Portrait set - applies when remote mode starts.", "Портретная выбрана - применится при запуске удалённого режима." }, + { "Position saved", "Позиция сохранена" }, + { "Power", "Питание" }, + { "Power off", "Выключить" }, + { "Powering off… click trackball to wake", "Выключение… нажмите трекбол для пробуждения" }, + { "Press a key…", "Нажмите клавишу…" }, + { "Probe now", "Измерить сейчас" }, + { "Probing neighbours…", "Опрос соседей…" }, + { "Profile", "Профиль" }, + { "Pubkey must be 64 hex chars.", "Откр. ключ — 64 hex-символа." }, + { "Public channel ready", "Публичный канал готов" }, + { "Public key (64 hex chars)", "Открытый ключ (64 hex)" }, + { "Public key:", "Открытый ключ:" }, + { "Publish channel messages", "Публиковать сообщения каналов" }, + { "Publish direct messages", "Публиковать личные сообщения" }, + { "Purge", "Очистить" }, + { "Purge all discovered nodes?", "Очистить все обнаруженные узлы?" }, + { "Quick replies", "Быстрые ответы" }, + { "Quick reply", "Быстрый ответ" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d записей · Raw %d записей" }, + { "RX boosted gain", "Усиленное RX" }, + { "RX log", "Журнал RX" }, + { "Radio & Mesh", "Радио и меш" }, + { "Radio + region set", "Радио + регион заданы" }, + { "Radio applied", "Радио применено" }, + { "Radio off", "Радио выкл" }, + { "Radio: off", "Радио: выкл" }, + { "Range test", "Тест дальности" }, + { "RangeTest failed", "Сбой RangeTest" }, + { "RangeTest sent (direct)", "RangeTest отправлен (прямой)" }, + { "RangeTest sent (flood)", "RangeTest отправлен (flood)" }, + { "Raw log", "Сырой журнал" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Читает пакеты в фоновой задаче, чтобы занятый экран их не терял." }, + { "Reboot", "Перезагрузка" }, + { "Reboot device", "Перезагрузить устройство" }, + { "Rebooting...", "Перезагрузка..." }, + { "Rebooting…", "Перезагрузка…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Получать невыпущенную тестовую прошивку — новее функции, но меньше проверены. Проверка и установка обновлений идут по бета-каналу." }, + { "Recently heard", "Недавно слышно" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Отформатировать SD как MESHCOMOD (FAT32)?\nВСЕ данные на карте будут стёрты." }, + { "Region & scope", "Регион и охват" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Регион (#tag) для этого канала.\nПусто = область по умолчанию." }, + { "Region scope (#tag), blank = default.", "Область региона (#tag), пусто = по умолчанию." }, + { "Region scope (#tag, blank = none)", "Регион (#tag, пусто = нет)" }, + { "Remember password", "Запомнить пароль" }, + { "Remote UI", "Удалённый интерфейс" }, + { "Remote UI (on)", "Удалённый интерфейс (вкл.)" }, + { "Remote access", "Удалённый доступ" }, + { "Remote terminal", "Удалённый терминал" }, + { "Remote terminal (recommended)", "Удалённый терминал (рекомендуется)" }, + { "Remote terminal off", "Удалённый терминал выкл." }, + { "Remove", "Убрать" }, + { "Remove %s?", "Удалить %s?" }, + { "Remove channel", "Удалить канал" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Удалить канал \"%s\"?\nТолько с этого устройства." }, + { "Removed", "Удалено" }, + { "Removed from favorites", "Удалено из избранного" }, + { "Rename", "Переименовать" }, + { "Rename failed", "Не удалось переименовать" }, + { "Renamed", "Переименовано" }, + { "Replay", "Повтор" }, + { "Replay route on map", "Повторить маршрут на карте" }, + { "Replaying route…", "Повтор маршрута…" }, + { "Resend", "Отправить снова" }, + { "Resend failed", "Не удалось отправить снова" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Повторяет отправку, пока ретранслятор не отзеркалит её или получатель не подтвердит. Выключите, чтобы отправлять один раз." }, + { "Reset", "Сброс" }, + { "Reset path", "Сбросить маршрут" }, + { "Restarting to apply the language…", "Перезагрузка для применения языка…" }, + { "Retry sends until heard", "Повторять отправку, пока не услышат" }, + { "Reverse scrollball", "Инвертировать трекбол" }, + { "Roll to highlight • click to insert", "Прокрутите для выбора • нажмите для вставки" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Комната только для чтения.\nВойдите с паролем комнаты, чтобы писать." }, + { "Rotating - reconnecting...", "Поворот - переподключение..." }, + { "Rotating… rebooting", "Поворот… перезагрузка" }, + { "Run setup again", "Запустить настройку снова" }, + { "SD card %s", "SD-карта %s" }, + { "SD card %s (hold: format)", "SD-карта %s (удерж.: формат.)" }, + { "SD card (tap to mount)", "SD-карта (нажмите для монтирования)" }, + { "SD card inserted", "SD-карта вставлена" }, + { "SD card lost - reinsert to recover", "SD-карта потеряна - переставьте её" }, + { "SD card remounted", "SD-карта перемонтирована" }, + { "SD card removed", "SD-карта извлечена" }, + { "SD download failed: %s", "Не удалось загрузить на SD: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD отформатирована - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u КБ занято" }, + { "SSID set — enter password, then Save", "SSID задан — введите пароль, затем Сохранить" }, + { "SSID too long", "SSID слишком длинный" }, + { "Sample text", "Пример текста" }, + { "Save", "Сохранить" }, + { "Save & restart", "Сохранить и перезагрузить" }, + { "Save / turn on", "Сохранить / включить" }, + { "Save auto-add", "Сохранить автодобавление" }, + { "Save experimental", "Сохранить экспериментальное" }, + { "Save failed", "Не удалось сохранить" }, + { "Save name", "Сохранить имя" }, + { "Save policy", "Сохранить политику" }, + { "Save position", "Сохранить позицию" }, + { "Save quick replies", "Сохранить быстрые ответы" }, + { "Save report", "Сохранить отчёт" }, + { "Save update bin to SD", "Сохранить обновление на SD" }, + { "Saved", "Сохранено" }, + { "Saved backups", "Сохранённые копии" }, + { "Saved network", "Сохранённая сеть" }, + { "Saved profiles", "Сохранённые профили" }, + { "Saved to slot %d", "Сохранено в слот %d" }, + { "Saved — rebooting", "Сохранено — перезагрузка" }, + { "Saved — reconnecting…", "Сохранено — переподключение…" }, + { "Saved: %s\nFlash it from the Launcher.", "Сохранено: %s\nПрошейте из Launcher." }, + { "Saving to SD… %d%%", "Сохранение на SD… %d%%" }, + { "Saving to SD… 0%", "Сохранение на SD… 0%" }, + { "Scan to open on phone", "Отсканируйте, чтобы открыть на телефоне" }, + { "Scanning…", "Сканирование…" }, + { "Scope direct msgs to region", "Ограничить личные сообщения регионом" }, + { "Screen locked", "Экран заблокирован" }, + { "Screen timeout (s, 0 = never)", "Тайм-аут экрана (с, 0 = никогда)" }, + { "Screen timeout (s, 0 = never, min 10)", "Тайм-аут экрана (с, 0 = никогда, мин 10)" }, + { "Screen timeout: %ds", "Тайм-аут экрана: %dс" }, + { "Screen timeout: never", "Тайм-аут экрана: никогда" }, + { "Screen-off just dims", "Выключение экрана только затемняет" }, + { "Screenshot needs an SD card", "Для скриншота нужна SD-карта" }, + { "Screenshot: low memory", "Скриншот: мало памяти" }, + { "Screenshot: no SD card", "Скриншот: нет SD-карты" }, + { "Screenshot: write failed", "Скриншот: ошибка записи" }, + { "Scrollball: normal", "Трекбол: обычный" }, + { "Scrollball: reversed", "Трекбол: инвертирован" }, + { "Search", "Поиск" }, + { "Search contacts", "Поиск контактов" }, + { "Secondary keyboards", "Дополнительные клавиатуры" }, + { "Secret (32 hex chars)", "Секрет (32 hex)" }, + { "Secret (32 hex, optional)", "Секрет (32 hex, необяз.)" }, + { "Secret must be 32 hex chars (or empty).", "Секрет — 32 hex-символа (или пусто)." }, + { "Select a DM thread", "Выберите тему ЛС" }, + { "Select all", "Выбрать всё" }, + { "Select network", "Выбрать сеть" }, + { "Send advert", "Отправить advert" }, + { "Send advert now", "Отправить advert" }, + { "Send an advert now, or set how often you re-advertise.", "Отправить advert сейчас или задать частоту повторной отправки." }, + { "Send failed", "Не удалось отправить" }, + { "Sender blocked", "Отправитель заблокирован" }, + { "Sensors tab: off (restart to apply)", "Вкладка датчиков: выкл (перезагрузите для применения)" }, + { "Sensors tab: on (restart to apply)", "Вкладка датчиков: вкл (перезагрузите для применения)" }, + { "Sent", "Отправлено" }, + { "Set", "Задать" }, + { "Set an SSID first", "Сначала задайте SSID" }, + { "Set as notification sound", "Установить как звук уведомления" }, + { "Set as wallpaper", "Установить как обои" }, + { "Set your location first", "Сначала задайте местоположение" }, + { "Settings", "Настройки" }, + { "Setup complete", "Настройка завершена" }, + { "Share QR", "Поделиться QR" }, + { "Share channel", "Поделиться каналом" }, + { "Share location in advert", "Делиться местоположением в advert" }, + { "Share secret", "Поделиться ключом" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Поделитесь секретом из 32 символов, чтобы другие присоединились. Пусто = случайный." }, + { "Share: %s", "Поделиться: %s" }, + { "Show", "Показать" }, + { "Show Sensors tab", "Показать вкладку датчиков" }, + { "Show in the app drawer", "Показывать в меню приложений" }, + { "Show link lines", "Показывать линии связи" }, + { "Show menu-bar letters", "Показать буквы меню" }, + { "Show on chart", "Показать на графике" }, + { "Show on map", "Показать на карте" }, + { "Sightline", "Прямая видимость" }, + { "Signal & traffic", "Сигнал и трафик" }, + { "Signal probe", "Замер сигнала" }, + { "Skip", "Пропустить" }, + { "Sleep ready", "Готов ко сну" }, + { "Slot %d cleared", "Слот %d очищен" }, + { "Slot empty", "Слот пуст" }, + { "Small\nMedium\nLarge", "Малый\nСредний\nБольшой" }, + { "Snake — swipe or roll the trackball", "Snake — проведите или крутите трекбол" }, + { "Sort", "Сортировка" }, + { "Sound", "Звук" }, + { "Sound off", "Звук выкл" }, + { "Sound on", "Звук вкл" }, + { "Sound: %s", "Звук: %s" }, + { "Start time", "Время начала" }, + { "Status", "Статус" }, + { "Step 1 of 3", "Шаг 1 из 3" }, + { "Step 2 of 3", "Шаг 2 из 3" }, + { "Step 3 of 3", "Шаг 3 из 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Ещё анализируется предыдущий\nпуть… повторите чуть позже." }, + { "Stop", "Стоп" }, + { "Storage", "Хранилище" }, + { "Store data on SD (reboot)", "Хранить данные на SD (перезагрузка)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Транслирует экран как живую картинку, по которой вы нажимаете. Тяжелее; на панели заглушка. Переключение перезагружает устройство." }, + { "Switch", "Переключить" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Переключиться на внешнюю антенну?\n\nСначала убедитесь, что антенна действительно подключена к разъёму. Передача без антенны может повредить радио.\n\nПри каждой перезагрузке возвращается на встроенную." }, + { "Sync clock from system", "Синхронизировать часы" }, + { "System", "Система" }, + { "System info", "О системе" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS-клиенты %d GPS %s Зуммер %s" }, + { "TCP off", "TCP выкл" }, + { "TCP on", "TCP вкл" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Горячие клавиши вкладки — коснитесь строки, затем нажмите клавишу" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Нажмите «Выбрать» для смены - устройство перезагрузится. Файлы языков лежат в /lang в хранилище; правьте их или добавляйте свои." }, + { "Tap a language; the device reboots to apply.", "Выберите язык; устройство перезагрузится." }, + { "Taste the rainbow!", "Попробуй радугу!" }, + { "Telemetry", "Телеметрия" }, + { "Telemetry req (direct)…", "Запрос телеметрии (прямой)…" }, + { "Telemetry req (flood)…", "Запрос телеметрии (flood)…" }, + { "Telemetry req failed", "Сбой запроса телеметрии" }, + { "Telemetry requests allowed", "Запросы телеметрии разрешены" }, + { "Telemetry requests off", "Запросы телеметрии выкл" }, + { "Telemetry req…", "Запросы теле…" }, + { "Telemetry settings", "Настройки телеметрии" }, + { "Temperature", "Температура" }, + { "Test builds: off", "Тестовые сборки: выкл" }, + { "Test builds: on", "Тестовые сборки: вкл" }, + { "Theme", "Тема" }, + { "Theme colour", "Цвет темы" }, + { "Then pick a mode:", "Затем выберите режим:" }, + { "This contact hasn't shared\na GPS position.", "Этот контакт не делился\nGPS-позицией." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Это устройство может использовать Wi-Fi и Bluetooth одновременно — как автономную рацию и компаньон телефона (приложение MeshCore).\n\nОба сразу используют больше ОЗУ, включайте только нужное.\n\nНастройте их в любой момент в Настройках." }, + { "Throttles the CPU when idle to save power", "Снижает частоту ЦП в простое для экономии энергии" }, + { "Tile reload needs Wi-Fi build", "Перезагрузка тайлов требует Wi-Fi сборки" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Тайлы очищены — переподключите Wi-Fi для загрузки" }, + { "Tiles from SD card", "Тайлы с SD-карты" }, + { "Time %s", "Время %s" }, + { "Time offset (vs automatic)", "Смещение времени (от авто)" }, + { "Time offset: %+d h", "Смещение времени: %+d ч" }, + { "Time range (hours ago)", "Диапазон времени (часов назад)" }, + { "Time zone", "Часовой пояс" }, + { "Time zone: %s", "Часовой пояс: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Совет: сканировать сети можно в Настройки → Сеть после настройки." }, + { "Today", "Сегодня" }, + { "Toggle GPS", "Переключить GPS" }, + { "Too large to edit (>8 KB)", "Слишком велик для редактирования (>8 КБ)" }, + { "Topographic map", "Топографическая карта" }, + { "Trace", "Трассировка" }, + { "Trace SNR", "Трассировка SNR" }, + { "Trace failed", "Сбой трассировки" }, + { "Trace route", "Трассировка маршрута" }, + { "Trace sent…", "Трассировка отправлена…" }, + { "Tracing route…", "Трассировка маршрута…" }, + { "Trackball navigates UI", "Трекбол управляет UI" }, + { "Trackball: cursor", "Трекбол: курсор" }, + { "Trackball: navigate UI", "Трекбол: навигация UI" }, + { "Turn Wi-Fi on first", "Сначала включите Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Включите Wi-Fi и обновите. Установленные приложения продолжают работать." }, + { "Turn off", "Выключить" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Включить устаревшее переключение на каждую передачу?\n\nДиагностический режим, только для сравнения. Передаёт на встроенной антенне, слушает на внешней - исходящий сигнал будет намного слабее входящего.\n\nПри каждой перезагрузке возвращается на встроенную." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Выключить лимит истории?\n\nОживлённый канал может заполнить всё хранилище сообщений - больше места и заметно медленнее список чатов и приложение. Делайте это только если действительно нужен весь архив." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Включите и откройте адрес ниже в любом браузере в той же сети Wi-Fi - приложение не нужно. Экран устройства появится в браузере, и им можно управлять нажатиями." }, + { "Type a URL, then Go", "Введите URL и нажмите «Перейти»" }, + { "Type a message...", "Введите сообщение..." }, + { "Type a new 6-digit code · applies after a reboot", "Введите новый 6-значный код · применится после перезагрузки" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Введите имя сети — или включите Wi-Fi в Настройках для поиска" }, + { "UI size (restart to apply)", "Размер UI (перезапуск для применения)" }, + { "UI size saved — restart to apply", "Размер UI сохранён — перезапуск для применения" }, + { "USB powered", "Питание от USB" }, + { "Unblock", "Разблокировать" }, + { "Unblocked", "Разблокирован" }, + { "Unfavorite it first", "Сначала уберите из избранного" }, + { "Unlocking…", "Разблокировка…" }, + { "Unmute @", "Включить @" }, + { "Unmute msgs", "Включить сообщ." }, + { "Unread %d", "Непроч. %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Непроч. %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV не поддерживается (нужен 16-бит PCM)" }, + { "Update", "Обновить" }, + { "Update bin saved to SD", "Файл обновления сохранён на SD" }, + { "Update complete.\nRebooting...", "Обновление завершено.\nПерезагрузка..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Обновите вручную на flasher.wadamesh.com\n(обновление по Wi-Fi пока приостановлено)" }, + { "Update via the Launcher", "Обновление через Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Обновление через Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Обновление через Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Обновлено - перезагрузка…" }, + { "Use", "Выбрать" }, + { "Username (optional)", "Имя пользователя (необязательно)" }, + { "Volume", "Громкость" }, + { "W up · A left · D right · Z down · S select · Q back", "W вверх · A влево · D вправо · Z вниз · S выбор · Q назад" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Ожидание Wi-Fi..." }, + { "Welcome to WADAMESH", "Добро пожаловать в WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Пока это включено, любой в вашей сети Wi-Fi может видеть устройство и управлять им. Обычный HTTP (только локальная сеть)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi и Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi не включён в этой сборке." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi недоступен в этой сборке." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Нужен Wi-Fi для профиля\nрельефа этого пути.\nПодключите в Настройки → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi не подключён" }, + { "Wi-Fi off", "Wi-Fi выкл" }, + { "Wi-Fi on", "Wi-Fi вкл" }, + { "Wi-Fi on, scanning…", "Wi-Fi вкл, поиск…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi сохранён (радио выкл)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi сохранён, переподключение" }, + { "Yesterday", "Вчера" }, + { "You can run setup later in Settings → Device", "Настройку можно запустить позже в Настройки → Устройство" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Местоположение неизвестно.\nСначала задайте GPS / позицию в\nНастройки → Профиль." }, + { "Your name", "Ваше имя" }, + { "Your own apps", "Ваши приложения" }, + { "Zero-hop", "Без ретрансляции" }, + { "Zero-hop advert sent", "Zero-hop advert отправлен" }, + { "Zoom: +/- buttons", "Масштаб: кнопки +/-" }, + { "client connected", "клиент подключён" }, + { "command", "команда" }, + { "contacts (%d):", "контакты (%d):" }, + { "diag boot...", "диаг. загрузка..." }, + { "double-tap SPACE cycles through the ones you enable", "двойное нажатие ПРОБЕЛ переключает включённые" }, + { "drive the UI without the screen; keys still type in text fields", "управление UI без экрана; клавиши всё ещё печатают в полях" }, + { "e.g. Family", "напр. Семья" }, + { "e.g. mesh", "напр. mesh" }, + { "from", "от" }, + { "h to", "ч до" }, + { "hold Backspace to unlock", "удерживайте Backspace для разблокировки" }, + { "hold the d-pad to unlock", "удерживайте d-pad для разблокировки" }, + { "hold the trackball to unlock", "удерживайте трекбол для разблокировки" }, + { "kHz", "kHz" }, + { "keep holding", "удерживайте" }, + { "last wake: ", "последнее пробуждение: " }, + { "leave empty to generate", "оставьте пустым для генерации" }, + { "lights the keyboard + wakes the screen on an incoming message", "подсвечивает клавиатуру + будит экран при входящем сообщении" }, + { "mesh link armed", "меш-канал готов" }, + { "mesh busy", "сеть занята" }, + { "min (0=off)", "мин (0=выкл)" }, + { "mkdir failed", "Не удалось создать папку" }, + { "n/a in this build", "н/д в этой сборке" }, + { "now on channel %s", "теперь в канале %s" }, + { "now talking to %s", "теперь общаетесь с %s" }, + { "off", "выкл" }, + { "off = Enter adds a new line; tap Send to send", "выкл = Enter добавляет строку; нажмите Отправить" }, + { "on", "вкл" }, + { "peak --", "пик --" }, + { "pick accented letters as you type; off = plain typing", "выбор букв с акцентами при наборе; выкл = обычный набор" }, + { "press Volume Down to unlock", "нажмите Громкость вниз для разблокировки" }, + { "push past a screen edge to scroll content", "толкните за край экрана для прокрутки" }, + { "score %d", "счёт %d" }, + { "search", "поиск" }, + { "tap for details", "коснитесь для деталей" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "нажмите клавишу языка (напр. EN) на клавиатуре для переключения включённых" }, + { "tap to cancel", "нажмите для отмены" }, + { "tap to exit full screen", "нажмите для выхода из полноэкранного режима" }, + { "zoom", "масштаб" }, + { "zoom %d", "масштаб %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "усилитель ~17 дБ для тихих/удалённых мест; выключайте в шумных." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_uk[] = { + { " (device behind)", " (пристрій відстає)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d точок покриття · %lu записано на SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: очікування GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f МГц · SF%u · TX %+ddBm" }, + { "%d on map", "%d на карті" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d поруч (%d ретр, %d комп)" }, + { "%u types · hops %u · manual %s", "%u типів · хопи %u · вручну %s" }, + { "(RTC unset)", "(RTC не задано)" }, + { "(device behind)", "(пристрій відстає)" }, + { "(no default)", "(немає типового)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 байт (застар.)\n2 байти\n3 байти" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nБез ліміту" }, + { "12-hour clock", "12-годинний формат" }, + { "32 hex characters", "32 hex-символи" }, + { "32-hex secret. Anyone with this can read the channel.", "Секрет 32 hex. Будь-хто з ним може читати канал." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Згадки" }, + { "@ mention sound", "Звук @-згадок" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "АВТОМАТИЧНІ АДВЕРТИ" }, + { "About", "Про програму" }, + { "About the map", "Про карту" }, + { "Accent popups", "Підказки акцентів" }, + { "Accent popups: off", "Підказки акцентів: вимк" }, + { "Accent popups: on", "Підказки акцентів: увімк" }, + { "Ack", "Підтв." }, + { "Active", "Активно" }, + { "Add", "Додати" }, + { "Add channel", "Додати канал" }, + { "Add contact", "Додати контакт" }, + { "Added", "Додано" }, + { "Added to contacts", "Додано до контактів" }, + { "Added to favorites", "Додано до обраного" }, + { "Admin", "Адмін" }, + { "Advert", "Advert" }, + { "Advert failed", "Помилка advert" }, + { "Advert location", "Місцезнаходження advert" }, + { "Advert policy saved", "Політику advert збережено" }, + { "Advert sent", "Advert надіслано" }, + { "All marked read", "Усе прочитано" }, + { "Already exists", "Вже існує" }, + { "Already exists or table full.", "Вже існує або таблиця заповнена." }, + { "Already in contacts", "Вже в контактах" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Після перезавантаження завжди стартує на вбудованій антені. Обирайте «Зовнішня» лише з підключеною антеною." }, + { "Analyzing terrain…", "Аналіз рельєфу…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Аналіз рельєфу…\n(спроба %d з 3)" }, + { "Answer telemetry requests", "Відповідати на запити телеметрії" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Будь-хто може приєднатися. Ключ із хештегу (нижній регістр)." }, + { "App drawer as home", "Меню додатків як головний екран" }, + { "App icon size", "Розмір значків додатків" }, + { "Applies after restart.", "Діє після перезапуску." }, + { "Apply", "Застосувати" }, + { "Apply auto-poll", "Застосувати автоопитування" }, + { "Apply radio params", "Застосувати параметри радіо" }, + { "Apps", "Застосунки" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Стрілки + Enter працюють завжди. Ці літери — додатково: торкніться рядка, потім натисніть клавішу." }, + { "Auto advert", "Автооголошення" }, + { "Auto chat", "Авто чат" }, + { "Auto repeater", "Авто ретранслятор" }, + { "Auto room", "Авто кімната" }, + { "Auto sensor", "Авто датчик" }, + { "Auto-Join", "Автоприєднання" }, + { "Auto-add contacts", "Автододавання контактів" }, + { "Auto-add saved", "Автододавання збережено" }, + { "Auto-add settings", "Налаштування автододавання" }, + { "Auto-delete above hops", "Автовидалення понад хопи" }, + { "Auto-delete oldest", "Автовидалення старих" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Автовидалення старих звільняє місце при заповненні. Хопи: 0 = зберігати всі; вузли, чутні через більше хопів, видаляються." }, + { "Auto-discover", "Автовиявлення" }, + { "Auto-discover off", "Автовиявлення вимк." }, + { "Auto-discover on", "Автовиявлення увімк." }, + { "Auto-poll every", "Автоопитування кожні" }, + { "Auto-refresh off", "Автооновлення вимк." }, + { "Auto-refresh on", "Автооновлення увімк." }, + { "Available", "Доступно" }, + { "BLE off", "BLE вимк" }, + { "BLE on", "BLE увімк" }, + { "BT", "BT" }, + { "Back", "Назад" }, + { "Backups", "Резервні копії" }, + { "Battery", "Батарея" }, + { "Battery & power history", "Історія батареї та живлення" }, + { "Battery (V)", "Батарея (В)" }, + { "Battery calibration reset to default", "Калібрування батареї скинуто" }, + { "Battery read too low — charge fully first", "Заряд надто низький — спершу зарядіть" }, + { "Battery saver (experimental)", "Економія заряду (експериментально)" }, + { "Battery — last 24h", "Батарея — останні 24 год" }, + { "Battery:", "Батарея:" }, + { "Block", "Заблокувати" }, + { "Block list full", "Список блокувань заповнено" }, + { "Blocked list", "Список блокувань" }, + { "Blocked users", "Заблоковані" }, + { "Blocked — their messages are hidden", "Заблоковано — повідомлення приховано" }, + { "Blocking unsupported", "Блокування не підтримується" }, + { "Blue battery Last 6 min", "Синій — батарея Останні 6 хв" }, + { "Blue battery Orange temp Cyan humidity", "Синій — батарея Помаранчевий — темп. Блакитний — вологість" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth вже вимк" }, + { "Bluetooth already on", "Bluetooth вже увімк" }, + { "Bluetooth off", "Bluetooth вимк" }, + { "Bluetooth on", "Bluetooth увімк" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Bluetooth-сполучення на цьому пристрої недоступне.\n\nЗаводська прошивка радіочипа його не підтримує.\n\nПід'єднайте застосунок через Wi-Fi: підключіть пристрій до мережі та додайте його в застосунку за IP-адресою (TCP, порт 5000) — показано в Налаштування > Мережа. USB теж працює." }, + { "Broker host / IP", "Хост / IP брокера" }, + { "Buffered receive (experimental)", "Буферизований прийом (експериментально)" }, + { "Built-in", "Вбудований" }, + { "Built-in (default)", "Вбудований (типовий)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Калібрувати батарею (повна = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Калібровано: 100%% = %u.%02u В (довге натискання — скидання)" }, + { "Can't block — not a contact", "Не можна заблокувати — не контакт" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Не вдалося показати зображення\n(лише JPEG, <= 1024 пікс)" }, + { "Cancel", "Скасувати" }, + { "Cancelled", "Скасовано" }, + { "Cannot open file", "Не вдалося відкрити файл" }, + { "Catalog unavailable", "Каталог недоступний" }, + { "Centered on %s", "Центровано на %s" }, + { "Changing orientation - rebooting...", "Зміна орієнтації - перезавантаження..." }, + { "Channel created", "Канал створено" }, + { "Channel joined", "Приєднано до каналу" }, + { "Channel name", "Назва каналу" }, + { "Channel not found", "Канал не знайдено" }, + { "Channel removed", "Канал видалено" }, + { "Channel scope saved", "Область каналу збережено" }, + { "Channel settings", "Налаштування каналу" }, + { "Channel table is full", "Таблиця каналів заповнена" }, + { "Channel table is full.", "Таблиця каналів заповнена." }, + { "Channel-specific regions can be set in each channel's settings.", "Регіони для окремих каналів задаються в налаштуваннях кожного каналу." }, + { "Channels:", "Канали:" }, + { "Chat bubbles", "Бульбашки чату" }, + { "Chat bubbles: plain", "Бульбашки: прості" }, + { "Chat history is NOT saving", "Історія чату НЕ зберігається" }, + { "Chat history save FAILED", "НЕ ВДАЛОСЯ зберегти історію чату" }, + { "Chat icon", "Значок чату" }, + { "Chat icon reset to letters", "Значок чату скинуто до літер" }, + { "Chat icon set", "Значок чату встановлено" }, + { "Chat removed", "Чат видалено" }, + { "Chat save fallback (failed tries)", "Резервне збереження чату (невдачі)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Чати, контакти, налаштування і mesh-термінал - усе в браузері. Без перезавантаження; екран пристрою лишається звичайним." }, + { "Choose .wav from files", "Обрати .wav з файлів" }, + { "Choose your name", "Виберіть ім'я" }, + { "Choose your region", "Виберіть регіон" }, + { "Clear", "Очистити" }, + { "Clear battery history?", "Очистити історію батареї?" }, + { "Clear history", "Очистити історію" }, + { "Clear telemetry history for this node?", "Очистити історію телеметрії цього вузла?" }, + { "Client repeat", "Повтор клієнта" }, + { "Clock synced", "Годинник синхронізовано" }, + { "Clock: 12-hour", "Годинник: 12-годинний" }, + { "Clock: 24-hour", "Годинник: 24-годинний" }, + { "Close", "Закрити" }, + { "Colourful chat bubbles", "Кольорові бульбашки чату" }, + { "Commands", "Команди" }, + { "Community Preset", "Пресет спільноти" }, + { "Community preset (meshcomod web)", "Пресет спільноти (meshcomod web)" }, + { "Compact messages", "Компактні повідомлення" }, + { "Compact messages (IRC style)", "Компактні повідомлення (стиль IRC)" }, + { "Connect", "Підключити" }, + { "Connect Wi-Fi to reload tiles", "Підключіть Wi-Fi, щоб перезавантажити плитки" }, + { "Connect to Wi-Fi", "Підключитися до Wi-Fi" }, + { "Connect to Wi-Fi first", "Спершу підключіться до Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Спочатку підключіться до Wi-Fi, потім повторіть." }, + { "Connect to Wi-Fi to get a browser address.", "Підключіться до Wi-Fi, щоб отримати адресу для браузера." }, + { "Connected", "Підключено" }, + { "Connected - a browser is viewing this screen.", "Підключено - браузер переглядає цей екран." }, + { "Connecting...", "Підключення..." }, + { "Connecting…", "Підключення…" }, + { "Console not available on this build", "Консоль недоступна в цій збірці" }, + { "Contact added", "Контакт додано" }, + { "Contact deleted", "Контакт видалено" }, + { "Contact gone", "Контакт зник" }, + { "Contact missing", "Контакт відсутній" }, + { "Contacts", "Контакти" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Контакти у внутрішній пам'яті - SD-карта не змонтувалася під час завантаження. Переставте картку і перезавантажте." }, + { "Contacts are on internal flash.", "Контакти у внутрішній пам'яті." }, + { "Contacts are saved to the SD card.", "Контакти зберігаються на SD-карту." }, + { "Contacts full", "Контакти заповнено" }, + { "Contacts:", "Контакти:" }, + { "Control", "Керування" }, + { "Control this device from a browser", "Керуйте пристроєм із браузера" }, + { "Copied %s", "%s скопійовано" }, + { "Copied - Paste in a folder", "Скопійовано - вставте в теку" }, + { "Copy", "Копіювати" }, + { "Copy failed (no internal identity)", "Помилка копіювання (немає внутрішньої ідентичності)" }, + { "Copy internal data to SD", "Скопіювати дані на SD" }, + { "Copy secret", "Копіювати секрет" }, + { "Copying internal data to SD...", "Копіювання внутрішніх даних на SD..." }, + { "Could not add", "Не вдалося додати" }, + { "Could not save the crash report", "Не вдалося зберегти звіт про збій" }, + { "Couldn't delete", "Не вдалося видалити" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Не вдалося отримати дані рельєфу.\nПеревірте з'єднання та\nсервер висот, потім\nспробуйте ще раз." }, + { "Couldn't save the name to storage", "Не вдалося зберегти ім'я" }, + { "Couldn't send login", "Не вдалося надіслати запит входу" }, + { "Couldn't start the analyzer.\nTry again.", "Не вдалося запустити аналізатор.\nСпробуйте знову." }, + { "Crash export failed", "Не вдалося експортувати звіт про збій" }, + { "Create", "Створити" }, + { "Create QR", "Створити QR" }, + { "Create a private channel", "Створити приватний канал" }, + { "Create failed", "Не вдалося створити" }, + { "Create private channel", "Створити приватний канал" }, + { "Custom UTC offset (hours)", "Власний зсув UTC (години)" }, + { "Cut", "Вирізати" }, + { "Cut - Paste in a folder", "Вирізано - вставте в теку" }, + { "DM sound", "Звук DM" }, + { "DND", "DND" }, + { "Danger zone", "Небезпечна зона" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Дані -> SD-картка при перезавантаженні\n(потрібна картка)" }, + { "Data -> internal on reboot", "Дані -> внутр. при перезавантаженні" }, + { "Delete", "Видалити" }, + { "Delete %d contact(s)?", "Видалити %d контакт(ів)?" }, + { "Delete chat", "Видалити чат" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Видалити чат із \"%s\"?\nІсторію буде очищено." }, + { "Delete failed", "Не вдалося видалити" }, + { "Delete history", "Видалити історію" }, + { "Delete this backup file?\nThis cannot be undone.", "Видалити цей файл копії?\nСкасувати неможливо." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Видалити всю історію цього чату?\nСам чат залишиться." }, + { "Deleted", "Видалено" }, + { "Deleted %d", "Видалено: %d" }, + { "Deleted %d messages", "Видалено повідомлень: %d" }, + { "Deleting contacts", "Видалення контактів" }, + { "Delivered", "Доставлено" }, + { "Detailed sensors", "Докладні датчики" }, + { "Device clock differs from \"%s\" by %lu h%s", "Годинник пристрою відрізняється від \"%s\" на %lu год%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Годинник пристрою відрізняється від \"%s\" на %lu хв%s" }, + { "Device name hidden", "Ім'я пристрою приховано" }, + { "Device name shown", "Ім'я пристрою показано" }, + { "Device time:", "Час пристрою:" }, + { "Diagnostics", "Діагностика" }, + { "Diagnostics are on the About page.", "Диагностиката е на страницата Относно." }, + { "Discovered", "Виявлено" }, + { "Discovered settings", "Налаштування виявлених" }, + { "Display", "Екран" }, + { "Display name", "Відображуване ім'я" }, + { "Distance in miles", "Відстань у милях" }, + { "Distance: km", "Відстань: км" }, + { "Distance: miles", "Відстань: милі" }, + { "Do Not Disturb", "Не турбувати" }, + { "Do Not Disturb off", "«Не турбувати» вимк." }, + { "Do Not Disturb on", "«Не турбувати» увімк." }, + { "Download failed", "Завантаження не вдалося" }, + { "Download failed (network?)", "Завантаження не вдалося (мережа?)" }, + { "Download mode", "Режим завантаження" }, + { "Download mode… reflash over USB", "Режим завантаження… перепрошийте через USB" }, + { "Downloaded - tap Use to switch", "Завантажено - натисніть «Обрати» для зміни" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Завантаження тайлів карти…\n\nНе вимикайте Wi-Fi.\nТайли з'являються під час завантаження\nі зберігаються для офлайн-режиму." }, + { "Downloading…", "Завантаження…" }, + { "Duty meter", "Індикатор завантаження" }, + { "Edge scroll", "Прокрутка з краю" }, + { "Edit in Settings → Quick replies", "Редагувати в Налаштування → Швидкі відповіді" }, + { "Editing", "Редагування" }, + { "Empty = plaintext to a private broker", "Порожньо = відкритий текст на приватний брокер" }, + { "Empty file", "Порожній файл" }, + { "Enable Bluetooth", "Увімкнути Bluetooth" }, + { "Enable MQTT bridge", "Увімкнути міст MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Вмикайте лише якщо ваш ретранслятор перезаливає тільки один регіон. Інакше залиште вимк. — це може блокувати міжрегіональний вхід/ПП." }, + { "Enable web access", "Увімкнути веб-доступ" }, + { "Encryption key (optional)", "Ключ шифрування (необов'язково)" }, + { "End time", "Час завершення" }, + { "Enter SSID first", "Спочатку введіть SSID" }, + { "Enter a name", "Введіть ім'я" }, + { "Enter a network name", "Введіть назву мережі" }, + { "Enter adds a new line", "Enter додає новий рядок" }, + { "Enter exactly 32 hex characters.", "Введіть рівно 32 hex-символи." }, + { "Enter key sends message", "Клавіша Enter надсилає повідомлення" }, + { "Enter sends messages", "Enter надсилає повідомлення" }, + { "Enter the 32-hex secret shared by the channel creator.", "Введіть секрет 32 hex від творця каналу." }, + { "Entering remote mode - rebooting...", "Вхід у віддалений режим - перезавантаження..." }, + { "Erase all", "Стерти все" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Стирає особистість, контакти, канали, повідомлення, Wi-Fi і всі налаштування, потім перезавантаження." }, + { "Erasing everything…", "Стирання всього…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Усі вузли мають збігатися. Можна змінити пізніше в Налаштуваннях." }, + { "Expansion Kit", "Комплект розширення" }, + { "Experimental", "Експериментальне" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Експериментально — є відомі проблеми. Вимк. = програмний курсор." }, + { "Experimental saved", "Експерим. збережено" }, + { "Export failed (can't open file)", "Помилка експорту (не вдалося відкрити файл)" }, + { "Export new backup", "Нова копія" }, + { "Export settings", "Експорт налаштувань" }, + { "Exporting settings…", "Експорт налаштувань…" }, + { "External antenna selected", "Вибрано зовнішню антену" }, + { "Factory reset", "Скидання налашт." }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Скинути до заводських?\n\nСтирає особистість, контакти, канали, повідомлення, Wi-Fi і всі налаштування. Незворотно." }, + { "Failed to save channel.", "Не вдалося зберегти канал." }, + { "Favorites full (max %d)", "Обране заповнене (макс %d)" }, + { "Favorites unsupported", "Обране не підтримується" }, + { "Fetching the app list from firmware.wadamesh.com", "Завантаження списку застосунків з firmware.wadamesh.com" }, + { "Files", "Файли" }, + { "Find", "Знайти" }, + { "Finish", "Готово" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Прошивка beta_%d\nСервер оновлень недоступний" }, + { "Firmware:", "Прошивка:" }, + { "Flash on new message", "Блимати при новому повідомленні" }, + { "Flood", "Флуд" }, + { "Flood advert sent", "Flood advert надіслано" }, + { "Flood every", "Flood кожні" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: ретранслюється по мережі (мульти-хоп).\nZero-hop: лише сусіди (без ретрансляції)." }, + { "Folder created", "Теку створено" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Для встановлень через Launcher: зберігає останню прошивку вибраного каналу на SD-карту (папка BINS)." }, + { "Forget network", "Забути мережу" }, + { "Format", "Форматувати" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Форматувати SD як MESHCOMOD (FAT32)?\nУсі дані на карті буде стерто." }, + { "Format failed (no card / SD error)", "Помилка форматування (немає картки / помилка SD)" }, + { "Frequency / bandwidth", "Частота / смуга" }, + { "Full", "Заповнено" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Зумер %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Зумер %s\n%s" }, + { "GPS off", "GPS вимк" }, + { "GPS on", "GPS увімк" }, + { "GPS serial baud", "Швидкість GPS (бод)" }, + { "GPS unset", "GPS не задано" }, + { "GPS: acquiring...", "GPS: пошук..." }, + { "GPS: fix", "GPS: фікс" }, + { "GPS: off", "GPS: вимк" }, + { "GPS: searching", "GPS: пошук" }, + { "Game over — score %d (tap to restart)", "Гру завершено — рахунок %d (торкніться для рестарту)" }, + { "Get", "Отримати" }, + { "Get Started", "Почати" }, + { "Get test builds (beta)", "Отримувати тестові збірки (бета)" }, + { "Go", "Перейти" }, + { "Green pressure Gray altitude", "Зелений тиск Сірий висота" }, + { "Hashtag name", "Назва хештегу" }, + { "Hidden - turn it back on in the Lua Store", "Приховано - увімкніть знову в Lua Store" }, + { "Hidden network", "Прихована мережа" }, + { "Hide", "Приховати" }, + { "Hide device name", "Приховати ім'я пристрою" }, + { "Hide this app from the drawer?", "Приховати цей застосунок з меню?" }, + { "High-gain receiver (FEM LNA)", "Приймач з високим підсиленням (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Вкрай експериментально. Пересилає текст, ім'я відправника й позначку часу кожного повідомлення, яке отримує ваш вузол, на брокер MQTT, де їх зможе прочитати будь-хто з доступом до брокера. Особисті повідомлення приватні — від людей, що не погоджувалися на їх передачу. Використовуйте власний брокер, задайте ключ шифрування нижче і ніколи не публічний брокер." }, + { "History limit off", "Ліміт історії вимкнено" }, + { "Hotkey saved", "Гарячу клавішу збережено" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Як вас бачитимуть інші вузли. Можна змінити в Налаштуваннях." }, + { "Humidity", "Вологість" }, + { "I accept the privacy risk", "Я приймаю ризик для приватності" }, + { "Identity (public key)", "Ідентичність (відкритий ключ)" }, + { "Idle power-save", "Енергозбереження при простої" }, + { "Idle sleep disabled", "Сон при простої вимкнено" }, + { "Idle sleep enabled", "Сон при простої увімкнено" }, + { "Image too large (>4 MB)", "Зображення завелике (>4 МБ)" }, + { "Import", "Імпорт" }, + { "Import backup", "Імпорт резервної копії" }, + { "Import failed (bad/unreadable JSON)", "Помилка імпорту (некоректний JSON)" }, + { "Import settings", "Імпорт налаштувань" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Імпортувати копію?\nЗамінить ідентичність,\nканали й контакти,\nпотім перезавантаження." }, + { "Import: storage unavailable", "Імпорт: сховище недоступне" }, + { "Importing settings…", "Імпорт налаштувань…" }, + { "Inactive", "Неактивно" }, + { "Info", "Інфо" }, + { "Insert emoji / symbol", "Вставити емодзі / символ" }, + { "Install", "Встановити" }, + { "Install a previous version", "Встановити попередню версію" }, + { "Install an earlier version", "Встановити ранішу версію" }, + { "Install failed (network?)", "Встановлення не вдалося (мережа?)" }, + { "Install update", "Встановити оновлення" }, + { "Installed", "Встановлено" }, + { "Installing…", "Встановлення…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Внутрішня (вбудована)\nЗовнішня (MMCX)\nАвто (застаріле, на передачу)" }, + { "Internal has no folders", "У внутрішній пам'яті немає тек" }, + { "Internal storage %s / %s", "Внутр. пам'ять %s / %s" }, + { "Invalid lat/lon", "Невірні коорд." }, + { "Invalid max hops", "Невірне макс. число хопів" }, + { "Invalid radio values", "Невірні значення радіо" }, + { "Join", "Приєднатися" }, + { "Join a hashtag channel", "Приєднатися до хештег-каналу" }, + { "Join a private channel", "Приєднатися до приватного каналу" }, + { "Join hashtag channel", "Приєднатися до каналу хештегу" }, + { "Join network", "Приєднатися до мережі" }, + { "Join private channel", "Приєднатися до приватного каналу" }, + { "Join the public channel", "Приєднатися до публічного каналу" }, + { "Joined %.40s", "Приєднано до %.40s" }, + { "Keep per chat (messages)", "Зберігати на чат (повідомлень)" }, + { "Key already in use", "Ключ уже використовується" }, + { "Keyboard", "Клавіатура" }, + { "Keyboard backlight", "Підсвітка клавіатури" }, + { "Keyboard light auto", "Підсвітка клавіатури авто" }, + { "Keyboard light off", "Підсвітка клавіатури вимк." }, + { "Keyboard light on", "Підсвітка клавіатури увімк." }, + { "Keyboard nav: WASDZ on", "Навігація клавіатурою: WASDZ увімк." }, + { "Keyboard nav: off", "Навігація клавіатурою: вимк." }, + { "Keyboard navigation", "Навігація клавіатурою" }, + { "LOS → %s", "Пряма видимість → %s" }, + { "Landscape (desktop)", "Альбомна (десктоп)" }, + { "Landscape set - applies when remote mode starts.", "Альбомну вибрано - застосується під час запуску віддаленого режиму." }, + { "Language", "Мова" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Каталог мов недоступний - перевірте Wi-Fi і відкрийте вкладку знову." }, + { "Language updated - restarting to apply it…", "Мову оновлено - перезавантаження для застосування…" }, + { "Languages", "Мови" }, + { "Latitude", "Широта" }, + { "Leave empty if not required", "Залиште порожнім, якщо не потрібно" }, + { "Leaving remote mode - rebooting...", "Вихід із віддаленого режиму - перезавантаження..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Налаштуймо ваш пристрій.\n\nВи виберете ім'я та регіон LoRa. Займе близько хвилини." }, + { "Letters only", "Лише літери" }, + { "LoRa antenna (P4)", "Антена LoRa (P4)" }, + { "Loading catalog…", "Завантаження каталогу…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Завантаження тайлів карти…\n\nНе вимикайте Wi-Fi.\nТайли з'являються під час завантаження." }, + { "Loading map…", "Завантаження карти…" }, + { "Loading the language catalog…", "Завантаження каталогу мов…" }, + { "Loading...", "Завантаження..." }, + { "Local every", "Локально кожні" }, + { "Local sensors", "Локальні датчики" }, + { "Lock", "Блокування" }, + { "Lock screen", "Екран блокування" }, + { "Lock screen wallpaper", "Шпалери екрана блокування" }, + { "Lock text colour", "Колір тексту блокування" }, + { "Lock text colour set", "Колір тексту блокування встановлено" }, + { "Lock wallpaper", "Шпалери блокування" }, + { "Lock wallpaper set", "Шпалери блокування встановлено" }, + { "Lock when screen off", "Блокувати при вимк. екрані" }, + { "Locking…", "Блокування…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Блокується при вимкненні екрана\n(утримуйте Backspace для розблокування)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Блокується при вимк. екрані\n(утримуйте d-pad для розблокування)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Блокується при вимк. екрані\n(утримуйте трекбол для розблокування)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Блокується при вимк. екрані\n(натисніть Гучність вниз для розблокування)" }, + { "Locks when screen off\n(press the button to unlock)", "Блокується при вимк. екрані\n(натисніть кнопку для розблокування)" }, + { "Log in again", "Увійти знову" }, + { "Logging in again...", "Повторний вхід..." }, + { "Logging in…", "Вхід…" }, + { "Login OK (perms %u)", "Вхід OK (права %u)" }, + { "Login failed", "Помилка входу" }, + { "Logs", "Журнали" }, + { "Longitude", "Довгота" }, + { "Lua Store", "Магазин Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Міст MQTT" }, + { "Map", "Карта" }, + { "Map options", "Параметри карти" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Помилка сховища карти.\n\nSD-картку знайдено, але кеш\nплиток не змонтовано.\nПерезавантажте для повтору." }, + { "Map storage error.\nReflash the tiles partition.", "Помилка сховища карти.\nПерепрошийте розділ tiles." }, + { "Map tiles: microSD", "Плитки карти: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Тайли карти: microSD\n\n/maps/osm/z/x/y.png\n(або /tiles/z/x/y.jpg)\n\nКарта з'являється, коли знайдено\nтайл для цієї області." }, + { "Map tiles: server", "Плитки карти: сервер" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Карта — на SPIFFS ще немає пакета тайлів.\n\nЗавантажте пакет у /tiles///.jpg генератором на хості." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Карта — задайте місцезнаходження\nу Налаштування → Профіль, щоб\nпоказати карту тут." }, + { "Mark all chats and channels as read?", "Позначити всі чати й канали прочитаними?" }, + { "Mark as read", "Позначити прочитаним" }, + { "Mark read", "Позначити прочитаним" }, + { "Marked read", "Позначено прочитаним" }, + { "Max hops (0..64)", "Макс. хопів (0..64)" }, + { "Max zoom for this pack", "Макс. зум для цього пакета" }, + { "Memory detail", "Деталі пам'яті" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Здоров'я мережі: flood-advert повторно розсилає кожен ретранслятор у зоні, тож часті flood збільшують ефірний час усієї мережі. Робіть їх рідкісними (раз на день чи рідше). Сусіди все одно бачать вас за zero-hop адвертами й вашими відповідями, тож робіть flood переважно коли далеким вузлам треба знову вас знайти. Залиште обидва вимк., щоб оголошуватися лише за натисканням кнопок вище." }, + { "Message", "Повідомлення" }, + { "Message LED", "Світлодіод повідомлень" }, + { "Message LED off", "Світлодіод повідомлень вимк." }, + { "Message LED on", "Світлодіод повідомлень увімк." }, + { "Message deleted", "Повідомлення видалено" }, + { "Message didn't get through.\nResend it?", "Повідомлення не дійшло.\nНадіслати знову?" }, + { "Message info", "Інформація про повідомлення" }, + { "Message sound", "Звук повідомлень" }, + { "Min zoom for this pack", "Мін. зум для цього пакета" }, + { "Mode: BLE starting / low memory", "Режим: BLE запускається / мало пам'яті" }, + { "Model:", "Модель:" }, + { "Multi ACKs", "Множинні ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Мульти-ack %s · Повтор %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Багатобайтова маршрутизація (хеш шляху)" }, + { "Mute @", "Без звуку @" }, + { "Mute msgs", "Вимкнути звук повід." }, + { "Mute notification sound", "Вимкнути звук сповіщень" }, + { "My position (no GPS fix)", "Моє положення (немає GPS-фікса)" }, + { "Name", "Ім'я" }, + { "Name can't be empty.", "Ім'я не може бути порожнім." }, + { "Name fragment", "Частина імені" }, + { "Name saved", "Ім'я збережено" }, + { "Navigation keys", "Клавіші навігації" }, + { "Navigation keys — tap a row, then press a key", "Клавіші навігації — торкніться рядка, потім натисніть клавішу" }, + { "Nearby on map", "Поблизу на карті" }, + { "Network name", "Назва мережі" }, + { "Network name (SSID)", "Назва мережі (SSID)" }, + { "New", "Нове" }, + { "New DM", "Нове ПП" }, + { "New channel msg", "Нове повід. каналу" }, + { "New contact", "Новий контакт" }, + { "New file", "Новий файл" }, + { "New folder", "Нова тека" }, + { "New game", "Нова гра" }, + { "New room msg", "Нове повід. кімнати" }, + { "Next", "Далі" }, + { "Night mode (invert)", "Нічний режим (інверсія)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Резервних копій .json не знайдено.\nЕкспортуйте одну або скопіюйте\nmeshcore-backup.json на\nSD-картку чи внутр. флеш." }, + { "No @mentions yet", "Поки що немає @згадок" }, + { "No Bluetooth on this device", "Немає Bluetooth на цьому пристрої" }, + { "No DM key", "Немає ключа ПП" }, + { "No GPS module on this device.", "На цьому пристрої немає модуля GPS." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "У /lock/ немає JPEG.\nДодайте зображення через\nфайловий менеджер або SD-картку." }, + { "No SD card", "Немає SD-карти" }, + { "No SD card (or unreadable format)", "Немає SD-карти (або нечитабельний формат)" }, + { "No backups yet. Tap Export new backup above to create one.", "Копій ще немає. Натисніть «Нова копія» вгорі, щоб створити." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Історії батареї ще немає.\n\nЗапис кожні 5 хвилин." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Немає заблокованих.\n\nЗатисніть повідомлення й натисніть\nБлокувати, щоб додати." }, + { "No contact for thread", "Немає контакту для гілки" }, + { "No contact to trace", "Немає контакту для трасування" }, + { "No contacts have shared\na GPS location yet.", "Контакти ще не ділилися\nGPS-місцезнаходженням." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Виявлених вузлів ще немає.\n\nУсе почуте в ефірі, чого немає в контактах, з'явиться тут. Коли автододавання вимкнено, вузли можна додати до контактів вручну." }, + { "No earlier versions yet", "Ранніх версій ще немає" }, + { "No local expansion data", "Немає локальних даних розширення" }, + { "No location for this contact", "Немає розташування для цього контакту" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Немає сховища карти.\n\nВставте SD-картку для кешу\nWi-Fi плиток (або перепрошийте\nдля розділу tiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Тут немає плиток карти.\n\nПідключіться до Wi-Fi (Налаштування → Wi-Fi),\nщоб завантажити цю ділянку." }, + { "No mapped repeaters in this route", "Немає нанесених ретрансляторів на цьому маршруті" }, + { "No networks found (2.4 GHz only)", "Мережі не знайдено (лише 2.4 ГГц)" }, + { "No onboard GPS", "Немає вбудованого GPS" }, + { "No other networks found", "Інших мереж не знайдено" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Позиції ще немає. Холодний старт потребує відкритого неба і може тривати кілька хвилин." }, + { "No reply from %s", "Немає відповіді від %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Немає відповіді. Перевірте пароль, сервер\nабо годинник пристрою (пристрій: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Тут немає збережених плиток.\n\nПідключіться до Wi-Fi (Налаштування → Wi-Fi),\nщоб завантажити цю ділянку.\nЗбережені плитки лишаються доступні офлайн." }, + { "No system time yet", "Системний час ще не задано" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Немає телеметрії в цьому вікні.\nЗапросіть її або розширте діапазон нижче." }, + { "No tiles (non-ESP32)", "Немає плиток (не ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Версія поки невідома. Спершу потрібні Wi-Fi та завершена перевірка оновлень." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Вузол\nРегіон\nРадіо\nСигнал\nКонтакти\nКанали\nБатарея\nЧас роботи" }, + { "Node name", "Назва вузла" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Звичайний (100%)\nВеликий (150%)\nВеличезний (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Недостатньо пам'яті для Bluetooth. Спершу вимкніть Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Недостатньо пам'яті для Wi-Fi. Спершу вимкніть Bluetooth." }, + { "Nothing selected", "Нічого не вибрано" }, + { "Notification sound set", "Звук сповіщення встановлено" }, + { "Notify on new contact", "Сповіщати про новий контакт" }, + { "Off", "Вимк" }, + { "Off\n1\n2\n3\n5\n8", "Вимк\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Вимк\n1 день\n2 дні\n3 дні\n7 днів" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Вимк\n60 хв\n90 хв\n2 години\n3 години\n4 години" }, + { "Offline", "Офлайн" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Старіші повідомлення понад це видаляються. Дуже велика або необмежена історія сповільнює список чатів." }, + { "On - open the address above in a phone browser.", "Увімк. - відкрийте адресу вище в браузері телефона." }, + { "On boot", "При запуску" }, + { "On map", "На карті" }, + { "Open Advertise app", "Відкрити застосунок Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Відкрийте .wav, потім торкніться «Встановити як звук сповіщення»" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Відкрийте JPEG, потім торкніться «Встановити як шпалери»" }, + { "Open chat", "Відкрити чат" }, + { "Open in a browser (same Wi-Fi):", "Відкрийте в браузері (та сама мережа Wi-Fi):" }, + { "Open in web", "Відкрити у вебі" }, + { "Open mesh console", "Відкрити консоль mesh" }, + { "Optional — type your network, or leave blank to skip.", "Необов'язково — введіть мережу або залиште порожнім." }, + { "Orange temp Cyan humidity", "Помаранч. темп. Блакитн. волог." }, + { "Orientation (tap to rotate, reboots)", "Орієнтація (торкніться, щоб обернути)" }, + { "Out of memory", "Недостатньо пам'яті" }, + { "Overwrite oldest", "Перезаписати найстаріший" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Перезаписати налаштування й ідентичність SD-картки\nвнутрішніми копіями\nта перезавантажити?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG тут не підтримується\nВикористайте JPEG" }, + { "Pairing code", "Код сполучення" }, + { "Pairing code saved — reboot to apply", "Код сполучення збережено — перезавантажте для застосування" }, + { "Pairing code: %06lu", "Код сполучення: %06lu" }, + { "Pairing code: n/a", "Код сполучення: н/д" }, + { "Password (empty = open)", "Пароль (порожньо = відкрита)" }, + { "Password (empty = skip Wi-Fi)", "Пароль (порожньо = пропустити Wi-Fi)" }, + { "Password (optional)", "Пароль (необов'язково)" }, + { "Password too long", "Пароль задовгий" }, + { "Paste", "Вставити" }, + { "Paste failed", "Не вдалося вставити" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Вставте відкритий ключ 64 hex та ім'я. Зручно написати до приходу advert." }, + { "Pasted", "Вставлено" }, + { "Path hash: %u byte%s", "Хеш шляху: %u байт%s" }, + { "Path reset", "Шлях скинуто" }, + { "Path reset failed", "Не вдалося скинути шлях" }, + { "Paused — score %d", "Пауза — рахунок %d" }, + { "Per-transmit switching on", "Перемикання на кожну передачу увімк." }, + { "Pick colour", "Вибрати колір" }, + { "Ping", "Пінг" }, + { "Ping failed", "Помилка ping" }, + { "Pinged (direct) — waiting…", "Ping (прямий) — очікування…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — очікування…" }, + { "Play", "Відтворити" }, + { "Poll (min)", "Опитування (хв)" }, + { "Poll every", "Опитувати кожні" }, + { "Poll every %d min", "Опитування кожні %d хв" }, + { "Port", "Порт" }, + { "Portrait set - applies when remote mode starts.", "Портретну вибрано - застосується під час запуску віддаленого режиму." }, + { "Position saved", "Позицію збережено" }, + { "Power", "Живлення" }, + { "Power off", "Вимкнути" }, + { "Powering off… click trackball to wake", "Вимкнення… натисніть трекбол для пробудження" }, + { "Press a key…", "Натисніть клавішу…" }, + { "Probe now", "Виміряти зараз" }, + { "Probing neighbours…", "Опитування сусідів…" }, + { "Profile", "Профіль" }, + { "Pubkey must be 64 hex chars.", "Відкр. ключ — 64 hex-символи." }, + { "Public channel ready", "Публічний канал готовий" }, + { "Public key (64 hex chars)", "Відкритий ключ (64 hex)" }, + { "Public key:", "Відкритий ключ:" }, + { "Publish channel messages", "Публікувати повідомлення каналів" }, + { "Publish direct messages", "Публікувати особисті повідомлення" }, + { "Purge", "Очистити" }, + { "Purge all discovered nodes?", "Очистити всі виявлені вузли?" }, + { "Quick replies", "Швидкі відповіді" }, + { "Quick reply", "Швидка відповідь" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d записів · Raw %d записів" }, + { "RX boosted gain", "Підсилений RX" }, + { "RX log", "Журнал RX" }, + { "Radio & Mesh", "Радіо та меш" }, + { "Radio + region set", "Радіо + регіон задано" }, + { "Radio applied", "Радіо застосовано" }, + { "Radio off", "Радіо вимк" }, + { "Radio: off", "Радіо: вимк" }, + { "Range test", "Тест дальності" }, + { "RangeTest failed", "Помилка RangeTest" }, + { "RangeTest sent (direct)", "RangeTest надіслано (прямий)" }, + { "RangeTest sent (flood)", "RangeTest надіслано (flood)" }, + { "Raw log", "Сирий журнал" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Читає пакети у фоновому завданні, щоб зайнятий екран їх не втрачав." }, + { "Reboot", "Перезавантажити" }, + { "Reboot device", "Перезавантажити пристрій" }, + { "Rebooting...", "Перезавантаження..." }, + { "Rebooting…", "Перезавантаження…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Отримувати невипущену тестову прошивку — новіші функції, але менш перевірені. Перевірка та встановлення оновлень йдуть бета-каналом." }, + { "Recently heard", "Нещодавно чуто" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Переформатувати SD як MESHCOMOD (FAT32)?\nУСІ дані на картці будуть стерті." }, + { "Region & scope", "Регіон і охоплення" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Регіон (#tag) для цього каналу.\nПорожньо = область за умовчанням." }, + { "Region scope (#tag), blank = default.", "Область регіону (#tag), порожньо = за замовчуванням." }, + { "Region scope (#tag, blank = none)", "Регіон (#tag, порожньо = немає)" }, + { "Remember password", "Запам'ятати пароль" }, + { "Remote UI", "Віддалений інтерфейс" }, + { "Remote UI (on)", "Віддалений інтерфейс (увімк.)" }, + { "Remote access", "Віддалений доступ" }, + { "Remote terminal", "Віддалений термінал" }, + { "Remote terminal (recommended)", "Віддалений термінал (рекомендовано)" }, + { "Remote terminal off", "Віддалений термінал вимк." }, + { "Remove", "Прибрати" }, + { "Remove %s?", "Видалити %s?" }, + { "Remove channel", "Видалити канал" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Видалити канал \"%s\"?\nЛише з цього пристрою." }, + { "Removed", "Видалено" }, + { "Removed from favorites", "Видалено з обраного" }, + { "Rename", "Перейменувати" }, + { "Rename failed", "Не вдалося перейменувати" }, + { "Renamed", "Перейменовано" }, + { "Replay", "Повтор" }, + { "Replay route on map", "Повторити маршрут на карті" }, + { "Replaying route…", "Повтор маршруту…" }, + { "Resend", "Надіслати знову" }, + { "Resend failed", "Не вдалося надіслати знову" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Повторює надсилання, поки ретранслятор не віддзеркалить його або отримувач не підтвердить. Вимкніть, щоб надсилати один раз." }, + { "Reset", "Скинути" }, + { "Reset path", "Скинути маршрут" }, + { "Restarting to apply the language…", "Перезавантаження для застосування мови…" }, + { "Retry sends until heard", "Повторювати надсилання, поки не почують" }, + { "Reverse scrollball", "Інвертувати трекбол" }, + { "Roll to highlight • click to insert", "Прокрутіть для вибору • натисніть для вставки" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Кімната лише для читання.\nУвійдіть з паролем кімнати, щоб писати." }, + { "Rotating - reconnecting...", "Поворот - повторне підключення..." }, + { "Rotating… rebooting", "Обертання… перезавантаження" }, + { "Run setup again", "Запустити налаштування знову" }, + { "SD card %s", "SD-картка %s" }, + { "SD card %s (hold: format)", "SD-картка %s (утрим.: формат.)" }, + { "SD card (tap to mount)", "SD-картка (торкніться для монтування)" }, + { "SD card inserted", "SD-картку вставлено" }, + { "SD card lost - reinsert to recover", "SD-картку втрачено - вставте знову" }, + { "SD card remounted", "SD-картку перемонтовано" }, + { "SD card removed", "SD-картку вилучено" }, + { "SD download failed: %s", "Не вдалося завантажити на SD: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD відформатовано - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u КБ використано" }, + { "SSID set — enter password, then Save", "SSID задано — введіть пароль, потім Зберегти" }, + { "SSID too long", "SSID задовгий" }, + { "Sample text", "Зразок тексту" }, + { "Save", "Зберегти" }, + { "Save & restart", "Зберегти й перезавантажити" }, + { "Save / turn on", "Зберегти / увімкнути" }, + { "Save auto-add", "Зберегти автододавання" }, + { "Save experimental", "Зберегти експериментальне" }, + { "Save failed", "Не вдалося зберегти" }, + { "Save name", "Зберегти ім'я" }, + { "Save policy", "Зберегти політику" }, + { "Save position", "Зберегти позицію" }, + { "Save quick replies", "Зберегти швидкі відповіді" }, + { "Save report", "Зберегти звіт" }, + { "Save update bin to SD", "Зберегти оновлення на SD" }, + { "Saved", "Збережено" }, + { "Saved backups", "Збережені копії" }, + { "Saved network", "Збережена мережа" }, + { "Saved profiles", "Збережені профілі" }, + { "Saved to slot %d", "Збережено в слот %d" }, + { "Saved — rebooting", "Збережено — перезавантаження" }, + { "Saved — reconnecting…", "Збережено — перепідключення…" }, + { "Saved: %s\nFlash it from the Launcher.", "Збережено: %s\nПрошийте з Launcher." }, + { "Saving to SD… %d%%", "Збереження на SD… %d%%" }, + { "Saving to SD… 0%", "Збереження на SD… 0%" }, + { "Scan to open on phone", "Відскануйте, щоб відкрити на телефоні" }, + { "Scanning…", "Сканування…" }, + { "Scope direct msgs to region", "Обмежити особисті повідомлення регіоном" }, + { "Screen locked", "Екран заблоковано" }, + { "Screen timeout (s, 0 = never)", "Тайм-аут екрана (с, 0 = ніколи)" }, + { "Screen timeout (s, 0 = never, min 10)", "Тайм-аут екрана (с, 0 = ніколи, мін 10)" }, + { "Screen timeout: %ds", "Тайм-аут екрана: %dс" }, + { "Screen timeout: never", "Тайм-аут екрана: ніколи" }, + { "Screen-off just dims", "Вимкнення екрана лише притемнює" }, + { "Screenshot needs an SD card", "Для скриншота потрібна SD-картка" }, + { "Screenshot: low memory", "Скриншот: мало пам'яті" }, + { "Screenshot: no SD card", "Скриншот: немає SD-картки" }, + { "Screenshot: write failed", "Скриншот: помилка запису" }, + { "Scrollball: normal", "Трекбол: звичайний" }, + { "Scrollball: reversed", "Трекбол: інвертований" }, + { "Search", "Пошук" }, + { "Search contacts", "Пошук контактів" }, + { "Secondary keyboards", "Додаткові клавіатури" }, + { "Secret (32 hex chars)", "Секрет (32 hex)" }, + { "Secret (32 hex, optional)", "Секрет (32 hex, необов.)" }, + { "Secret must be 32 hex chars (or empty).", "Секрет — 32 hex-символи (або порожньо)." }, + { "Select a DM thread", "Виберіть гілку ПП" }, + { "Select all", "Вибрати все" }, + { "Select network", "Вибрати мережу" }, + { "Send advert", "Надіслати advert" }, + { "Send advert now", "Надіслати advert" }, + { "Send an advert now, or set how often you re-advertise.", "Надіслати advert зараз або задати частоту повторної відправки." }, + { "Send failed", "Не вдалося надіслати" }, + { "Sender blocked", "Відправника заблоковано" }, + { "Sensors tab: off (restart to apply)", "Вкладка датчиків: вимк (перезавантажте для застосування)" }, + { "Sensors tab: on (restart to apply)", "Вкладка датчиків: увімк (перезавантажте для застосування)" }, + { "Sent", "Надіслано" }, + { "Set", "Задати" }, + { "Set an SSID first", "Спочатку задайте SSID" }, + { "Set as notification sound", "Встановити як звук сповіщення" }, + { "Set as wallpaper", "Встановити як шпалери" }, + { "Set your location first", "Спочатку задайте місцезнаходження" }, + { "Settings", "Налаштування" }, + { "Setup complete", "Налаштування завершено" }, + { "Share QR", "Поділитися QR" }, + { "Share channel", "Поділитися каналом" }, + { "Share location in advert", "Ділитися місцезнаходженням в advert" }, + { "Share secret", "Поділитися ключем" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Поділіться секретом із 32 символів, щоб інші приєдналися. Порожньо = випадковий." }, + { "Share: %s", "Поділитися: %s" }, + { "Show", "Показати" }, + { "Show Sensors tab", "Показати вкладку датчиків" }, + { "Show in the app drawer", "Показувати в меню застосунків" }, + { "Show link lines", "Показувати лінії зв'язку" }, + { "Show menu-bar letters", "Показати літери меню" }, + { "Show on chart", "Показати на графіку" }, + { "Show on map", "Показати на карті" }, + { "Sightline", "Пряма видимість" }, + { "Signal & traffic", "Сигнал і трафік" }, + { "Signal probe", "Замір сигналу" }, + { "Skip", "Пропустити" }, + { "Sleep ready", "Готовий до сну" }, + { "Slot %d cleared", "Слот %d очищено" }, + { "Slot empty", "Слот порожній" }, + { "Small\nMedium\nLarge", "Малий\nСередній\nВеликий" }, + { "Snake — swipe or roll the trackball", "Snake — проведіть або крутіть трекбол" }, + { "Sort", "Сортувати" }, + { "Sound", "Звук" }, + { "Sound off", "Звук вимк" }, + { "Sound on", "Звук увімк" }, + { "Sound: %s", "Звук: %s" }, + { "Start time", "Час початку" }, + { "Status", "Статус" }, + { "Step 1 of 3", "Крок 1 з 3" }, + { "Step 2 of 3", "Крок 2 з 3" }, + { "Step 3 of 3", "Крок 3 з 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Ще аналізується попередній\nшлях… спробуйте за мить." }, + { "Stop", "Стоп" }, + { "Storage", "Сховище" }, + { "Store data on SD (reboot)", "Зберігати дані на SD (перезавантаження)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Транслює екран як живу картинку, якою керуєте дотиком. Важче; на панелі заглушка. Перемикання перезавантажує пристрій." }, + { "Switch", "Перемкнути" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Перемкнутися на зовнішню антену?\n\nСпершу переконайтеся, що антена справді підключена до роз'єму. Передача без антени може пошкодити радіо.\n\nПісля кожного перезавантаження повертається на вбудовану." }, + { "Sync clock from system", "Синхронізувати годинник" }, + { "System", "Система" }, + { "System info", "Про систему" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS-клієнти %d GPS %s Зумер %s" }, + { "TCP off", "TCP вимк" }, + { "TCP on", "TCP увімк" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Гарячі клавіші вкладки — торкніться рядка, потім натисніть клавішу" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Натисніть «Обрати» для зміни - пристрій перезавантажиться. Файли мов лежать у /lang у сховищі; редагуйте їх або додавайте власні." }, + { "Tap a language; the device reboots to apply.", "Виберіть мову; пристрій перезавантажиться." }, + { "Taste the rainbow!", "Скуштуй веселку!" }, + { "Telemetry", "Телеметрія" }, + { "Telemetry req (direct)…", "Запит телеметрії (прямий)…" }, + { "Telemetry req (flood)…", "Запит телеметрії (flood)…" }, + { "Telemetry req failed", "Помилка запиту телеметрії" }, + { "Telemetry requests allowed", "Запити телеметрії дозволені" }, + { "Telemetry requests off", "Запити телеметрії вимк" }, + { "Telemetry req…", "Запити теле…" }, + { "Telemetry settings", "Налаштування телеметрії" }, + { "Temperature", "Температура" }, + { "Test builds: off", "Тестові збірки: вимк" }, + { "Test builds: on", "Тестові збірки: увімк" }, + { "Theme", "Тема" }, + { "Theme colour", "Колір теми" }, + { "Then pick a mode:", "Потім виберіть режим:" }, + { "This contact hasn't shared\na GPS position.", "Цей контакт не ділився\nGPS-позицією." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Цей пристрій може використовувати Wi-Fi і Bluetooth одночасно — як автономну рацію та компаньйон телефона (застосунок MeshCore).\n\nОбидва разом використовують більше ОЗП, вмикайте лише потрібне.\n\nНалаштуйте їх будь-коли в Налаштуваннях." }, + { "Throttles the CPU when idle to save power", "Знижує частоту ЦП у простої для економії енергії" }, + { "Tile reload needs Wi-Fi build", "Перезавантаження плиток потребує Wi-Fi збірки" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Тайли очищено — перепідключіть Wi-Fi для завантаження" }, + { "Tiles from SD card", "Плитки з SD-картки" }, + { "Time %s", "Час %s" }, + { "Time offset (vs automatic)", "Зсув часу (від авто)" }, + { "Time offset: %+d h", "Зсув часу: %+d год" }, + { "Time range (hours ago)", "Діапазон часу (годин тому)" }, + { "Time zone", "Часовий пояс" }, + { "Time zone: %s", "Часовий пояс: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Порада: шукати мережі можна в Налаштування → Мережа після налаштування." }, + { "Today", "Сьогодні" }, + { "Toggle GPS", "Перемкнути GPS" }, + { "Too large to edit (>8 KB)", "Завеликий для редагування (>8 КБ)" }, + { "Topographic map", "Топографічна карта" }, + { "Trace", "Трасування" }, + { "Trace SNR", "Трасування SNR" }, + { "Trace failed", "Помилка трасування" }, + { "Trace route", "Трасування маршруту" }, + { "Trace sent…", "Трасування надіслано…" }, + { "Tracing route…", "Трасування маршруту…" }, + { "Trackball navigates UI", "Трекбол керує UI" }, + { "Trackball: cursor", "Трекбол: курсор" }, + { "Trackball: navigate UI", "Трекбол: навігація UI" }, + { "Turn Wi-Fi on first", "Спершу увімкніть Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Увімкніть Wi-Fi і оновіть. Встановлені застосунки далі працюють." }, + { "Turn off", "Вимкнути" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Увімкнути застаріле перемикання на кожну передачу?\n\nДіагностичний режим, лише для порівняння. Передає на вбудованій антені, слухає на зовнішній - вихідний сигнал буде значно слабшим за вхідний.\n\nПісля кожного перезавантаження повертається на вбудовану." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Вимкнути ліміт історії?\n\nЖвавий канал може заповнити все сховище повідомлень - більше місця і помітно повільніший список чатів та застосунок. Робіть це лише якщо справді потрібен увесь архів." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Увімкніть і відкрийте адресу нижче в будь-якому браузері в тій самій мережі Wi-Fi - застосунок не потрібен. Екран пристрою з'явиться в браузері, і ним можна керувати дотиками." }, + { "Type a URL, then Go", "Введіть URL і натисніть «Перейти»" }, + { "Type a message...", "Введіть повідомлення..." }, + { "Type a new 6-digit code · applies after a reboot", "Введіть новий 6-значний код · діє після перезавантаження" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Введіть назву мережі — або увімкніть Wi-Fi у Налаштуваннях для пошуку" }, + { "UI size (restart to apply)", "Розмір UI (перезапуск для застосування)" }, + { "UI size saved — restart to apply", "Розмір UI збережено — перезапуск для застосування" }, + { "USB powered", "Живлення від USB" }, + { "Unblock", "Розблокувати" }, + { "Unblocked", "Розблоковано" }, + { "Unfavorite it first", "Спершу приберіть з обраного" }, + { "Unlocking…", "Розблокування…" }, + { "Unmute @", "Увімкнути @" }, + { "Unmute msgs", "Увімкнути повідом." }, + { "Unread %d", "Непроч. %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Непроч. %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV не підтримується (потрібен 16-біт PCM)" }, + { "Update", "Оновити" }, + { "Update bin saved to SD", "Файл оновлення збережено на SD" }, + { "Update complete.\nRebooting...", "Оновлення завершено.\nПерезавантаження..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Оновіть вручну на flasher.wadamesh.com\n(оновлення через Wi-Fi поки призупинено)" }, + { "Update via the Launcher", "Оновлення через Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Оновлення через Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Оновлення через Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Оновлено - перезавантаження…" }, + { "Use", "Обрати" }, + { "Username (optional)", "Ім'я користувача (необов'язково)" }, + { "Volume", "Гучність" }, + { "W up · A left · D right · Z down · S select · Q back", "W вгору · A вліво · D вправо · Z вниз · S вибір · Q назад" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Очікування Wi-Fi..." }, + { "Welcome to WADAMESH", "Ласкаво просимо до WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Поки це увімкнено, будь-хто у вашій мережі Wi-Fi може бачити пристрій і керувати ним. Звичайний HTTP (лише локальна мережа)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi і Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi не увімкнено в цій збірці." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi недоступний у цій збірці." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Потрібен Wi-Fi для профілю\nрельєфу цього шляху.\nПідключіть у Налаштування → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi не під'єднано" }, + { "Wi-Fi off", "Wi-Fi вимк" }, + { "Wi-Fi on", "Wi-Fi увімк" }, + { "Wi-Fi on, scanning…", "Wi-Fi увімк, пошук…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi збережено (радіо вимк)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi збережено, перепідключення" }, + { "Yesterday", "Вчора" }, + { "You can run setup later in Settings → Device", "Налаштування можна запустити пізніше в Налаштування → Пристрій" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Місцезнаходження невідоме.\nСпочатку задайте GPS / позицію в\nНалаштування → Профіль." }, + { "Your name", "Ваше ім'я" }, + { "Your own apps", "Ваші застосунки" }, + { "Zero-hop", "Без ретрансляції" }, + { "Zero-hop advert sent", "Zero-hop advert надіслано" }, + { "Zoom: +/- buttons", "Масштаб: кнопки +/-" }, + { "client connected", "клієнт під'єднано" }, + { "command", "команда" }, + { "contacts (%d):", "контакти (%d):" }, + { "diag boot...", "діаг. запуск..." }, + { "double-tap SPACE cycles through the ones you enable", "подвійне натискання ПРОБІЛ перемикає увімкнені" }, + { "drive the UI without the screen; keys still type in text fields", "керування UI без екрана; клавіші все ще друкують у полях" }, + { "e.g. Family", "напр. Сім'я" }, + { "e.g. mesh", "напр. mesh" }, + { "from", "від" }, + { "h to", "год до" }, + { "hold Backspace to unlock", "утримуйте Backspace для розблокування" }, + { "hold the d-pad to unlock", "утримуйте d-pad для розблокування" }, + { "hold the trackball to unlock", "утримуйте трекбол для розблокування" }, + { "kHz", "kHz" }, + { "keep holding", "утримуйте" }, + { "last wake: ", "останнє пробудження: " }, + { "leave empty to generate", "залиште порожнім для генерації" }, + { "lights the keyboard + wakes the screen on an incoming message", "підсвічує клавіатуру + будить екран при вхідному повідомленні" }, + { "mesh link armed", "меш-зв'язок готовий" }, + { "mesh busy", "мережа зайнята" }, + { "min (0=off)", "хв (0=вимк)" }, + { "mkdir failed", "Не вдалося створити теку" }, + { "n/a in this build", "н/д у цій збірці" }, + { "now on channel %s", "тепер у каналі %s" }, + { "now talking to %s", "тепер спілкуєтесь з %s" }, + { "off", "вимк" }, + { "off = Enter adds a new line; tap Send to send", "вимк = Enter додає рядок; натисніть Надіслати" }, + { "on", "увімк" }, + { "peak --", "пік --" }, + { "pick accented letters as you type; off = plain typing", "вибір літер з акцентами під час набору; вимк = звичайний набір" }, + { "press Volume Down to unlock", "натисніть Гучність вниз для розблокування" }, + { "push past a screen edge to scroll content", "штовхніть за край екрана для прокрутки" }, + { "score %d", "рахунок %d" }, + { "search", "пошук" }, + { "tap for details", "торкніться для деталей" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "натисніть клавішу мови (напр. EN) на клавіатурі для перемикання увімкнених" }, + { "tap to cancel", "торкніться, щоб скасувати" }, + { "tap to exit full screen", "торкніться, щоб вийти з повноекранного режиму" }, + { "zoom", "масштаб" }, + { "zoom %d", "масштаб %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "підсилювач ~17 дБ для тихих/віддалених місць; вимикайте в галасливих." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_bg[] = { + { " (device behind)", " (устройството изостава)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d точки покритие · %lu записани на SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: изчакване на GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d на картата" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d наблизо (%d повт, %d комп)" }, + { "%u types · hops %u · manual %s", "%u типа · хопове %u · ръчно %s" }, + { "(RTC unset)", "(RTC не е зададен)" }, + { "(device behind)", "(устройството изостава)" }, + { "(no default)", "(няма по подразбиране)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 байт (стар)\n2 байта\n3 байта" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nБез лимит" }, + { "12-hour clock", "12-часов формат" }, + { "32 hex characters", "32 hex знака" }, + { "32-hex secret. Anyone with this can read the channel.", "32-hex тайна. Всеки с нея може да чете канала." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Споменавания" }, + { "@ mention sound", "Звук при @ споменаване" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "АВТОМАТИЧНИ АДВЕРТИ" }, + { "About", "Относно" }, + { "About the map", "Относно картата" }, + { "Accent popups", "Изскачащи акценти" }, + { "Accent popups: off", "Изскачащи акценти: изкл" }, + { "Accent popups: on", "Изскачащи акценти: вкл" }, + { "Ack", "Ack" }, + { "Active", "Активно" }, + { "Add", "Добави" }, + { "Add channel", "Добави канал" }, + { "Add contact", "Добави контакт" }, + { "Added", "Добавено" }, + { "Added to contacts", "Добавено в контактите" }, + { "Added to favorites", "Добавено в любими" }, + { "Admin", "Админ" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert неуспешен" }, + { "Advert location", "Местоположение на advert" }, + { "Advert policy saved", "Правилото за advert е запазено" }, + { "Advert sent", "Advert изпратен" }, + { "All marked read", "Всичко прочетено" }, + { "Already exists", "Вече съществува" }, + { "Already exists or table full.", "Вече съществува или таблицата е пълна." }, + { "Already in contacts", "Вече в контактите" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "След рестарт винаги тръгва на вградената антена. Избирай «Външна» само с монтирана антена на извода." }, + { "Analyzing terrain…", "Анализиране на терена…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Анализ на терена…\n(опит %d от 3)" }, + { "Answer telemetry requests", "Отговаряй на заявки за телеметрия" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Всеки може да се присъедини. Ключът е от хаштага (малки букви)." }, + { "App drawer as home", "Меню с приложения като начален екран" }, + { "App icon size", "Размер на иконите на приложенията" }, + { "Applies after restart.", "Прилага се след рестарт." }, + { "Apply", "Приложи" }, + { "Apply auto-poll", "Приложи авто-запитване" }, + { "Apply radio params", "Приложи радио параметри" }, + { "Apps", "Приложения" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Стрелки + Enter винаги работят. Тези букви са допълнение — докосни ред, после натисни клавиш." }, + { "Auto advert", "Автоматична обява" }, + { "Auto chat", "Авто чат" }, + { "Auto repeater", "Авто ретранслатор" }, + { "Auto room", "Авто стая" }, + { "Auto sensor", "Авто сензор" }, + { "Auto-Join", "Авто-присъединяване" }, + { "Auto-add contacts", "Автоматично добавяне на контакти" }, + { "Auto-add saved", "Авто-добавянето е запазено" }, + { "Auto-add settings", "Настройки за автодобавяне" }, + { "Auto-delete above hops", "Автоизтриване над хопове" }, + { "Auto-delete oldest", "Автоизтриване на най-старите" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Автоизтриването на най-старите освобождава място при запълване. Хопове: 0 = пази всички; възли, чути през повече хопове, се премахват." }, + { "Auto-discover", "Автооткриване" }, + { "Auto-discover off", "Автооткриване изкл." }, + { "Auto-discover on", "Автооткриване вкл." }, + { "Auto-poll every", "Авто-запитване на всеки" }, + { "Auto-refresh off", "Автообновяване изкл." }, + { "Auto-refresh on", "Автообновяване вкл." }, + { "Available", "Налични" }, + { "BLE off", "BLE изкл" }, + { "BLE on", "BLE вкл" }, + { "BT", "BT" }, + { "Back", "Назад" }, + { "Backups", "Резервни копия" }, + { "Battery", "Батерия" }, + { "Battery & power history", "История на батерията и захранването" }, + { "Battery (V)", "Батерия (V)" }, + { "Battery calibration reset to default", "Калибрирането на батерията е нулирано" }, + { "Battery read too low — charge fully first", "Отчитането е твърде ниско — заредете първо" }, + { "Battery saver (experimental)", "Пестене на батерия (експериментално)" }, + { "Battery — last 24h", "Батерия — последни 24 ч" }, + { "Battery:", "Батерия:" }, + { "Block", "Блокирай" }, + { "Block list full", "Списъкът с блокирани е пълен" }, + { "Blocked list", "Списък с блокирани" }, + { "Blocked users", "Блокирани потребители" }, + { "Blocked — their messages are hidden", "Блокиран — съобщенията му са скрити" }, + { "Blocking unsupported", "Блокирането не се поддържа" }, + { "Blue battery Last 6 min", "Синьо — батерия Последни 6 мин" }, + { "Blue battery Orange temp Cyan humidity", "Синьо — батерия Оранжево — темп. Циан — влажност" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth вече е изкл" }, + { "Bluetooth already on", "Bluetooth вече е вкл" }, + { "Bluetooth off", "Bluetooth изкл" }, + { "Bluetooth on", "Bluetooth вкл" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Bluetooth сдвояване не е налично на това устройство.\n\nФабричният фърмуер на радиочипа не го поддържа.\n\nСвържи приложението през Wi-Fi: включи устройството в мрежата и го добави в приложението по IP адрес (TCP, порт 5000) — показан в Настройки > Мрежа. USB също работи." }, + { "Broker host / IP", "Хост / IP на брокера" }, + { "Buffered receive (experimental)", "Буфериран прием (експериментално)" }, + { "Built-in", "Вграден" }, + { "Built-in (default)", "Вграден (по подразбиране)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Калибрирай батерията (пълна = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Калибрирано: 100%% = %u.%02u V (задръжте за нулиране)" }, + { "Can't block — not a contact", "Не може да се блокира — не е контакт" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Изображението не може да се покаже\n(само JPEG, <= 1024 px)" }, + { "Cancel", "Отказ" }, + { "Cancelled", "Отменено" }, + { "Cannot open file", "Файлът не може да се отвори" }, + { "Catalog unavailable", "Каталогът е недостъпен" }, + { "Centered on %s", "Центрирано на %s" }, + { "Changing orientation - rebooting...", "Смяна на ориентацията - рестартиране..." }, + { "Channel created", "Каналът е създаден" }, + { "Channel joined", "Присъединено към канала" }, + { "Channel name", "Име на канала" }, + { "Channel not found", "Каналът не е намерен" }, + { "Channel removed", "Каналът е премахнат" }, + { "Channel scope saved", "Обхватът на канала е запазен" }, + { "Channel settings", "Настройки на канала" }, + { "Channel table is full", "Таблицата с канали е пълна" }, + { "Channel table is full.", "Таблицата с канали е пълна." }, + { "Channel-specific regions can be set in each channel's settings.", "Региони за отделни канали се задават в настройките на всеки канал." }, + { "Channels:", "Канали:" }, + { "Chat bubbles", "Балончета в чата" }, + { "Chat bubbles: plain", "Балончета: семпли" }, + { "Chat history is NOT saving", "Историята на чата НЕ се записва" }, + { "Chat history save FAILED", "Записът на историята на чата СЕ ПРОВАЛИ" }, + { "Chat icon", "Икона на чата" }, + { "Chat icon reset to letters", "Иконата на чата е върната към букви" }, + { "Chat icon set", "Иконата на чата е зададена" }, + { "Chat removed", "Чатът е премахнат" }, + { "Chat save fallback (failed tries)", "Резервен запис на чата (неуспехи)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Чатове, контакти, настройки и mesh терминал - всичко в браузъра. Без рестарт; екранът на устройството си остава нормален." }, + { "Choose .wav from files", "Избери .wav от файловете" }, + { "Choose your name", "Изберете името си" }, + { "Choose your region", "Изберете региона си" }, + { "Clear", "Изчисти" }, + { "Clear battery history?", "Изчистване на историята на батерията?" }, + { "Clear history", "Изчисти историята" }, + { "Clear telemetry history for this node?", "Изчистване на телеметрията за този възел?" }, + { "Client repeat", "Повтаряне от клиент" }, + { "Clock synced", "Часовникът е синхронизиран" }, + { "Clock: 12-hour", "Часовник: 12-часов" }, + { "Clock: 24-hour", "Часовник: 24-часов" }, + { "Close", "Затвори" }, + { "Colourful chat bubbles", "Цветни чат балончета" }, + { "Commands", "Команди" }, + { "Community Preset", "Готова настройка на общността" }, + { "Community preset (meshcomod web)", "Пресет на общността (meshcomod web)" }, + { "Compact messages", "Компактни съобщения" }, + { "Compact messages (IRC style)", "Компактни съобщения (IRC стил)" }, + { "Connect", "Свързване" }, + { "Connect Wi-Fi to reload tiles", "Свържете Wi-Fi за презареждане на плочките" }, + { "Connect to Wi-Fi", "Свържи се с Wi-Fi" }, + { "Connect to Wi-Fi first", "Първо се свържи с Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Първо се свържете с Wi-Fi и опитайте отново." }, + { "Connect to Wi-Fi to get a browser address.", "Свържи се с Wi-Fi, за да получиш адрес за браузъра." }, + { "Connected", "Свързано" }, + { "Connected - a browser is viewing this screen.", "Свързано - браузър гледа този екран." }, + { "Connecting...", "Свързване..." }, + { "Connecting…", "Свързване…" }, + { "Console not available on this build", "Конзолата не е налична в този билд" }, + { "Contact added", "Контактът е добавен" }, + { "Contact deleted", "Контактът е изтрит" }, + { "Contact gone", "Контактът изчезна" }, + { "Contact missing", "Контактът липсва" }, + { "Contacts", "Контакти" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Контактите са във вътрешната памет - SD картата не се монтира при старт. Постави картата отново и рестартирай." }, + { "Contacts are on internal flash.", "Контактите са във вътрешната памет." }, + { "Contacts are saved to the SD card.", "Контактите се записват на SD картата." }, + { "Contacts full", "Контактите са пълни" }, + { "Contacts:", "Контакти:" }, + { "Control", "Управление" }, + { "Control this device from a browser", "Управлявай устройството от браузър" }, + { "Copied %s", "%s копирано" }, + { "Copied - Paste in a folder", "Копирано - поставете в папка" }, + { "Copy", "Копирай" }, + { "Copy failed (no internal identity)", "Копирането не успя (няма вътрешна идентичност)" }, + { "Copy internal data to SD", "Копирай данните на SD" }, + { "Copy secret", "Копирай тайната" }, + { "Copying internal data to SD...", "Копиране на вътрешните данни към SD..." }, + { "Could not add", "Неуспешно добавяне" }, + { "Could not save the crash report", "Докладът за срив не се записа" }, + { "Couldn't delete", "Изтриването неуспешно" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Данните за терена не се заредиха.\nПроверете връзката и\nсървъра за височини и\nопитайте отново." }, + { "Couldn't save the name to storage", "Името не можа да се запише" }, + { "Couldn't send login", "Заявката за вход не се изпрати" }, + { "Couldn't start the analyzer.\nTry again.", "Анализаторът не можа да стартира.\nОпитайте пак." }, + { "Crash export failed", "Експортът на доклада за срив не успя" }, + { "Create", "Създай" }, + { "Create QR", "Създай QR" }, + { "Create a private channel", "Създай частен канал" }, + { "Create failed", "Създаването неуспешно" }, + { "Create private channel", "Създай частен канал" }, + { "Custom UTC offset (hours)", "Собствено UTC отместване (часове)" }, + { "Cut", "Изрежи" }, + { "Cut - Paste in a folder", "Изрязано - поставете в папка" }, + { "DM sound", "Звук за DM" }, + { "DND", "DND" }, + { "Danger zone", "Опасна зона" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Данни -> SD карта при рестарт\n(нужна е карта)" }, + { "Data -> internal on reboot", "Данни -> вътрешна при рестарт" }, + { "Delete", "Изтрий" }, + { "Delete %d contact(s)?", "Изтриване на %d контакт(а)?" }, + { "Delete chat", "Изтрий чата" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Изтриване на чата с \"%s\"?\nИсторията ще се изчисти." }, + { "Delete failed", "Изтриването неуспешно" }, + { "Delete history", "Изтрий историята" }, + { "Delete this backup file?\nThis cannot be undone.", "Изтриване на този файл с копие?\nНе може да се отмени." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Изтриване на цялата история на този чат?\nСамият чат остава." }, + { "Deleted", "Изтрито" }, + { "Deleted %d", "Изтрити: %d" }, + { "Deleted %d messages", "Изтрити %d съобщения" }, + { "Deleting contacts", "Изтриване на контакти" }, + { "Delivered", "Доставено" }, + { "Detailed sensors", "Подробни сензори" }, + { "Device clock differs from \"%s\" by %lu h%s", "Часовникът се различава от \"%s\" с %lu ч%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Часовникът се различава от \"%s\" с %lu мин%s" }, + { "Device name hidden", "Името на устройството е скрито" }, + { "Device name shown", "Името на устройството се показва" }, + { "Device time:", "Време на устройството:" }, + { "Diagnostics", "Диагностика" }, + { "Diagnostics are on the About page.", "Дијагностика је на страници О програму." }, + { "Discovered", "Открити" }, + { "Discovered settings", "Настройки на откритите" }, + { "Display", "Дисплей" }, + { "Display name", "Показвано име" }, + { "Distance in miles", "Разстояние в мили" }, + { "Distance: km", "Разстояние: км" }, + { "Distance: miles", "Разстояние: мили" }, + { "Do Not Disturb", "Не безпокой" }, + { "Do Not Disturb off", "«Не безпокой» изкл." }, + { "Do Not Disturb on", "«Не безпокой» вкл." }, + { "Download failed", "Изтеглянето се провали" }, + { "Download failed (network?)", "Изтеглянето се провали (мрежа?)" }, + { "Download mode", "Режим за изтегляне" }, + { "Download mode… reflash over USB", "Режим download… флашнете отново през USB" }, + { "Downloaded - tap Use to switch", "Изтеглено - докосни «Избери» за смяна" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Изтегляне на плочки на картата…\n\nЗапазете Wi-Fi връзката.\nПлочките се появяват при пристигане\nи се запазват за офлайн употреба." }, + { "Downloading…", "Изтегляне…" }, + { "Duty meter", "Измервател на цикъла" }, + { "Edge scroll", "Скрол в края" }, + { "Edit in Settings → Quick replies", "Редактирай в Настройки → Бързи отговори" }, + { "Editing", "Редактиране" }, + { "Empty = plaintext to a private broker", "Празно = чист текст към частен брокер" }, + { "Empty file", "Празен файл" }, + { "Enable Bluetooth", "Включи Bluetooth" }, + { "Enable MQTT bridge", "Активиране на MQTT мост" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Активирайте само ако вашият ретранслатор презалива само един регион. Иначе оставете изкл. — може да блокира вход/ЛС между региони." }, + { "Enable web access", "Включи уеб достъп" }, + { "Encryption key (optional)", "Ключ за криптиране (по избор)" }, + { "End time", "Краен час" }, + { "Enter SSID first", "Първо въведете SSID" }, + { "Enter a name", "Въведете име" }, + { "Enter a network name", "Въведете име на мрежа" }, + { "Enter adds a new line", "Enter добавя нов ред" }, + { "Enter exactly 32 hex characters.", "Въведете точно 32 hex знака." }, + { "Enter key sends message", "Клавишът Enter изпраща съобщението" }, + { "Enter sends messages", "Enter изпраща съобщения" }, + { "Enter the 32-hex secret shared by the channel creator.", "Въведете 32-hex тайната, споделена от създателя на канала." }, + { "Entering remote mode - rebooting...", "Влизане в отдалечен режим - рестартиране..." }, + { "Erase all", "Изтрий всичко" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Изтрива идентичност, контакти, канали, съобщения, Wi-Fi и всички настройки, после рестарт." }, + { "Erasing everything…", "Изтриване на всичко…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Всеки възел трябва да съвпада. Можете да промените по-късно в Настройки." }, + { "Expansion Kit", "Комплект за разширение" }, + { "Experimental", "Експериментално" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Експериментално - има известни проблеми. Изкл. = софтуерен курсор." }, + { "Experimental saved", "Експерим. запазено" }, + { "Export failed (can't open file)", "Експортът неуспешен (файлът не се отваря)" }, + { "Export new backup", "Ново копие" }, + { "Export settings", "Експорт на настройки" }, + { "Exporting settings…", "Експортиране на настройки…" }, + { "External antenna selected", "Избрана е външна антена" }, + { "Factory reset", "Фабрични настройки" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Фабричен ресет?\n\nИзтрива идентичност, контакти, канали, съобщения, Wi-Fi и всички настройки. Необратимо." }, + { "Failed to save channel.", "Каналът не можа да се запази." }, + { "Favorites full (max %d)", "Любимите са пълни (макс %d)" }, + { "Favorites unsupported", "Любими не се поддържат" }, + { "Fetching the app list from firmware.wadamesh.com", "Изтегляне на списъка с приложения от firmware.wadamesh.com" }, + { "Files", "Файлове" }, + { "Find", "Намери" }, + { "Finish", "Готово" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Фърмуер beta_%d\nСървърът за обновяване е недостъпен" }, + { "Firmware:", "Фърмуер:" }, + { "Flash on new message", "Мигане при ново съобщение" }, + { "Flood", "Флуд" }, + { "Flood advert sent", "Flood advert изпратен" }, + { "Flood every", "Flood на всеки" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: препредаване през мрежата (мулти-хоп).\nZero-hop: само съседи (без препредаване)." }, + { "Folder created", "Папката е създадена" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "За инсталации с Launcher: запазва най-новия фърмуер на избрания канал на SD картата (папка BINS)." }, + { "Forget network", "Забрави мрежата" }, + { "Format", "Форматирай" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Форматиране на SD като MESHCOMOD (FAT32)?\nВсички данни на картата ще бъдат изтрити." }, + { "Format failed (no card / SD error)", "Форматирането неуспешно (няма карта / SD грешка)" }, + { "Frequency / bandwidth", "Честота / лента" }, + { "Full", "Пълно" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Зумер %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Зумер %s\n%s" }, + { "GPS off", "GPS изкл" }, + { "GPS on", "GPS вкл" }, + { "GPS serial baud", "GPS сериен baud" }, + { "GPS unset", "GPS не е зададен" }, + { "GPS: acquiring...", "GPS: търсене..." }, + { "GPS: fix", "GPS: фикс" }, + { "GPS: off", "GPS: изкл" }, + { "GPS: searching", "GPS: търсене" }, + { "Game over — score %d (tap to restart)", "Край на играта — точки %d (докоснете за рестарт)" }, + { "Get", "Изтегли" }, + { "Get Started", "Започни" }, + { "Get test builds (beta)", "Получаване на тестови версии (бета)" }, + { "Go", "Отиди" }, + { "Green pressure Gray altitude", "Зелено налягане Сиво надм. височина" }, + { "Hashtag name", "Име на хаштаг" }, + { "Hidden - turn it back on in the Lua Store", "Скрито - включи го отново в Lua Store" }, + { "Hidden network", "Скрита мрежа" }, + { "Hide", "Скрий" }, + { "Hide device name", "Скриване на името на устройството" }, + { "Hide this app from the drawer?", "Да скрия ли това приложение от менюто?" }, + { "High-gain receiver (FEM LNA)", "Приемник с високо усилване (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Изключително експериментално. Препраща текста, името на подателя и времевия печат на всяко съобщение, което възелът ви получава, към MQTT брокер, където всеки с достъп до брокера може да ги чете. Директните съобщения са лични, от хора, които никога не са се съгласили да бъдат споделяни. Използвайте брокер, който контролирате, задайте ключ за криптиране по-долу и никога публичен брокер." }, + { "History limit off", "Лимитът на историята е изключен" }, + { "Hotkey saved", "Клавишът е запазен" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Как ще изглеждате за други възли. Промяна в Настройки." }, + { "Humidity", "Влажност" }, + { "I accept the privacy risk", "Приемам риска за поверителността" }, + { "Identity (public key)", "Идентичност (публичен ключ)" }, + { "Idle power-save", "Пестене на енергия в покой" }, + { "Idle sleep disabled", "Заспиване в покой изключено" }, + { "Idle sleep enabled", "Заспиване в покой включено" }, + { "Image too large (>4 MB)", "Изображението е твърде голямо (>4 MB)" }, + { "Import", "Импортирай" }, + { "Import backup", "Импортиране на резервно копие" }, + { "Import failed (bad/unreadable JSON)", "Импортът неуспешен (невалиден JSON)" }, + { "Import settings", "Импорт на настройки" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Да внеса този архив?\nЗаменя самоличност,\nканали и контакти,\nпосле рестартира." }, + { "Import: storage unavailable", "Импорт: хранилището е недостъпно" }, + { "Importing settings…", "Импортиране на настройки…" }, + { "Inactive", "Неактивно" }, + { "Info", "Инфо" }, + { "Insert emoji / symbol", "Вмъкни емоджи / символ" }, + { "Install", "Инсталирай" }, + { "Install a previous version", "Инсталиране на предишна версия" }, + { "Install an earlier version", "Инсталиране на по-ранна версия" }, + { "Install failed (network?)", "Инсталирането се провали (мрежа?)" }, + { "Install update", "Инсталирай обновление" }, + { "Installed", "Инсталирани" }, + { "Installing…", "Инсталиране…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Вътрешна (вградена)\nВъншна (MMCX)\nАвто (старо, при предаване)" }, + { "Internal has no folders", "Вътрешната памет няма папки" }, + { "Internal storage %s / %s", "Вътрешна памет %s / %s" }, + { "Invalid lat/lon", "Невалидни коорд." }, + { "Invalid max hops", "Невалидни макс. скокове" }, + { "Invalid radio values", "Невалидни радио стойности" }, + { "Join", "Присъедини се" }, + { "Join a hashtag channel", "Присъедини се към хаштаг канал" }, + { "Join a private channel", "Присъедини се към частен канал" }, + { "Join hashtag channel", "Присъедини се към хаштаг канал" }, + { "Join network", "Присъединяване към мрежа" }, + { "Join private channel", "Присъедини се към частен канал" }, + { "Join the public channel", "Присъедини се към публичния канал" }, + { "Joined %.40s", "Присъединено към %.40s" }, + { "Keep per chat (messages)", "Пазене на чат (съобщения)" }, + { "Key already in use", "Ключът вече се използва" }, + { "Keyboard", "Клавиатура" }, + { "Keyboard backlight", "Подсветка на клавиатурата" }, + { "Keyboard light auto", "Подсветка на клавиатурата: авто" }, + { "Keyboard light off", "Подсветката на клавиатурата е изкл." }, + { "Keyboard light on", "Подсветката на клавиатурата е вкл." }, + { "Keyboard nav: WASDZ on", "Клавиатурна навиг.: WASDZ вкл." }, + { "Keyboard nav: off", "Клавиатурна навиг.: изкл." }, + { "Keyboard navigation", "Навигация с клавиатура" }, + { "LOS → %s", "Пряка видимост → %s" }, + { "Landscape (desktop)", "Пейзаж (десктоп)" }, + { "Landscape set - applies when remote mode starts.", "Пейзажът е зададен - прилага се при стартиране на отдалечения режим." }, + { "Language", "Език" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Каталогът с езици е недостъпен - провери Wi-Fi и отвори раздела отново." }, + { "Language updated - restarting to apply it…", "Езикът е обновен - рестартиране за прилагане…" }, + { "Languages", "Езици" }, + { "Latitude", "Географска ширина" }, + { "Leave empty if not required", "Оставете празно, ако не е нужно" }, + { "Leaving remote mode - rebooting...", "Излизане от отдалечен режим - рестартиране..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Нека настроим устройството ви.\n\nЩе изберете име и вашия LoRa регион. Отнема около минута." }, + { "Letters only", "Само букви" }, + { "LoRa antenna (P4)", "LoRa антена (P4)" }, + { "Loading catalog…", "Зареждане на каталога…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Зареждане на плочки на картата…\n\nЗапазете Wi-Fi връзката.\nПлочките се появяват при пристигане." }, + { "Loading map…", "Зареждане на картата…" }, + { "Loading the language catalog…", "Зареждане на каталога с езици…" }, + { "Loading...", "Зареждане..." }, + { "Local every", "Локално на всеки" }, + { "Local sensors", "Локални сензори" }, + { "Lock", "Заключи" }, + { "Lock screen", "Заключен екран" }, + { "Lock screen wallpaper", "Тапет на заключен екран" }, + { "Lock text colour", "Цвят на текста при заключване" }, + { "Lock text colour set", "Цветът на текста при заключване е зададен" }, + { "Lock wallpaper", "Тапет за заключване" }, + { "Lock wallpaper set", "Тапетът за заключване е зададен" }, + { "Lock when screen off", "Заключване при изключен екран" }, + { "Locking…", "Заключване…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Заключва се при изгасен екран\n(задръж Backspace за отключване)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Заключва се при изключен екран\n(задръжте d-pad за отключване)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Заключва се при изключен екран\n(задръжте тракбола за отключване)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Заключва се при изключен екран\n(натиснете Сила надолу за отключване)" }, + { "Locks when screen off\n(press the button to unlock)", "Заключва се при изключен екран\n(натиснете бутона за отключване)" }, + { "Log in again", "Влез отново" }, + { "Logging in again...", "Повторно влизане..." }, + { "Logging in…", "Вписване…" }, + { "Login OK (perms %u)", "Вход OK (права %u)" }, + { "Login failed", "Входът неуспешен" }, + { "Logs", "Логове" }, + { "Longitude", "Географска дължина" }, + { "Lua Store", "Lua магазин" }, + { "MHz", "MHz" }, + { "MQTT bridge", "MQTT мост" }, + { "Map", "Карта" }, + { "Map options", "Опции на картата" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Грешка в хранилището.\n\nSD картата е открита, но кешът\nна плочките не се монтира.\nРестартирайте за нов опит." }, + { "Map storage error.\nReflash the tiles partition.", "Грешка в хранилището на картата.\nПрефлашнете дяла tiles." }, + { "Map tiles: microSD", "Плочки: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Плочки на картата: microSD\n\n/maps/osm/z/x/y.png\n(или /tiles/z/x/y.jpg)\n\nКартата се появява, когато се намери\nплочка за тази област." }, + { "Map tiles: server", "Плочки: сървър" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Карта — все още няма пакет с плочки на SPIFFS.\n\nКачете пакет в /tiles///.jpg с генератора от хоста." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Карта — задайте местоположението\nв Настройки → Профил, за да\nсе покаже картата тук." }, + { "Mark all chats and channels as read?", "Да отбележа всички чатове и канали като прочетени?" }, + { "Mark as read", "Отбележи като прочетено" }, + { "Mark read", "Маркирай прочетено" }, + { "Marked read", "Отбелязано като прочетено" }, + { "Max hops (0..64)", "Макс. скокове (0..64)" }, + { "Max zoom for this pack", "Макс. мащаб за този пакет" }, + { "Memory detail", "Подробности за паметта" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Здраве на мрежата: flood advert се препредава от всеки ретранслатор в обхват, затова честите flood добавят ефирно време за цялата мрежа. Пазете ги редки (ден или повече). Съседите ви пак ви виждат по zero-hop адверти и отговорите ви, затова правете flood основно когато далечни възли трябва да ви открият отново. Оставете и двете изкл., за да се обявявате само при натискане на бутоните горе." }, + { "Message", "Съобщение" }, + { "Message LED", "LED за съобщения" }, + { "Message LED off", "LED за съобщения изкл." }, + { "Message LED on", "LED за съобщения вкл." }, + { "Message deleted", "Съобщението е изтрито" }, + { "Message didn't get through.\nResend it?", "Съобщението не стигна.\nДа го изпратя ли пак?" }, + { "Message info", "Информация за съобщението" }, + { "Message sound", "Звук на съобщения" }, + { "Min zoom for this pack", "Мин. мащаб за този пакет" }, + { "Mode: BLE starting / low memory", "Режим: BLE стартира / малко памет" }, + { "Model:", "Модел:" }, + { "Multi ACKs", "Множествени ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Мулти-ack %s · Повтор %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Многобайтово маршрутиране (хеш на пътя)" }, + { "Mute @", "Заглуши @" }, + { "Mute msgs", "Заглуши съобщ." }, + { "Mute notification sound", "Заглуши звука на известията" }, + { "My position (no GPS fix)", "Моята позиция (няма GPS фиксация)" }, + { "Name", "Име" }, + { "Name can't be empty.", "Името не може да е празно." }, + { "Name fragment", "Част от име" }, + { "Name saved", "Името е запазено" }, + { "Navigation keys", "Навигационни клавиши" }, + { "Navigation keys — tap a row, then press a key", "Навигационни клавиши — докоснете ред, после натиснете клавиш" }, + { "Nearby on map", "Наблизо на картата" }, + { "Network name", "Име на мрежата" }, + { "Network name (SSID)", "Име на мрежата (SSID)" }, + { "New", "Ново" }, + { "New DM", "Ново ЛС" }, + { "New channel msg", "Ново съобщ. в канал" }, + { "New contact", "Нов контакт" }, + { "New file", "Нов файл" }, + { "New folder", "Нова папка" }, + { "New game", "Нова игра" }, + { "New room msg", "Ново съобщ. в стая" }, + { "Next", "Напред" }, + { "Night mode (invert)", "Нощен режим (инвертиране)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Няма намерени .json архиви.\nЕкспортирайте един или копирайте\nmeshcore-backup.json на\nSD картата или вътр. флаш." }, + { "No @mentions yet", "Още няма @споменавания" }, + { "No Bluetooth on this device", "Няма Bluetooth на това устройство" }, + { "No DM key", "Няма ключ за ЛС" }, + { "No GPS module on this device.", "Няма GPS модул на това устройство." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Няма JPEG в /lock/.\nДобавете изображения чрез\nфайловия мениджър или SD карта." }, + { "No SD card", "Няма SD карта" }, + { "No SD card (or unreadable format)", "Няма SD карта (или нечетим формат)" }, + { "No backups yet. Tap Export new backup above to create one.", "Все още няма копия. Натиснете «Ново копие» горе, за да създадете." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Все още няма история на батерията.\n\nЗапис на всеки 5 минути." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Няма блокирани потребители.\n\nЗадръжте съобщение и докоснете\nБлокирай, за да добавите." }, + { "No contact for thread", "Няма контакт за разговора" }, + { "No contact to trace", "Няма контакт за проследяване" }, + { "No contacts have shared\na GPS location yet.", "Все още няма контакти,\nсподелили GPS местоположение." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Все още няма открити възли.\n\nВсичко чуто в ефира, което не е в контактите ви, ще се появи тук. Когато авто-добавянето е изключено, можете да добавяте възли ръчно." }, + { "No earlier versions yet", "Все още няма по-ранни версии" }, + { "No local expansion data", "Няма локални данни за разширение" }, + { "No location for this contact", "Няма местоположение за този контакт" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Няма хранилище за карта.\n\nПоставете SD карта за кеш на\nWi-Fi плочки (или префлашнете за\nдяла tiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Тук няма плочки на картата.\n\nСвържете се с Wi-Fi (Настройки → Wi-Fi),\nза да изтеглите този район." }, + { "No mapped repeaters in this route", "Няма картографирани ретранслатори по този маршрут" }, + { "No networks found (2.4 GHz only)", "Няма намерени мрежи (само 2.4 GHz)" }, + { "No onboard GPS", "Няма вграден GPS" }, + { "No other networks found", "Не са открити други мрежи" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Още няма позиция. Студен старт изисква чисто небе и може да отнеме няколко минути." }, + { "No reply from %s", "Няма отговор от %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Няма отговор. Проверете паролата, сървъра\nили часовника на устройството (устройство: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Тук няма запазени плочки.\n\nСвържете се с Wi-Fi (Настройки → Wi-Fi),\nза да изтеглите този район.\nЗапазените плочки остават достъпни офлайн." }, + { "No system time yet", "Все още няма системно време" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Няма телеметрия в този прозорец.\nПоискайте или разширете обхвата по-долу." }, + { "No tiles (non-ESP32)", "Няма плочки (не ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Все още няма известна версия. Първо са нужни Wi-Fi и завършена проверка за обновления." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Възел\nРегион\nРадио\nСигнал\nКонтакти\nКанали\nБатерия\nВреме на работа" }, + { "Node name", "Име на възела" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Нормален (100%)\nГолям (150%)\nОгромен (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Недостатъчно памет за Bluetooth. Първо изключете Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Недостатъчно памет за Wi-Fi. Първо изключете Bluetooth." }, + { "Nothing selected", "Нищо не е избрано" }, + { "Notification sound set", "Звукът за известие е зададен" }, + { "Notify on new contact", "Известяване при нов контакт" }, + { "Off", "Изкл" }, + { "Off\n1\n2\n3\n5\n8", "Изкл\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Изкл\n1 ден\n2 дни\n3 дни\n7 дни" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Изкл\n60 мин\n90 мин\n2 часа\n3 часа\n4 часа" }, + { "Offline", "Офлайн" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Старите съобщения над това се изтриват. Много голяма или неограничена история забавя списъка с чатове." }, + { "On - open the address above in a phone browser.", "Вкл. - отвори горния адрес в браузъра на телефона." }, + { "On boot", "При стартиране" }, + { "On map", "На картата" }, + { "Open Advertise app", "Отвори приложението Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Отворете .wav, после докоснете 'Задай като звук за известие'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Отворете JPEG, после докоснете 'Задай като тапет'" }, + { "Open chat", "Отвори чата" }, + { "Open in a browser (same Wi-Fi):", "Отвори в браузър (същата Wi-Fi мрежа):" }, + { "Open in web", "Отвори в уеб" }, + { "Open mesh console", "Отвори mesh конзолата" }, + { "Optional — type your network, or leave blank to skip.", "По избор — въведете мрежата си или оставете празно." }, + { "Orange temp Cyan humidity", "Оранжево темп. Циан влажн." }, + { "Orientation (tap to rotate, reboots)", "Ориентация (докоснете за завъртане, рестарт)" }, + { "Out of memory", "Недостатъчна памет" }, + { "Overwrite oldest", "Презапиши най-стария" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Да се презапишат настройките и идентичността на SD\nс вътрешните копия\nи да се рестартира?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG не се поддържа тук\nИзползвайте JPEG" }, + { "Pairing code", "Код за сдвояване" }, + { "Pairing code saved — reboot to apply", "Кодът за сдвояване е запазен — рестартирайте за прилагане" }, + { "Pairing code: %06lu", "Код за сдвояване: %06lu" }, + { "Pairing code: n/a", "Код за сдвояване: н/п" }, + { "Password (empty = open)", "Парола (празно = отворена)" }, + { "Password (empty = skip Wi-Fi)", "Парола (празно = пропусни Wi-Fi)" }, + { "Password (optional)", "Парола (по избор)" }, + { "Password too long", "Паролата е твърде дълга" }, + { "Paste", "Постави" }, + { "Paste failed", "Поставянето неуспешно" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Поставете 64-hex публичния ключ и име. Полезно за ЛС преди advert-а." }, + { "Pasted", "Поставено" }, + { "Path hash: %u byte%s", "Хеш на пътя: %u байт%s" }, + { "Path reset", "Пътят е нулиран" }, + { "Path reset failed", "Нулирането на пътя неуспешно" }, + { "Paused — score %d", "На пауза — резултат %d" }, + { "Per-transmit switching on", "Превключване при всяко предаване вкл." }, + { "Pick colour", "Избери цвят" }, + { "Ping", "Пинг" }, + { "Ping failed", "Ping неуспешен" }, + { "Pinged (direct) — waiting…", "Ping (директен) — изчакване…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — изчакване…" }, + { "Play", "Възпроизведи" }, + { "Poll (min)", "Запитване (мин)" }, + { "Poll every", "Запитване на всеки" }, + { "Poll every %d min", "Запитване на всеки %d мин" }, + { "Port", "Порт" }, + { "Portrait set - applies when remote mode starts.", "Портретът е зададен - прилага се при стартиране на отдалечения режим." }, + { "Position saved", "Позицията е запазена" }, + { "Power", "Захранване" }, + { "Power off", "Изключване" }, + { "Powering off… click trackball to wake", "Изключване… щракнете топчето за събуждане" }, + { "Press a key…", "Натиснете клавиш…" }, + { "Probe now", "Измери сега" }, + { "Probing neighbours…", "Проверка на съседи…" }, + { "Profile", "Профил" }, + { "Pubkey must be 64 hex chars.", "Публичният ключ трябва да е 64 hex." }, + { "Public channel ready", "Публичният канал е готов" }, + { "Public key (64 hex chars)", "Публичен ключ (64 hex)" }, + { "Public key:", "Публичен ключ:" }, + { "Publish channel messages", "Публикуване на съобщения от канала" }, + { "Publish direct messages", "Публикуване на директни съобщения" }, + { "Purge", "Изчистване" }, + { "Purge all discovered nodes?", "Изчистване на всички открити възли?" }, + { "Quick replies", "Бързи отговори" }, + { "Quick reply", "Бърз отговор" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d записа · Raw %d записа" }, + { "RX boosted gain", "Усилено RX" }, + { "RX log", "RX дневник" }, + { "Radio & Mesh", "Радио и меш" }, + { "Radio + region set", "Радио + регион зададени" }, + { "Radio applied", "Радиото е приложено" }, + { "Radio off", "Радиото е изключено" }, + { "Radio: off", "Радио: изключено" }, + { "Range test", "Тест на обхват" }, + { "RangeTest failed", "RangeTest неуспешен" }, + { "RangeTest sent (direct)", "RangeTest изпратен (директен)" }, + { "RangeTest sent (flood)", "RangeTest изпратен (flood)" }, + { "Raw log", "Суров дневник" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Чете пакети във фонова задача, за да не ги изпуска зает екран." }, + { "Reboot", "Рестартирай" }, + { "Reboot device", "Рестартирай устройството" }, + { "Rebooting...", "Рестартиране..." }, + { "Rebooting…", "Рестартиране…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Получаване на неиздаден тестов firmware — по-нови функции, но по-малко тествани. Проверката и инсталирането следват бета канала." }, + { "Recently heard", "Наскоро чути" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Форматиране на SD като MESHCOMOD (FAT32)?\nВСИЧКИ данни на картата ще бъдат изтрити." }, + { "Region & scope", "Регион и обхват" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Регионален обхват (#tag) за този канал.\nПразно = обхват по подразбиране." }, + { "Region scope (#tag), blank = default.", "Обхват на регион (#tag), празно = по подразбиране." }, + { "Region scope (#tag, blank = none)", "Регионален обхват (#tag, празно = няма)" }, + { "Remember password", "Запомни паролата" }, + { "Remote UI", "Отдалечен интерфейс" }, + { "Remote UI (on)", "Отдалечен интерфейс (вкл.)" }, + { "Remote access", "Отдалечен достъп" }, + { "Remote terminal", "Отдалечен терминал" }, + { "Remote terminal (recommended)", "Отдалечен терминал (препоръчително)" }, + { "Remote terminal off", "Отдалеченият терминал е изкл." }, + { "Remove", "Премахни" }, + { "Remove %s?", "Премахни %s?" }, + { "Remove channel", "Премахни канала" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Премахване на канал \"%s\"?\nСамо от това устройство." }, + { "Removed", "Премахнато" }, + { "Removed from favorites", "Премахнато от любими" }, + { "Rename", "Преименувай" }, + { "Rename failed", "Преименуването неуспешно" }, + { "Renamed", "Преименувано" }, + { "Replay", "Повтори" }, + { "Replay route on map", "Повтори маршрута на картата" }, + { "Replaying route…", "Повтаряне на маршрута…" }, + { "Resend", "Изпрати отново" }, + { "Resend failed", "Повторното изпращане е неуспешно" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Изпраща съобщението повторно, докато повторител го излъчи или получателят потвърди. Изключи за еднократно изпращане." }, + { "Reset", "Нулиране" }, + { "Reset path", "Нулирай маршрута" }, + { "Restarting to apply the language…", "Рестартиране за прилагане на езика…" }, + { "Retry sends until heard", "Повтаряй изпращането, докато бъде чуто" }, + { "Reverse scrollball", "Обръщане на скролбол" }, + { "Roll to highlight • click to insert", "Превъртете за маркиране • щракнете за вмъкване" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Стаята е само за четене за вас.\nВлезте с паролата на стаята, за да публикувате." }, + { "Rotating - reconnecting...", "Завъртане - повторно свързване..." }, + { "Rotating… rebooting", "Завъртане… рестарт" }, + { "Run setup again", "Стартирай настройката отново" }, + { "SD card %s", "SD карта %s" }, + { "SD card %s (hold: format)", "SD карта %s (задръж: формат)" }, + { "SD card (tap to mount)", "SD карта (докоснете за монтиране)" }, + { "SD card inserted", "SD картата е поставена" }, + { "SD card lost - reinsert to recover", "SD картата е изгубена - поставете я отново" }, + { "SD card remounted", "SD картата е монтирана отново" }, + { "SD card removed", "SD картата е извадена" }, + { "SD download failed: %s", "Изтеглянето на SD е неуспешно: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD форматирана - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB използвани" }, + { "SSID set — enter password, then Save", "SSID зададен — въведете парола, после Запази" }, + { "SSID too long", "SSID е твърде дълъг" }, + { "Sample text", "Примерен текст" }, + { "Save", "Запази" }, + { "Save & restart", "Запази и рестартирай" }, + { "Save / turn on", "Запази / включи" }, + { "Save auto-add", "Запази авто-добавянето" }, + { "Save experimental", "Запази експерименталното" }, + { "Save failed", "Запазването неуспешно" }, + { "Save name", "Запази името" }, + { "Save policy", "Запази правилото" }, + { "Save position", "Запази позицията" }, + { "Save quick replies", "Запази бързите отговори" }, + { "Save report", "Запази отчета" }, + { "Save update bin to SD", "Запази обновлението на SD" }, + { "Saved", "Запазено" }, + { "Saved backups", "Запазени копия" }, + { "Saved network", "Запазена мрежа" }, + { "Saved profiles", "Запазени профили" }, + { "Saved to slot %d", "Запазено в слот %d" }, + { "Saved — rebooting", "Запазено — рестарт" }, + { "Saved — reconnecting…", "Запазено — повторно свързване…" }, + { "Saved: %s\nFlash it from the Launcher.", "Запазено: %s\nФлашнете го от Launcher." }, + { "Saving to SD… %d%%", "Запис на SD… %d%%" }, + { "Saving to SD… 0%", "Запис на SD… 0%" }, + { "Scan to open on phone", "Сканирай, за да отвориш на телефона" }, + { "Scanning…", "Сканиране…" }, + { "Scope direct msgs to region", "Ограничи директните съобщения до региона" }, + { "Screen locked", "Екранът е заключен" }, + { "Screen timeout (s, 0 = never)", "Изключване на екрана (с, 0 = никога)" }, + { "Screen timeout (s, 0 = never, min 10)", "Изключване на екрана (с, 0 = никога, мин 10)" }, + { "Screen timeout: %ds", "Изключване на екрана: %dс" }, + { "Screen timeout: never", "Изключване на екрана: никога" }, + { "Screen-off just dims", "Изключването на екрана само затъмнява" }, + { "Screenshot needs an SD card", "Екранната снимка изисква SD карта" }, + { "Screenshot: low memory", "Екранна снимка: малко памет" }, + { "Screenshot: no SD card", "Екранна снимка: няма SD карта" }, + { "Screenshot: write failed", "Екранна снимка: записът е неуспешен" }, + { "Scrollball: normal", "Скролбол: нормален" }, + { "Scrollball: reversed", "Скролбол: обърнат" }, + { "Search", "Търсене" }, + { "Search contacts", "Търсене на контакти" }, + { "Secondary keyboards", "Допълнителни клавиатури" }, + { "Secret (32 hex chars)", "Тайна (32 hex)" }, + { "Secret (32 hex, optional)", "Тайна (32 hex, по избор)" }, + { "Secret must be 32 hex chars (or empty).", "Тайната трябва да е 32 hex (или празно)." }, + { "Select a DM thread", "Изберете ЛС разговор" }, + { "Select all", "Избери всичко" }, + { "Select network", "Избери мрежа" }, + { "Send advert", "Изпрати advert" }, + { "Send advert now", "Изпрати advert" }, + { "Send an advert now, or set how often you re-advertise.", "Изпратете advert сега или задайте колко често го повтаряте." }, + { "Send failed", "Изпращането неуспешно" }, + { "Sender blocked", "Подателят е блокиран" }, + { "Sensors tab: off (restart to apply)", "Раздел сензори: изключен (рестарт за прилагане)" }, + { "Sensors tab: on (restart to apply)", "Раздел сензори: включен (рестарт за прилагане)" }, + { "Sent", "Изпратено" }, + { "Set", "Задай" }, + { "Set an SSID first", "Първо задайте SSID" }, + { "Set as notification sound", "Задай като звук за известие" }, + { "Set as wallpaper", "Задай като тапет" }, + { "Set your location first", "Първо задайте местоположението" }, + { "Settings", "Настройки" }, + { "Setup complete", "Настройката е готова" }, + { "Share QR", "Сподели QR" }, + { "Share channel", "Сподели канала" }, + { "Share location in advert", "Споделяй местоположението в advert" }, + { "Share secret", "Сподели ключа" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Споделете 32-символната тайна, за да се присъединят други. Празно = случайна." }, + { "Share: %s", "Споделяне: %s" }, + { "Show", "Покажи" }, + { "Show Sensors tab", "Покажи раздел сензори" }, + { "Show in the app drawer", "Показвай в менюто с приложения" }, + { "Show link lines", "Показвай линиите на връзката" }, + { "Show menu-bar letters", "Покажи буквите на менюто" }, + { "Show on chart", "Покажи на графиката" }, + { "Show on map", "Покажи на картата" }, + { "Sightline", "Пряка видимост" }, + { "Signal & traffic", "Сигнал и трафик" }, + { "Signal probe", "Измерване на сигнала" }, + { "Skip", "Пропусни" }, + { "Sleep ready", "Готов за заспиване" }, + { "Slot %d cleared", "Слот %d изчистен" }, + { "Slot empty", "Слотът е празен" }, + { "Small\nMedium\nLarge", "Малък\nСреден\nГолям" }, + { "Snake — swipe or roll the trackball", "Snake — плъзни или завърти трекбола" }, + { "Sort", "Сортирай" }, + { "Sound", "Звук" }, + { "Sound off", "Звук изкл" }, + { "Sound on", "Звук вкл" }, + { "Sound: %s", "Звук: %s" }, + { "Start time", "Начален час" }, + { "Status", "Състояние" }, + { "Step 1 of 3", "Стъпка 1 от 3" }, + { "Step 2 of 3", "Стъпка 2 от 3" }, + { "Step 3 of 3", "Стъпка 3 от 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Все още се анализира предишният\nпът… опитайте пак след малко." }, + { "Stop", "Спри" }, + { "Storage", "Хранилище" }, + { "Store data on SD (reboot)", "Съхранявай данните на SD (рестарт)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Излъчва екрана като живо изображение, което докосваш за управление. По-тежко; панелът показва заместител. Превключването рестартира устройството." }, + { "Switch", "Превключи" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Превключване на външната антена?\n\nПърво се увери, че наистина има антена на външния извод. Предаване без антена може да повреди радиото.\n\nПри всеки рестарт се връща на вградената." }, + { "Sync clock from system", "Синхронизирай часовника" }, + { "System", "Система" }, + { "System info", "Системна информация" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS клиенти %d GPS %s Зумер %s" }, + { "TCP off", "TCP изкл" }, + { "TCP on", "TCP вкл" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Клавиши за раздела — докосни ред, после натисни клавиш" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Докосни «Избери» за смяна - устройството се рестартира. Езиковите файлове са в /lang в паметта; редактирай ги или добави свои." }, + { "Tap a language; the device reboots to apply.", "Изберете език; устройството ще се рестартира." }, + { "Taste the rainbow!", "Вкуси дъгата!" }, + { "Telemetry", "Телеметрия" }, + { "Telemetry req (direct)…", "Заявка за телеметрия (директен)…" }, + { "Telemetry req (flood)…", "Заявка за телеметрия (flood)…" }, + { "Telemetry req failed", "Заявката за телеметрия неуспешна" }, + { "Telemetry requests allowed", "Заявките за телеметрия разрешени" }, + { "Telemetry requests off", "Заявките за телеметрия изкл" }, + { "Telemetry req…", "Заявки телем…" }, + { "Telemetry settings", "Настройки за телеметрия" }, + { "Temperature", "Температура" }, + { "Test builds: off", "Тестови компилации: изкл" }, + { "Test builds: on", "Тестови компилации: вкл" }, + { "Theme", "Тема" }, + { "Theme colour", "Цвят на темата" }, + { "Then pick a mode:", "После избери режим:" }, + { "This contact hasn't shared\na GPS position.", "Този контакт не е споделил\nGPS позиция." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Това устройство може да ползва Wi-Fi и Bluetooth едновременно — като самостоятелно радио и телефонен компаньон (приложение MeshCore).\n\nДвете заедно ползват повече RAM, затова включвай само нужното.\n\nНастрой ги по всяко време в Настройки." }, + { "Throttles the CPU when idle to save power", "Ограничава процесора при бездействие за пестене на ток" }, + { "Tile reload needs Wi-Fi build", "Презареждането изисква Wi-Fi компилация" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Плочките изчистени — свържи Wi-Fi отново за изтегляне" }, + { "Tiles from SD card", "Плочки от SD картата" }, + { "Time %s", "Време %s" }, + { "Time offset (vs automatic)", "Изместване на времето (спрямо авто)" }, + { "Time offset: %+d h", "Изместване: %+d ч" }, + { "Time range (hours ago)", "Времеви обхват (часа назад)" }, + { "Time zone", "Часова зона" }, + { "Time zone: %s", "Часова зона: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Съвет: можете да сканирате мрежи в Настройки → Мрежа след настройката." }, + { "Today", "Днес" }, + { "Toggle GPS", "Превключи GPS" }, + { "Too large to edit (>8 KB)", "Твърде голям за редактиране (>8 KB)" }, + { "Topographic map", "Топографска карта" }, + { "Trace", "Проследяване" }, + { "Trace SNR", "Проследи SNR" }, + { "Trace failed", "Проследяването неуспешно" }, + { "Trace route", "Проследи маршрута" }, + { "Trace sent…", "Проследяването е изпратено…" }, + { "Tracing route…", "Проследяване на маршрута…" }, + { "Trackball navigates UI", "Трекболът навигира UI" }, + { "Trackball: cursor", "Трекбол: курсор" }, + { "Trackball: navigate UI", "Трекбол: навигирай UI" }, + { "Turn Wi-Fi on first", "Първо включи Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Включи Wi-Fi и опресни. Инсталираните приложения продължават да работят." }, + { "Turn off", "Изключи" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Да включа ли старото превключване при предаване?\n\nДиагностичен режим, само за сравнение. Предава на вградената антена и слуша на външната - изходящият сигнал ще е много по-слаб от входящия.\n\nПри всеки рестарт се връща на вградената." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Да изключа ли лимита на историята?\n\nНатоварен канал може да запълни цялото хранилище, което взима повече място и осезаемо забавя списъка и приложението. Направи го само ако наистина ти трябва целият архив." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Включи това и отвори долния адрес в браузър в същата Wi-Fi мрежа - без приложение. Екранът на устройството се появява на живо и можеш да го управляваш с докосване." }, + { "Type a URL, then Go", "Въведи URL и натисни «Отиди»" }, + { "Type a message...", "Въведете съобщение..." }, + { "Type a new 6-digit code · applies after a reboot", "Въведи нов 6-цифрен код · важи след рестарт" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Въведете името на мрежата — или включете Wi-Fi в Настройки за сканиране" }, + { "UI size (restart to apply)", "Размер на UI (рестарт за прилагане)" }, + { "UI size saved — restart to apply", "Размерът на UI е запазен — рестарт за прилагане" }, + { "USB powered", "Захранване от USB" }, + { "Unblock", "Отблокирай" }, + { "Unblocked", "Разблокиран" }, + { "Unfavorite it first", "Първо махни от любими" }, + { "Unlocking…", "Отключване…" }, + { "Unmute @", "Възстанови @" }, + { "Unmute msgs", "Възстанови съобщ." }, + { "Unread %d", "Непроч. %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Непроч. %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Неподдържан WAV (нужен 16-битов PCM)" }, + { "Update", "Обнови" }, + { "Update bin saved to SD", "Файлът за обновяване е записан на SD" }, + { "Update complete.\nRebooting...", "Обновяването завърши.\nРестартиране..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Обновете ръчно на flasher.wadamesh.com\n(Wi-Fi обновяването е спряно засега)" }, + { "Update via the Launcher", "Обнови през Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Обнови през Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Обнови през Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Обновено - рестартиране…" }, + { "Use", "Избери" }, + { "Username (optional)", "Потребителско име (по избор)" }, + { "Volume", "Сила на звука" }, + { "W up · A left · D right · Z down · S select · Q back", "W нагоре · A ляво · D дясно · Z надолу · S избор · Q назад" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Изчакване на Wi-Fi..." }, + { "Welcome to WADAMESH", "Добре дошли в WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Докато е включено, всеки в твоята Wi-Fi мрежа може да гледа и управлява устройството. Използва обикновен HTTP (само локална мрежа)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi и Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi не е разрешен в тази компилация." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi не е наличен в тази компилация." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Нужен е Wi-Fi за профила на\nтерена за този път.\nСвържете в Настройки → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi не е свързан" }, + { "Wi-Fi off", "Wi-Fi изкл" }, + { "Wi-Fi on", "Wi-Fi вкл" }, + { "Wi-Fi on, scanning…", "Wi-Fi вкл, сканиране…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi запазен (радио изкл)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi запазен, повторно свързване" }, + { "Yesterday", "Вчера" }, + { "You can run setup later in Settings → Device", "Можете да стартирате настройката по-късно в Настройки → Устройство" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Местоположението е неизвестно.\nПърво задайте GPS / позиция в\nНастройки → Профил." }, + { "Your name", "Вашето име" }, + { "Your own apps", "Твоите приложения" }, + { "Zero-hop", "Без препредаване" }, + { "Zero-hop advert sent", "Zero-hop advert изпратен" }, + { "Zoom: +/- buttons", "Мащаб: бутони +/-" }, + { "client connected", "клиент свързан" }, + { "command", "команда" }, + { "contacts (%d):", "контакти (%d):" }, + { "diag boot...", "диаг. старт..." }, + { "double-tap SPACE cycles through the ones you enable", "двойно докосване на ИНТЕРВАЛ превърта включените" }, + { "drive the UI without the screen; keys still type in text fields", "управлявай UI без екрана; клавишите още пишат в полетата" }, + { "e.g. Family", "напр. Семейство" }, + { "e.g. mesh", "напр. mesh" }, + { "from", "от" }, + { "h to", "ч до" }, + { "hold Backspace to unlock", "задръж Backspace за отключване" }, + { "hold the d-pad to unlock", "задръж d-pad за отключване" }, + { "hold the trackball to unlock", "задръжте топчето за отключване" }, + { "kHz", "kHz" }, + { "keep holding", "задръжте" }, + { "last wake: ", "последно събуждане: " }, + { "leave empty to generate", "оставете празно за генериране" }, + { "lights the keyboard + wakes the screen on an incoming message", "осветява клавиатурата + събужда екрана при входящо съобщение" }, + { "mesh link armed", "меш връзка готова" }, + { "mesh busy", "мрежата заета" }, + { "min (0=off)", "мин (0=изкл)" }, + { "mkdir failed", "Създаването на папка неуспешно" }, + { "n/a in this build", "н/п в тази компилация" }, + { "now on channel %s", "сега в канал %s" }, + { "now talking to %s", "сега говорите с %s" }, + { "off", "изключен" }, + { "off = Enter adds a new line; tap Send to send", "изкл = Enter добавя нов ред; докосни Изпрати" }, + { "on", "включен" }, + { "peak --", "пик --" }, + { "pick accented letters as you type; off = plain typing", "избор на букви с ударения при писане; изкл = обикновено писане" }, + { "press Volume Down to unlock", "натисни Намаляване на звука за отключване" }, + { "push past a screen edge to scroll content", "избутай отвъд ръба на екрана за превъртане" }, + { "score %d", "точки %d" }, + { "search", "търсене" }, + { "tap for details", "докосни за детайли" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "докоснете клавиша за език (напр. EN) на клавиатурата, за да превъртате включените" }, + { "tap to cancel", "докоснете за отказ" }, + { "tap to exit full screen", "докоснете за изход от цял екран" }, + { "zoom", "мащаб" }, + { "zoom %d", "мащаб %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "усилвател ~17 dB за тихи/отдалечени места; изключи в шумни." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_sr[] = { + { " (device behind)", " (уређај касни)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d тачака покривености · %lu уписано на SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: чекање GPS-а…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d на мапи" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d у близини (%d рпт, %d комп)" }, + { "%u types · hops %u · manual %s", "%u типова · хопови %u · ручно %s" }, + { "(RTC unset)", "(RTC није постављен)" }, + { "(device behind)", "(уређај заостаје)" }, + { "(no default)", "(нема подразумеваног)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 бајт (старо)\n2 бајта\n3 бајта" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nБез ограничења" }, + { "12-hour clock", "12-часовни формат" }, + { "32 hex characters", "32 hex знака" }, + { "32-hex secret. Anyone with this can read the channel.", "32-hex тајна. Свако с њом може читати канал." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Помињања" }, + { "@ mention sound", "Звук за @ помињање" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "АУТОМАТСКИ АДВЕРТИ" }, + { "About", "О програму" }, + { "About the map", "О мапи" }, + { "Accent popups", "Искачући акценти" }, + { "Accent popups: off", "Искачући акценти: искљ" }, + { "Accent popups: on", "Искачући акценти: укљ" }, + { "Ack", "Ack" }, + { "Active", "Активно" }, + { "Add", "Додај" }, + { "Add channel", "Додај канал" }, + { "Add contact", "Додај контакт" }, + { "Added", "Додато" }, + { "Added to contacts", "Додато у контакте" }, + { "Added to favorites", "Додато у омиљене" }, + { "Admin", "Админ" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert није успео" }, + { "Advert location", "Локација advert-а" }, + { "Advert policy saved", "Правило за advert сачувано" }, + { "Advert sent", "Advert послат" }, + { "All marked read", "Све означено" }, + { "Already exists", "Већ постоји" }, + { "Already exists or table full.", "Већ постоји или је табела пуна." }, + { "Already in contacts", "Већ у контактима" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "После рестарта увек креће на уграђеној антени. Бирај «Спољна» само са антеном на спољном прикључку." }, + { "Analyzing terrain…", "Анализа терена…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Анализа терена…\n(покушај %d од 3)" }, + { "Answer telemetry requests", "Одговарај на захтеве телеметрије" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Свако може да се придружи. Кључ из хаштага (мала слова)." }, + { "App drawer as home", "Фиока апликација као почетни екран" }, + { "App icon size", "Величина икона апликација" }, + { "Applies after restart.", "Важи након рестарта." }, + { "Apply", "Примени" }, + { "Apply auto-poll", "Примени ауто-упит" }, + { "Apply radio params", "Примени радио параметре" }, + { "Apps", "Апликације" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Стрелице + Enter увек раде. Ова слова су додатак — додирни ред, па притисни тастер." }, + { "Auto advert", "Аутоматски оглас" }, + { "Auto chat", "Ауто ћаскање" }, + { "Auto repeater", "Ауто репетитор" }, + { "Auto room", "Ауто соба" }, + { "Auto sensor", "Ауто сензор" }, + { "Auto-Join", "Ауто-придруживање" }, + { "Auto-add contacts", "Аутоматско додавање контаката" }, + { "Auto-add saved", "Аутододавање сачувано" }, + { "Auto-add settings", "Подешавања ауто-додавања" }, + { "Auto-delete above hops", "Ауто-брисање изнад хопова" }, + { "Auto-delete oldest", "Ауто-брисање најстаријих" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Ауто-брисање најстаријих прави место кад је пуно. Хопови: 0 = задржи све; чворови чувени преко више хопова се уклањају." }, + { "Auto-discover", "Ауто-откривање" }, + { "Auto-discover off", "Ауто-откривање искљ." }, + { "Auto-discover on", "Ауто-откривање укљ." }, + { "Auto-poll every", "Ауто-упит на сваких" }, + { "Auto-refresh off", "Ауто-освежавање искљ." }, + { "Auto-refresh on", "Ауто-освежавање укљ." }, + { "Available", "Доступне" }, + { "BLE off", "BLE искљ" }, + { "BLE on", "BLE укљ" }, + { "BT", "BT" }, + { "Back", "Назад" }, + { "Backups", "Резервне копије" }, + { "Battery", "Батерија" }, + { "Battery & power history", "Историја батерије и напајања" }, + { "Battery (V)", "Батерија (V)" }, + { "Battery calibration reset to default", "Калибрација батерије ресетована" }, + { "Battery read too low — charge fully first", "Очитавање прениско — прво напуните" }, + { "Battery saver (experimental)", "Уштеда батерије (експериментално)" }, + { "Battery — last 24h", "Батерија — последња 24 ч" }, + { "Battery:", "Батерија:" }, + { "Block", "Блокирај" }, + { "Block list full", "Листа блокираних је пуна" }, + { "Blocked list", "Листа блокираних" }, + { "Blocked users", "Блокирани корисници" }, + { "Blocked — their messages are hidden", "Блокиран — поруке су скривене" }, + { "Blocking unsupported", "Блокирање није подржано" }, + { "Blue battery Last 6 min", "Плаво — батерија Последњих 6 мин" }, + { "Blue battery Orange temp Cyan humidity", "Плаво — батерија Наранџасто — темп. Цијан — влажност" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth већ искључен" }, + { "Bluetooth already on", "Bluetooth већ укључен" }, + { "Bluetooth off", "Bluetooth искљ" }, + { "Bluetooth on", "Bluetooth укљ" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Bluetooth упаривање није доступно на овом уређају.\n\nФабрички фирмвер радио чипа га не подржава.\n\nУпари апликацију преко Wi-Fi-ја: повежи уређај на мрежу па га додај у апликацији преко IP адресе (TCP, порт 5000) — приказано под Подешавања > Мрежа. USB такође ради." }, + { "Broker host / IP", "Хост / IP брокера" }, + { "Buffered receive (experimental)", "Баферовани пријем (експериментално)" }, + { "Built-in", "Уграђен" }, + { "Built-in (default)", "Уграђен (подразумевано)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Калибриши батерију (пуна = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Калибрисано: 100%% = %u.%02u V (дуго за ресет)" }, + { "Can't block — not a contact", "Не могу да блокирам — није контакт" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Не могу приказати слику\n(само JPEG, <= 1024 px)" }, + { "Cancel", "Откажи" }, + { "Cancelled", "Отказано" }, + { "Cannot open file", "Не могу да отворим датотеку" }, + { "Catalog unavailable", "Каталог није доступан" }, + { "Centered on %s", "Центрирано на %s" }, + { "Changing orientation - rebooting...", "Промена оријентације - рестартовање..." }, + { "Channel created", "Канал направљен" }, + { "Channel joined", "Придружено каналу" }, + { "Channel name", "Назив канала" }, + { "Channel not found", "Канал није пронађен" }, + { "Channel removed", "Канал уклоњен" }, + { "Channel scope saved", "Опсег канала сачуван" }, + { "Channel settings", "Подешавања канала" }, + { "Channel table is full", "Табела канала је пуна" }, + { "Channel table is full.", "Табела канала је пуна." }, + { "Channel-specific regions can be set in each channel's settings.", "Регије по каналу подешавају се у подешавањима сваког канала." }, + { "Channels:", "Канали:" }, + { "Chat bubbles", "Облачићи ћаскања" }, + { "Chat bubbles: plain", "Облачићи: обични" }, + { "Chat history is NOT saving", "Историја ћаскања се НЕ чува" }, + { "Chat history save FAILED", "Чување историје ћаскања НИЈЕ УСПЕЛО" }, + { "Chat icon", "Икона ћаскања" }, + { "Chat icon reset to letters", "Икона ћаскања враћена на слова" }, + { "Chat icon set", "Икона ћаскања постављена" }, + { "Chat removed", "Ћаскање уклоњено" }, + { "Chat save fallback (failed tries)", "Резервно чување ћаскања (неуспеси)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Ћаскања, контакти, подешавања и mesh терминал - све у прегледачу. Без рестарта; уређај задржава свој нормалан екран." }, + { "Choose .wav from files", "Изабери .wav из фајлова" }, + { "Choose your name", "Изаберите своје име" }, + { "Choose your region", "Изаберите регион" }, + { "Clear", "Обриши" }, + { "Clear battery history?", "Обрисати историју батерије?" }, + { "Clear history", "Обриши историју" }, + { "Clear telemetry history for this node?", "Обрисати историју телеметрије овог чвора?" }, + { "Client repeat", "Понављање клијента" }, + { "Clock synced", "Сат синхронизован" }, + { "Clock: 12-hour", "Сат: 12-часовни" }, + { "Clock: 24-hour", "Сат: 24-часовни" }, + { "Close", "Затвори" }, + { "Colourful chat bubbles", "Шарени облачићи ћаскања" }, + { "Commands", "Команде" }, + { "Community Preset", "Претподешавање заједнице" }, + { "Community preset (meshcomod web)", "Унапред (meshcomod web)" }, + { "Compact messages", "Компактне поруке" }, + { "Compact messages (IRC style)", "Компактне поруке (IRC стил)" }, + { "Connect", "Повежи" }, + { "Connect Wi-Fi to reload tiles", "Повежите Wi-Fi да поново учитате плочице" }, + { "Connect to Wi-Fi", "Повежи се на Wi-Fi" }, + { "Connect to Wi-Fi first", "Прво се повежи на Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Прво се повежите на Wi-Fi, па покушајте поново." }, + { "Connect to Wi-Fi to get a browser address.", "Повежи се на Wi-Fi да добијеш адресу за прегледач." }, + { "Connected", "Повезано" }, + { "Connected - a browser is viewing this screen.", "Повезано - прегледач гледа овај екран." }, + { "Connecting...", "Повезивање..." }, + { "Connecting…", "Повезивање…" }, + { "Console not available on this build", "Конзола није доступна у овој верзији" }, + { "Contact added", "Контакт додат" }, + { "Contact deleted", "Контакт обрисан" }, + { "Contact gone", "Контакт нестао" }, + { "Contact missing", "Контакт недостаје" }, + { "Contacts", "Контакти" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Контакти су у унутрашњој меморији - SD картица се није монтирала при покретању. Поново убаци картицу и рестартуј." }, + { "Contacts are on internal flash.", "Контакти су у унутрашњој меморији." }, + { "Contacts are saved to the SD card.", "Контакти се чувају на SD картици." }, + { "Contacts full", "Контакти пуни" }, + { "Contacts:", "Контакти:" }, + { "Control", "Контрола" }, + { "Control this device from a browser", "Управљај уређајем из прегледача" }, + { "Copied %s", "%s копирано" }, + { "Copied - Paste in a folder", "Копирано - налепи у фасциклу" }, + { "Copy", "Копирај" }, + { "Copy failed (no internal identity)", "Копирање није успело (нема интерног идентитета)" }, + { "Copy internal data to SD", "Копирај податке на SD" }, + { "Copy secret", "Копирај тајну" }, + { "Copying internal data to SD...", "Копирање интерних података на SD..." }, + { "Could not add", "Додавање није успело" }, + { "Could not save the crash report", "Извештај о паду није сачуван" }, + { "Couldn't delete", "Брисање није успело" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Подаци о терену нису преузети.\nПроверите везу и\nсервер за надморску висину, па\nпокушајте поново." }, + { "Couldn't save the name to storage", "Име није сачувано" }, + { "Couldn't send login", "Пријава није послата" }, + { "Couldn't start the analyzer.\nTry again.", "Анализатор није могао да се покрене.\nПокушајте поново." }, + { "Crash export failed", "Извоз извештаја о паду није успео" }, + { "Create", "Направи" }, + { "Create QR", "Направи QR" }, + { "Create a private channel", "Направи приватни канал" }, + { "Create failed", "Креирање није успело" }, + { "Create private channel", "Направи приватни канал" }, + { "Custom UTC offset (hours)", "Прилагођени UTC померај (сати)" }, + { "Cut", "Исеци" }, + { "Cut - Paste in a folder", "Исечено - налепи у фасциклу" }, + { "DM sound", "Звук за DM" }, + { "DND", "DND" }, + { "Danger zone", "Опасна зона" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Подаци -> SD картица при рестарту\n(потребна картица)" }, + { "Data -> internal on reboot", "Подаци -> интерно при рестарту" }, + { "Delete", "Обриши" }, + { "Delete %d contact(s)?", "Обрисати %d контакт(а)?" }, + { "Delete chat", "Обриши ћаскање" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Обрисати ћаскање са \"%s\"?\nИсторија ће бити обрисана." }, + { "Delete failed", "Брисање није успело" }, + { "Delete history", "Обриши историју" }, + { "Delete this backup file?\nThis cannot be undone.", "Обрисати ову датотеку копије?\nНе може се поништити." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Обрисати целу историју овог ћаскања?\nСамо ћаскање остаје." }, + { "Deleted", "Обрисано" }, + { "Deleted %d", "Обрисано: %d" }, + { "Deleted %d messages", "Обрисано %d порука" }, + { "Deleting contacts", "Брисање контаката" }, + { "Delivered", "Испоручено" }, + { "Detailed sensors", "Детаљни сензори" }, + { "Device clock differs from \"%s\" by %lu h%s", "Сат уређаја се разликује од \"%s\" за %lu ч%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Сат уређаја се разликује од \"%s\" за %lu мин%s" }, + { "Device name hidden", "Име уређаја сакривено" }, + { "Device name shown", "Име уређаја приказано" }, + { "Device time:", "Време уређаја:" }, + { "Diagnostics", "Дијагностика" }, + { "Diagnostics are on the About page.", "Τα διαγνωστικά είναι στη σελίδα Σχετικά." }, + { "Discovered", "Откривени" }, + { "Discovered settings", "Подешавања откривених" }, + { "Display", "Приказ" }, + { "Display name", "Приказно име" }, + { "Distance in miles", "Растојање у миљама" }, + { "Distance: km", "Растојање: km" }, + { "Distance: miles", "Растојање: миље" }, + { "Do Not Disturb", "Не узнемиравај" }, + { "Do Not Disturb off", "«Не узнемиравај» искљ." }, + { "Do Not Disturb on", "«Не узнемиравај» укљ." }, + { "Download failed", "Преузимање није успело" }, + { "Download failed (network?)", "Преузимање није успело (мрежа?)" }, + { "Download mode", "Режим преузимања" }, + { "Download mode… reflash over USB", "Download режим… поново флешујте преко USB" }, + { "Downloaded - tap Use to switch", "Преузето - додирни «Користи» за промену" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Преузимање плочица мапе…\n\nОдржавајте Wi-Fi везу.\nПлочице се појављују како стижу\nи чувају се за офлајн употребу." }, + { "Downloading…", "Преузимање…" }, + { "Duty meter", "Мерач циклуса" }, + { "Edge scroll", "Скрол уз ивицу" }, + { "Edit in Settings → Quick replies", "Уреди у Подешавања → Брзи одговори" }, + { "Editing", "Уређивање" }, + { "Empty = plaintext to a private broker", "Празно = чист текст ка приватном брокеру" }, + { "Empty file", "Празна датотека" }, + { "Enable Bluetooth", "Укључи Bluetooth" }, + { "Enable MQTT bridge", "Омогући MQTT мост" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Омогућите само ако ваш репетитор поново поплављује само један регион. Иначе оставите искључено — може блокирати пријаву/ПП међу регионима." }, + { "Enable web access", "Укључи веб приступ" }, + { "Encryption key (optional)", "Кључ за шифровање (опционо)" }, + { "End time", "Време краја" }, + { "Enter SSID first", "Прво унесите SSID" }, + { "Enter a name", "Унесите име" }, + { "Enter a network name", "Унесите име мреже" }, + { "Enter adds a new line", "Enter додаје нови ред" }, + { "Enter exactly 32 hex characters.", "Унесите тачно 32 hex знака." }, + { "Enter key sends message", "Тастер Enter шаље поруку" }, + { "Enter sends messages", "Enter шаље поруке" }, + { "Enter the 32-hex secret shared by the channel creator.", "Унесите 32-hex тајну коју је поделио творац канала." }, + { "Entering remote mode - rebooting...", "Улазак у даљински режим - рестартовање..." }, + { "Erase all", "Обриши све" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Брише идентитет, контакте, канале, поруке, Wi-Fi и сва подешавања, па се рестартује." }, + { "Erasing everything…", "Брисање свега…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Сваки чвор мора да се поклапа. Касније у Подешавањима." }, + { "Expansion Kit", "Комплет за проширење" }, + { "Experimental", "Експериментално" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Експериментално - има познате проблеме. Искључено = софтверски курсор." }, + { "Experimental saved", "Експериментално сачувано" }, + { "Export failed (can't open file)", "Извоз није успео (датотека се не отвара)" }, + { "Export new backup", "Нова копија" }, + { "Export settings", "Извези подешавања" }, + { "Exporting settings…", "Извоз подешавања…" }, + { "External antenna selected", "Изабрана спољна антена" }, + { "Factory reset", "Фабричко ресет." }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Фабричко ресетовање?\n\nБрише идентитет, контакте, канале, поруке, Wi-Fi и сва подешавања. Неповратно." }, + { "Failed to save channel.", "Чување канала није успело." }, + { "Favorites full (max %d)", "Омиљени пуни (макс %d)" }, + { "Favorites unsupported", "Омиљени нису подржани" }, + { "Fetching the app list from firmware.wadamesh.com", "Преузимање листе апликација са firmware.wadamesh.com" }, + { "Files", "Фајлови" }, + { "Find", "Пронађи" }, + { "Finish", "Заврши" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Фирмвер beta_%d\nСервер ажурирања недоступан" }, + { "Firmware:", "Фирмвер:" }, + { "Flash on new message", "Блицај при новој поруци" }, + { "Flood", "Флуд" }, + { "Flood advert sent", "Flood advert послат" }, + { "Flood every", "Flood сваких" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: прослеђено кроз мрежу (мулти-хоп).\nZero-hop: само суседи (без прослеђивања)." }, + { "Folder created", "Фасцикла направљена" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "За Launcher инсталације: чува најновији фирмвер изабраног канала на SD картицу (BINS фолдер)." }, + { "Forget network", "Заборави мрежу" }, + { "Format", "Форматирај" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Форматирати SD као MESHCOMOD (FAT32)?\nСви подаци на картици биће обрисани." }, + { "Format failed (no card / SD error)", "Форматирање није успело (нема картице / SD грешка)" }, + { "Frequency / bandwidth", "Фреквенција / опсег" }, + { "Full", "Пуно" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Зујалица %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Зујалица %s\n%s" }, + { "GPS off", "GPS искљ" }, + { "GPS on", "GPS укљ" }, + { "GPS serial baud", "GPS серијски baud" }, + { "GPS unset", "GPS није постављен" }, + { "GPS: acquiring...", "GPS: тражим..." }, + { "GPS: fix", "GPS: фикс" }, + { "GPS: off", "GPS: искљ" }, + { "GPS: searching", "GPS: тражење" }, + { "Game over — score %d (tap to restart)", "Крај игре — резултат %d (додирните за рестарт)" }, + { "Get", "Преузми" }, + { "Get Started", "Започни" }, + { "Get test builds (beta)", "Преузми тест верзије (бета)" }, + { "Go", "Иди" }, + { "Green pressure Gray altitude", "Зелено притисак Сиво висина" }, + { "Hashtag name", "Назив хаштага" }, + { "Hidden - turn it back on in the Lua Store", "Сакривено - поново укључи у Lua Store-у" }, + { "Hidden network", "Скривена мрежа" }, + { "Hide", "Сакриј" }, + { "Hide device name", "Сакриј име уређаја" }, + { "Hide this app from the drawer?", "Сакрити ову апликацију из менија?" }, + { "High-gain receiver (FEM LNA)", "Пријемник високог појачања (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Изузетно експериментално. Ово прослеђује текст, име пошиљаоца и временску ознаку сваке поруке коју ваш чвор прими на MQTT брокер, где их може прочитати свако ко има приступ брокеру. Директне поруке су приватне, од других људи који никада нису пристали да буду дељени. Користите брокер који контролишете, поставите кључ за шифровање испод, и никада јавни брокер." }, + { "History limit off", "Ограничење историје искључено" }, + { "Hotkey saved", "Пречица сачувана" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Како ћете изгледати другим чворовима. У Подешавањима." }, + { "Humidity", "Влажност" }, + { "I accept the privacy risk", "Прихватам ризик по приватност" }, + { "Identity (public key)", "Идентитет (јавни кључ)" }, + { "Idle power-save", "Уштеда енергије у мировању" }, + { "Idle sleep disabled", "Спавање у мировању искључено" }, + { "Idle sleep enabled", "Спавање у мировању укључено" }, + { "Image too large (>4 MB)", "Слика превелика (>4 MB)" }, + { "Import", "Увези" }, + { "Import backup", "Увези резервну копију" }, + { "Import failed (bad/unreadable JSON)", "Увоз није успео (неисправан JSON)" }, + { "Import settings", "Увези подешавања" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Увези ову копију?\nЗамењује идентитет,\nканале и контакте,\nпа рестартује." }, + { "Import: storage unavailable", "Увоз: складиште недоступно" }, + { "Importing settings…", "Увоз подешавања…" }, + { "Inactive", "Неактивно" }, + { "Info", "Инфо" }, + { "Insert emoji / symbol", "Уметни емоџи / симбол" }, + { "Install", "Инсталирај" }, + { "Install a previous version", "Инсталирај претходну верзију" }, + { "Install an earlier version", "Инсталирај ранију верзију" }, + { "Install failed (network?)", "Инсталирање није успело (мрежа?)" }, + { "Install update", "Инсталирај ажурирање" }, + { "Installed", "Инсталиране" }, + { "Installing…", "Инсталирање…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Унутрашња (уграђена)\nСпољна (MMCX)\nАуто (старо, по предаји)" }, + { "Internal has no folders", "Интерна нема фасцикле" }, + { "Internal storage %s / %s", "Интерна меморија %s / %s" }, + { "Invalid lat/lon", "Неисправне коорд." }, + { "Invalid max hops", "Неисправни макс. скокови" }, + { "Invalid radio values", "Неисправне радио вредности" }, + { "Join", "Придружи се" }, + { "Join a hashtag channel", "Придружи се хаштаг каналу" }, + { "Join a private channel", "Придружи се приватном каналу" }, + { "Join hashtag channel", "Придружи се хаштаг каналу" }, + { "Join network", "Придружи се мрежи" }, + { "Join private channel", "Придружи се приватном каналу" }, + { "Join the public channel", "Придружи се јавном каналу" }, + { "Joined %.40s", "Придружено %.40s" }, + { "Keep per chat (messages)", "Чувај по ћаскању (порука)" }, + { "Key already in use", "Кључ је већ у употреби" }, + { "Keyboard", "Тастатура" }, + { "Keyboard backlight", "Осветљење тастатуре" }, + { "Keyboard light auto", "Осветљење тастатуре ауто" }, + { "Keyboard light off", "Осветљење тастатуре искљ." }, + { "Keyboard light on", "Осветљење тастатуре укљ." }, + { "Keyboard nav: WASDZ on", "Навиг. тастатуром: WASDZ укљ." }, + { "Keyboard nav: off", "Навиг. тастатуром: искљ." }, + { "Keyboard navigation", "Навигација тастатуром" }, + { "LOS → %s", "Оптичка видљивост → %s" }, + { "Landscape (desktop)", "Положено (десктоп)" }, + { "Landscape set - applies when remote mode starts.", "Положено подешено - важи кад крене даљински режим." }, + { "Language", "Језик" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Каталог језика није доступан - провери Wi-Fi па поново отвори картицу." }, + { "Language updated - restarting to apply it…", "Језик ажуриран - рестартовање ради примене…" }, + { "Languages", "Језици" }, + { "Latitude", "Географска ширина" }, + { "Leave empty if not required", "Оставите празно ако није потребно" }, + { "Leaving remote mode - rebooting...", "Излазак из даљинског режима - рестартовање..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Хајде да подесимо ваш уређај.\n\nИзабраћете име и ваш LoRa регион. Траје око минут." }, + { "Letters only", "Само слова" }, + { "LoRa antenna (P4)", "LoRa антена (P4)" }, + { "Loading catalog…", "Учитавање каталога…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Учитавање плочица мапе…\n\nОдржавајте Wi-Fi везу.\nПлочице се појављују како стижу." }, + { "Loading map…", "Учитавање мапе…" }, + { "Loading the language catalog…", "Учитавање каталога језика…" }, + { "Loading...", "Учитавање..." }, + { "Local every", "Локално сваких" }, + { "Local sensors", "Локални сензори" }, + { "Lock", "Закључај" }, + { "Lock screen", "Закључани екран" }, + { "Lock screen wallpaper", "Позадина закључаног екрана" }, + { "Lock text colour", "Боја текста закључавања" }, + { "Lock text colour set", "Боја текста закључавања постављена" }, + { "Lock wallpaper", "Позадина закључавања" }, + { "Lock wallpaper set", "Позадина закључавања постављена" }, + { "Lock when screen off", "Закључај кад је екран искључен" }, + { "Locking…", "Закључавање…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Закључава се кад се екран угаси\n(држи Backspace за откључавање)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Закључава се кад је екран искључен\n(држите d-pad да откључате)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Закључава се кад је екран искључен\n(држите трекбол да откључате)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Закључава се кад је екран искључен\n(притисните Јачина доле да откључате)" }, + { "Locks when screen off\n(press the button to unlock)", "Закључава се кад је екран искључен\n(притисните дугме да откључате)" }, + { "Log in again", "Пријави се поново" }, + { "Logging in again...", "Поновно пријављивање..." }, + { "Logging in…", "Пријава…" }, + { "Login OK (perms %u)", "Пријава OK (дозволе %u)" }, + { "Login failed", "Пријава није успела" }, + { "Logs", "Дневници" }, + { "Longitude", "Географска дужина" }, + { "Lua Store", "Lua продавница" }, + { "MHz", "MHz" }, + { "MQTT bridge", "MQTT мост" }, + { "Map", "Мапа" }, + { "Map options", "Опције мапе" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Грешка складишта мапе.\n\nSD картица откривена, али кеш\nплочица није монтиран.\nРестартујте за поновни покушај." }, + { "Map storage error.\nReflash the tiles partition.", "Грешка складишта мапе.\nПоново флешујте tiles партицију." }, + { "Map tiles: microSD", "Плочице: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Плочице мапе: microSD\n\n/maps/osm/z/x/y.png\n(или /tiles/z/x/y.jpg)\n\nМапа се појављује када се пронађе\nплочица за ову област." }, + { "Map tiles: server", "Плочице: сервер" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Мапа — још нема пакета плочица на SPIFFS.\n\nОтпремите пакет у /tiles///.jpg генератором на хосту." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Мапа — поставите локацију\nу Подешавања → Профил да\nприкажете мапу овде." }, + { "Mark all chats and channels as read?", "Означити сва ћаскања и канале као прочитане?" }, + { "Mark as read", "Означи као прочитано" }, + { "Mark read", "Означи прочитано" }, + { "Marked read", "Означено прочитаним" }, + { "Max hops (0..64)", "Макс. скокова (0..64)" }, + { "Max zoom for this pack", "Макс. зум за овај пакет" }, + { "Memory detail", "Детаљи меморије" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Здравље мреже: flood advert поново емитује сваки репетитор у домету, па чести flood-ови додају емисионо време целој мрежи. Држите их ретким (дан или више). Суседи вас и даље виде преко zero-hop адверта и ваших одговора, зато радите flood углавном када удаљени чворови треба поново да вас открију. Оставите оба искључена да се оглашавате само притиском на дугмад изнад." }, + { "Message", "Порука" }, + { "Message LED", "LED за поруке" }, + { "Message LED off", "LED за поруке искључен" }, + { "Message LED on", "LED за поруке укључен" }, + { "Message deleted", "Порука обрисана" }, + { "Message didn't get through.\nResend it?", "Порука није стигла.\nПослати поново?" }, + { "Message info", "Подаци о поруци" }, + { "Message sound", "Звук порука" }, + { "Min zoom for this pack", "Мин. зум за овај пакет" }, + { "Mode: BLE starting / low memory", "Режим: BLE стартује / мало меморије" }, + { "Model:", "Модел:" }, + { "Multi ACKs", "Више ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Мулти-ack %s · Понови %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Вишебајтно рутирање (хеш путање)" }, + { "Mute @", "Утишај @" }, + { "Mute msgs", "Утишај поруке" }, + { "Mute notification sound", "Утишај звук обавештења" }, + { "My position (no GPS fix)", "Моја позиција (нема GPS фиксације)" }, + { "Name", "Име" }, + { "Name can't be empty.", "Име не може бити празно." }, + { "Name fragment", "Део имена" }, + { "Name saved", "Име сачувано" }, + { "Navigation keys", "Тастери за навигацију" }, + { "Navigation keys — tap a row, then press a key", "Тастери за навигацију — додирните ред, па притисните тастер" }, + { "Nearby on map", "У близини на мапи" }, + { "Network name", "Назив мреже" }, + { "Network name (SSID)", "Назив мреже (SSID)" }, + { "New", "Ново" }, + { "New DM", "Нова ДП" }, + { "New channel msg", "Нова порука канала" }, + { "New contact", "Нови контакт" }, + { "New file", "Нова датотека" }, + { "New folder", "Нова фасцикла" }, + { "New game", "Нова игра" }, + { "New room msg", "Нова порука собе" }, + { "Next", "Даље" }, + { "Night mode (invert)", "Ноћни режим (инвертуј)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Нема .json резервних копија.\nИзвезите једну или копирајте\nmeshcore-backup.json на\nSD картицу или интерни флеш." }, + { "No @mentions yet", "Још нема @помена" }, + { "No Bluetooth on this device", "Нема Bluetooth на овом уређају" }, + { "No DM key", "Нема ДП кључа" }, + { "No GPS module on this device.", "Нема GPS модула на овом уређају." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Нема JPEG у /lock/.\nДодајте слике преко менаџера\nдатотека или SD картице." }, + { "No SD card", "Нема SD картице" }, + { "No SD card (or unreadable format)", "Нема SD картице (или нечитљив формат)" }, + { "No backups yet. Tap Export new backup above to create one.", "Још нема копија. Додирните «Нова копија» изнад да направите." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Још нема историје батерије.\n\nБележи се сваких 5 минута." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Нема блокираних корисника.\n\nДуго притисните поруку и додирните\nБлокирај да додате једног." }, + { "No contact for thread", "Нема контакта за разговор" }, + { "No contact to trace", "Нема контакта за праћење" }, + { "No contacts have shared\na GPS location yet.", "Још ниједан контакт није\nподелио GPS локацију." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Још нема откривених чворова.\n\nСве чуто у етру што није у контактима појавиће се овде. Када је аутоматско додавање искључено, чворове можете додати ручно." }, + { "No earlier versions yet", "Још нема ранијих верзија" }, + { "No local expansion data", "Нема локалних података о проширењу" }, + { "No location for this contact", "Нема локације за овај контакт" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Нема складишта мапе.\n\nУбаците SD картицу за кеш\nWi-Fi плочица (или флешујте за\ntiles партицију)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Овде нема плочица карте.\n\nПовежите се на Wi-Fi (Подешавања → Wi-Fi)\nда преузмете ову област." }, + { "No mapped repeaters in this route", "Нема мапираних репетитора на овој рути" }, + { "No networks found (2.4 GHz only)", "Нема мрежа (само 2.4 GHz)" }, + { "No onboard GPS", "Нема уграђеног GPS" }, + { "No other networks found", "Нема других мрежа" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Још нема позиције. Хладан старт тражи чист поглед на небо и може да потраје неколико минута." }, + { "No reply from %s", "Нема одговора од %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Нема одговора. Проверите лозинку, сервер\nили сат уређаја (уређај: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Овде нема сачуваних плочица.\n\nПовежите се на Wi-Fi (Подешавања → Wi-Fi)\nда преузмете ову област.\nСачуване плочице остају доступне ван мреже." }, + { "No system time yet", "Још нема системског времена" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Нема телеметрије у овом прозору.\nЗатражите је или проширите опсег испод." }, + { "No tiles (non-ESP32)", "Нема плочица (није ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Верзија још није позната. Прво су потребни Wi-Fi и завршена провера ажурирања." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Чвор\nРегион\nРадио\nСигнал\nКонтакти\nКанали\nБатерија\nВреме рада" }, + { "Node name", "Назив чвора" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Нормалан (100%)\nВелик (150%)\nОгроман (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Нема довољно меморије за Bluetooth. Прво искључите Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Нема довољно меморије за Wi-Fi. Прво искључите Bluetooth." }, + { "Nothing selected", "Ништа није изабрано" }, + { "Notification sound set", "Звук обавештења постављен" }, + { "Notify on new contact", "Обавести о новом контакту" }, + { "Off", "Искљ" }, + { "Off\n1\n2\n3\n5\n8", "Искљ\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Искљ\n1 дан\n2 дана\n3 дана\n7 дана" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Искљ\n60 мин\n90 мин\n2 сата\n3 сата\n4 сата" }, + { "Offline", "Ван мреже" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Старије поруке преко овога се бришу. Веома велика или неограничена историја успорава листу ћаскања." }, + { "On - open the address above in a phone browser.", "Укљ. - отвори горњу адресу у прегледачу телефона." }, + { "On boot", "При покретању" }, + { "On map", "На мапи" }, + { "Open Advertise app", "Отвори апликацију Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Отворите .wav, па додирните 'Постави као звук обавештења'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Отворите JPEG, па додирните 'Постави као позадину'" }, + { "Open chat", "Отвори ћаскање" }, + { "Open in a browser (same Wi-Fi):", "Отвори у прегледачу (иста Wi-Fi мрежа):" }, + { "Open in web", "Отвори на вебу" }, + { "Open mesh console", "Отвори mesh конзолу" }, + { "Optional — type your network, or leave blank to skip.", "Опционо — унесите мрежу или оставите празно." }, + { "Orange temp Cyan humidity", "Наранџаста темп. Цијан влага" }, + { "Orientation (tap to rotate, reboots)", "Оријентација (додирните за ротацију)" }, + { "Out of memory", "Нема меморије" }, + { "Overwrite oldest", "Препиши најстарији" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Пребрисати подешавања и идентитет SD картице\nунутрашњим копијама\nи затим рестартовати?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG овде није подржан\nКористите JPEG" }, + { "Pairing code", "Код за упаривање" }, + { "Pairing code saved — reboot to apply", "Код за упаривање сачуван — рестартујте да примените" }, + { "Pairing code: %06lu", "Код за упаривање: %06lu" }, + { "Pairing code: n/a", "Код за упаривање: н/д" }, + { "Password (empty = open)", "Лозинка (празно = отворена)" }, + { "Password (empty = skip Wi-Fi)", "Лозинка (празно = прескочи Wi-Fi)" }, + { "Password (optional)", "Лозинка (опционо)" }, + { "Password too long", "Лозинка предуга" }, + { "Paste", "Налепи" }, + { "Paste failed", "Лепљење није успело" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Налепите 64-hex јавни кључ и име. Корисно за ДП пре advert-а." }, + { "Pasted", "Налепљено" }, + { "Path hash: %u byte%s", "Хеш путање: %u бајт%s" }, + { "Path reset", "Путања ресетована" }, + { "Path reset failed", "Ресет путање није успео" }, + { "Paused — score %d", "Паузирано — резултат %d" }, + { "Per-transmit switching on", "Пребацивање по предаји укљ." }, + { "Pick colour", "Изабери боју" }, + { "Ping", "Пинг" }, + { "Ping failed", "Ping није успео" }, + { "Pinged (direct) — waiting…", "Ping (директно) — чекање…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — чекање…" }, + { "Play", "Пусти" }, + { "Poll (min)", "Провера (мин)" }, + { "Poll every", "Провери сваких" }, + { "Poll every %d min", "Провери сваких %d мин" }, + { "Port", "Порт" }, + { "Portrait set - applies when remote mode starts.", "Усправно подешено - важи кад крене даљински режим." }, + { "Position saved", "Позиција сачувана" }, + { "Power", "Напајање" }, + { "Power off", "Искључи" }, + { "Powering off… click trackball to wake", "Гашење… кликните куглицу за буђење" }, + { "Press a key…", "Притисните тастер…" }, + { "Probe now", "Измери сада" }, + { "Probing neighbours…", "Испитивање суседа…" }, + { "Profile", "Профил" }, + { "Pubkey must be 64 hex chars.", "Јавни кључ мора бити 64 hex." }, + { "Public channel ready", "Јавни канал спреман" }, + { "Public key (64 hex chars)", "Јавни кључ (64 hex)" }, + { "Public key:", "Јавни кључ:" }, + { "Publish channel messages", "Објави поруке канала" }, + { "Publish direct messages", "Објави директне поруке" }, + { "Purge", "Обриши" }, + { "Purge all discovered nodes?", "Обрисати све откривене чворове?" }, + { "Quick replies", "Брзи одговори" }, + { "Quick reply", "Брз одговор" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d уноса · Raw %d уноса" }, + { "RX boosted gain", "Појачан RX" }, + { "RX log", "RX дневник" }, + { "Radio & Mesh", "Радио и меш" }, + { "Radio + region set", "Радио + регион постављени" }, + { "Radio applied", "Радио примењен" }, + { "Radio off", "Радио искључен" }, + { "Radio: off", "Радио: искључен" }, + { "Range test", "Тест домета" }, + { "RangeTest failed", "RangeTest није успео" }, + { "RangeTest sent (direct)", "RangeTest послат (директно)" }, + { "RangeTest sent (flood)", "RangeTest послат (flood)" }, + { "Raw log", "Сирови дневник" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Чита пакете у позадинском задатку да их заузет екран не изгуби." }, + { "Reboot", "Рестартуј" }, + { "Reboot device", "Рестартуј уређај" }, + { "Rebooting...", "Рестартовање..." }, + { "Rebooting…", "Рестартовање…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Прими необјављени тест firmware — новије функције, али мање тестиране. Провера и инсталација прате бета канал." }, + { "Recently heard", "Недавно чути" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Форматирати SD као MESHCOMOD (FAT32)?\nСВИ подаци на картици биће обрисани." }, + { "Region & scope", "Регион и опсег" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Опсег региона (#tag) за овај канал.\nПразно = подразумевани опсег." }, + { "Region scope (#tag), blank = default.", "Опсег региона (#tag), празно = подразумевано." }, + { "Region scope (#tag, blank = none)", "Опсег региона (#tag, празно = ниједан)" }, + { "Remember password", "Запамти лозинку" }, + { "Remote UI", "Даљински интерфејс" }, + { "Remote UI (on)", "Даљински интерфејс (укљ.)" }, + { "Remote access", "Даљински приступ" }, + { "Remote terminal", "Даљински терминал" }, + { "Remote terminal (recommended)", "Даљински терминал (препоручено)" }, + { "Remote terminal off", "Даљински терминал искљ." }, + { "Remove", "Уклони" }, + { "Remove %s?", "Уклонити %s?" }, + { "Remove channel", "Уклони канал" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Уклонити канал \"%s\"?\nСамо са овог уређаја." }, + { "Removed", "Уклоњено" }, + { "Removed from favorites", "Уклоњено из омиљених" }, + { "Rename", "Преименуј" }, + { "Rename failed", "Преименовање није успело" }, + { "Renamed", "Преименовано" }, + { "Replay", "Понови" }, + { "Replay route on map", "Понови руту на мапи" }, + { "Replaying route…", "Понављање руте…" }, + { "Resend", "Пошаљи поново" }, + { "Resend failed", "Поновно слање није успело" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Понавља слање поруке док је репетитор не понови или прималац не потврди. Искључи за само једно слање." }, + { "Reset", "Ресетуј" }, + { "Reset path", "Ресетуј путању" }, + { "Restarting to apply the language…", "Рестартовање ради примене језика…" }, + { "Retry sends until heard", "Понављај слање док се не чује" }, + { "Reverse scrollball", "Обрни scrollball" }, + { "Roll to highlight • click to insert", "Котрљајте за истицање • кликните за уметање" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Соба је само за читање за вас.\nПридружите се лозинком собе да објавите." }, + { "Rotating - reconnecting...", "Ротација - поновно повезивање..." }, + { "Rotating… rebooting", "Ротација… рестарт" }, + { "Run setup again", "Поново покрени подешавање" }, + { "SD card %s", "SD картица %s" }, + { "SD card %s (hold: format)", "SD картица %s (држи: формат)" }, + { "SD card (tap to mount)", "SD картица (додирни за монтирање)" }, + { "SD card inserted", "SD картица убачена" }, + { "SD card lost - reinsert to recover", "SD картица изгубљена - убаците поново" }, + { "SD card remounted", "SD картица поново монтирана" }, + { "SD card removed", "SD картица уклоњена" }, + { "SD download failed: %s", "Преузимање на SD није успело: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD форматирана - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB заузето" }, + { "SSID set — enter password, then Save", "SSID постављен — унесите лозинку, па Сачувај" }, + { "SSID too long", "SSID предуг" }, + { "Sample text", "Пример текста" }, + { "Save", "Сачувај" }, + { "Save & restart", "Сачувај и рестартуј" }, + { "Save / turn on", "Сачувај / укључи" }, + { "Save auto-add", "Сачувај аутододавање" }, + { "Save experimental", "Сачувај експериментално" }, + { "Save failed", "Чување није успело" }, + { "Save name", "Сачувај име" }, + { "Save policy", "Сачувај правило" }, + { "Save position", "Сачувај позицију" }, + { "Save quick replies", "Сачувај брзе одговоре" }, + { "Save report", "Сачувај извештај" }, + { "Save update bin to SD", "Сачувај ажурирање на SD" }, + { "Saved", "Сачувано" }, + { "Saved backups", "Сачуване копије" }, + { "Saved network", "Сачувана мрежа" }, + { "Saved profiles", "Сачувани профили" }, + { "Saved to slot %d", "Сачувано у слот %d" }, + { "Saved — rebooting", "Сачувано — рестарт" }, + { "Saved — reconnecting…", "Сачувано — поновно повезивање…" }, + { "Saved: %s\nFlash it from the Launcher.", "Сачувано: %s\nФлешујте га из Launcher-а." }, + { "Saving to SD… %d%%", "Чување на SD… %d%%" }, + { "Saving to SD… 0%", "Чување на SD… 0%" }, + { "Scan to open on phone", "Скенирај да отвориш на телефону" }, + { "Scanning…", "Скенирање…" }, + { "Scope direct msgs to region", "Ограничи директне поруке на регион" }, + { "Screen locked", "Екран закључан" }, + { "Screen timeout (s, 0 = never)", "Истек екрана (с, 0 = никад)" }, + { "Screen timeout (s, 0 = never, min 10)", "Истек екрана (с, 0 = никад, мин 10)" }, + { "Screen timeout: %ds", "Истек екрана: %ds" }, + { "Screen timeout: never", "Истек екрана: никад" }, + { "Screen-off just dims", "Гашење екрана само затамни" }, + { "Screenshot needs an SD card", "Снимак екрана захтева SD картицу" }, + { "Screenshot: low memory", "Снимак екрана: мало меморије" }, + { "Screenshot: no SD card", "Снимак екрана: нема SD картице" }, + { "Screenshot: write failed", "Снимак екрана: упис није успео" }, + { "Scrollball: normal", "Scrollball: нормалан" }, + { "Scrollball: reversed", "Scrollball: обрнут" }, + { "Search", "Претрага" }, + { "Search contacts", "Претрага контаката" }, + { "Secondary keyboards", "Секундарне тастатуре" }, + { "Secret (32 hex chars)", "Тајна (32 hex)" }, + { "Secret (32 hex, optional)", "Тајна (32 hex, опционо)" }, + { "Secret must be 32 hex chars (or empty).", "Тајна мора бити 32 hex (или празно)." }, + { "Select a DM thread", "Изаберите ДП разговор" }, + { "Select all", "Изабери све" }, + { "Select network", "Изабери мрежу" }, + { "Send advert", "Пошаљи advert" }, + { "Send advert now", "Пошаљи advert" }, + { "Send an advert now, or set how often you re-advertise.", "Пошаљите advert сада или подесите колико често га понављате." }, + { "Send failed", "Слање није успело" }, + { "Sender blocked", "Пошиљалац блокиран" }, + { "Sensors tab: off (restart to apply)", "Картица сензора: искључено (рестарт за примену)" }, + { "Sensors tab: on (restart to apply)", "Картица сензора: укључено (рестарт за примену)" }, + { "Sent", "Послато" }, + { "Set", "Постави" }, + { "Set an SSID first", "Прво поставите SSID" }, + { "Set as notification sound", "Постави као звук обавештења" }, + { "Set as wallpaper", "Постави као позадину" }, + { "Set your location first", "Прво поставите локацију" }, + { "Settings", "Подешавања" }, + { "Setup complete", "Подешавање завршено" }, + { "Share QR", "Подели QR" }, + { "Share channel", "Подели канал" }, + { "Share location in advert", "Дели локацију у advert-у" }, + { "Share secret", "Подели тајну" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Поделите тајну од 32 знака да се други придруже. Празно = насумична." }, + { "Share: %s", "Подели: %s" }, + { "Show", "Прикажи" }, + { "Show Sensors tab", "Прикажи картицу сензора" }, + { "Show in the app drawer", "Прикажи у менију апликација" }, + { "Show link lines", "Прикажи линије веза" }, + { "Show menu-bar letters", "Прикажи слова у менију" }, + { "Show on chart", "Прикажи на графикону" }, + { "Show on map", "Прикажи на мапи" }, + { "Sightline", "Оптичка видљивост" }, + { "Signal & traffic", "Сигнал и саобраћај" }, + { "Signal probe", "Мерење сигнала" }, + { "Skip", "Прескочи" }, + { "Sleep ready", "Спреман за спавање" }, + { "Slot %d cleared", "Слот %d обрисан" }, + { "Slot empty", "Слот празан" }, + { "Small\nMedium\nLarge", "Мали\nСредњи\nВелики" }, + { "Snake — swipe or roll the trackball", "Snake — превуци или заврти трекбол" }, + { "Sort", "Сортирај" }, + { "Sound", "Звук" }, + { "Sound off", "Звук искљ" }, + { "Sound on", "Звук укљ" }, + { "Sound: %s", "Звук: %s" }, + { "Start time", "Време почетка" }, + { "Status", "Статус" }, + { "Step 1 of 3", "Корак 1 од 3" }, + { "Step 2 of 3", "Корак 2 од 3" }, + { "Step 3 of 3", "Корак 3 од 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Још се анализира претходна\nпутања… покушајте ускоро." }, + { "Stop", "Заустави" }, + { "Storage", "Складиште" }, + { "Store data on SD (reboot)", "Чувај податке на SD (рестарт)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Преноси екран као живу слику коју додиром контролишеш. Теже; панел приказује чувар места. Пребацивање рестартује уређај." }, + { "Switch", "Пребаци" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Пребацити на спољну антену?\n\nПрво провери да ли је антена стварно прикључена на спољни прикључак. Предаја без антене може оштетити радио.\n\nПри сваком рестарту враћа се на уграђену." }, + { "Sync clock from system", "Синхронизуј сат" }, + { "System", "Систем" }, + { "System info", "Информације о систему" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nWS клијенти %d GPS %s Зујалица %s" }, + { "TCP off", "TCP искљ" }, + { "TCP on", "TCP укљ" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Пречице картице — додирни ред, па притисни тастер" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Додирни «Користи» за промену - уређај се поново покреће. Датотеке језика су у /lang на меморији; уреди их или додај своје." }, + { "Tap a language; the device reboots to apply.", "Изаберите језик; уређај ће се рестартовати." }, + { "Taste the rainbow!", "Окуси дугу!" }, + { "Telemetry", "Телеметрија" }, + { "Telemetry req (direct)…", "Захтев телеметрије (директно)…" }, + { "Telemetry req (flood)…", "Захтев телеметрије (flood)…" }, + { "Telemetry req failed", "Захтев за телеметрију није успео" }, + { "Telemetry requests allowed", "Захтеви телеметрије дозвољени" }, + { "Telemetry requests off", "Захтеви телеметрије искључени" }, + { "Telemetry req…", "Захтеви теле…" }, + { "Telemetry settings", "Подешавања телеметрије" }, + { "Temperature", "Температура" }, + { "Test builds: off", "Тест верзије: искључено" }, + { "Test builds: on", "Тест верзије: укључено" }, + { "Theme", "Тема" }, + { "Theme colour", "Боја теме" }, + { "Then pick a mode:", "Затим изабери режим:" }, + { "This contact hasn't shared\na GPS position.", "Овај контакт није поделио\nGPS позицију." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Овај уређај може користити Wi-Fi и Bluetooth истовремено — као самостални радио и телефонски пратилац (MeshCore апликација).\n\nОба заједно троше више RAM-а, зато укључи само оно што ти треба.\n\nПодеси их било кад у Подешавањима." }, + { "Throttles the CPU when idle to save power", "Успорава процесор у мировању ради уштеде енергије" }, + { "Tile reload needs Wi-Fi build", "Поновно учитавање захтева Wi-Fi билд" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Плочице обрисане — поново повежи Wi-Fi за преузимање" }, + { "Tiles from SD card", "Плочице са SD картице" }, + { "Time %s", "Време %s" }, + { "Time offset (vs automatic)", "Помак времена (у односу на ауто)" }, + { "Time offset: %+d h", "Помак времена: %+d h" }, + { "Time range (hours ago)", "Временски опсег (сати уназад)" }, + { "Time zone", "Временска зона" }, + { "Time zone: %s", "Временска зона: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Савет: мреже можете скенирати у Подешавања → Мрежа након подешавања." }, + { "Today", "Данас" }, + { "Toggle GPS", "Укључи/искључи GPS" }, + { "Too large to edit (>8 KB)", "Превелико за уређивање (>8 KB)" }, + { "Topographic map", "Топографска мапа" }, + { "Trace", "Праћење" }, + { "Trace SNR", "Прати SNR" }, + { "Trace failed", "Праћење није успело" }, + { "Trace route", "Прати руту" }, + { "Trace sent…", "Праћење послато…" }, + { "Tracing route…", "Праћење руте…" }, + { "Trackball navigates UI", "Трекбол управља UI" }, + { "Trackball: cursor", "Трекбол: курсор" }, + { "Trackball: navigate UI", "Трекбол: управљај UI" }, + { "Turn Wi-Fi on first", "Прво укључи Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Укључи Wi-Fi па освежи. Инсталиране апликације и даље раде." }, + { "Turn off", "Искључи" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Укључити старо пребацивање по предаји?\n\nДијагностички режим, само за поређење. Шаље на уграђеној антени а слуша на спољној, па ће одлазни сигнал бити много слабији од долазног.\n\nПри сваком рестарту враћа се на уграђену." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Искључити ограничење историје?\n\nПрометан канал тада може да напуни цело складиште порука - више простора и приметно спорија листа и апликација. Уради то само ако ти заиста треба цела историја." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Укључи ово па отвори доњу адресу у било ком прегледачу на истој Wi-Fi мрежи - апликација није потребна. Екран уређаја се појављује уживо и можеш га контролисати додиром." }, + { "Type a URL, then Go", "Укуцај URL па притисни «Иди»" }, + { "Type a message...", "Унесите поруку..." }, + { "Type a new 6-digit code · applies after a reboot", "Унеси нови 6-цифрени код · важи после рестарта" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Унесите назив мреже — или пређите на Wi-Fi у Подешавањима за скенирање" }, + { "UI size (restart to apply)", "Величина UI (рестарт за примену)" }, + { "UI size saved — restart to apply", "Величина UI сачувана — рестарт за примену" }, + { "USB powered", "Напајање преко USB" }, + { "Unblock", "Одблокирај" }, + { "Unblocked", "Одблокиран" }, + { "Unfavorite it first", "Прво уклони из омиљених" }, + { "Unlocking…", "Откључавање…" }, + { "Unmute @", "Укључи @" }, + { "Unmute msgs", "Укључи поруке" }, + { "Unread %d", "Непроч. %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Непроч. %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Неподржан WAV (потребан 16-битни PCM)" }, + { "Update", "Ажурирај" }, + { "Update bin saved to SD", "Датотека ажурирања сачувана на SD" }, + { "Update complete.\nRebooting...", "Ажурирање завршено.\nПоновно покретање..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Ажурирајте ручно на flasher.wadamesh.com\n(Wi-Fi ажурирање је за сада паузирано)" }, + { "Update via the Launcher", "Ажурирај преко Launcher-а" }, + { "Update via the Launcher / flasher.wadamesh.com", "Ажурирај преко Launcher-а / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Ажурирај преко Launcher-а / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Ажурирано - рестартовање…" }, + { "Use", "Користи" }, + { "Username (optional)", "Корисничко име (опционо)" }, + { "Volume", "Јачина звука" }, + { "W up · A left · D right · Z down · S select · Q back", "W горе · A лево · D десно · Z доле · S избор · Q назад" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Чекање Wi-Fi..." }, + { "Welcome to WADAMESH", "Добро дошли у WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Док је ово укључено, свако на твом Wi-Fi-ју може да види и контролише уређај. Користи обичан HTTP (само локална мрежа)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi и Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi није омогућен у овом билду." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi није доступан на овом билду." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Потребан Wi-Fi за профил\nтерена ове путање.\nПовежите у Подешавања → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi није повезан" }, + { "Wi-Fi off", "Wi-Fi искљ" }, + { "Wi-Fi on", "Wi-Fi укљ" }, + { "Wi-Fi on, scanning…", "Wi-Fi укључен, тражим…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi сачуван (радио искљ)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi сачуван, поновно повезивање" }, + { "Yesterday", "Јуче" }, + { "You can run setup later in Settings → Device", "Подешавање можете покренути касније у Подешавања → Уређај" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Локација је непозната.\nПрво поставите GPS / позицију у\nПодешавања → Профил." }, + { "Your name", "Ваше име" }, + { "Your own apps", "Твоје апликације" }, + { "Zero-hop", "Без скока" }, + { "Zero-hop advert sent", "Zero-hop advert послат" }, + { "Zoom: +/- buttons", "Зум: тастери +/-" }, + { "client connected", "клијент повезан" }, + { "command", "команда" }, + { "contacts (%d):", "контакти (%d):" }, + { "diag boot...", "диаг. покретање..." }, + { "double-tap SPACE cycles through the ones you enable", "двоструки додир РАЗМАК пролази кроз омогућене" }, + { "drive the UI without the screen; keys still type in text fields", "управљај UI без екрана; тастери и даље куцају у пољима" }, + { "e.g. Family", "нпр. Породица" }, + { "e.g. mesh", "нпр. mesh" }, + { "from", "од" }, + { "h to", "ч до" }, + { "hold Backspace to unlock", "држи Backspace за откључавање" }, + { "hold the d-pad to unlock", "држи d-pad за откључавање" }, + { "hold the trackball to unlock", "држите куглицу да откључате" }, + { "kHz", "kHz" }, + { "keep holding", "држите" }, + { "last wake: ", "последње буђење: " }, + { "leave empty to generate", "оставите празно за генерисање" }, + { "lights the keyboard + wakes the screen on an incoming message", "осветљава тастатуру + буди екран при долазној поруци" }, + { "mesh link armed", "меш веза спремна" }, + { "mesh busy", "мрежа заузета" }, + { "min (0=off)", "мин (0=искљ)" }, + { "mkdir failed", "Прављење фасцикле није успело" }, + { "n/a in this build", "н/д у овом билду" }, + { "now on channel %s", "сада на каналу %s" }, + { "now talking to %s", "сада причате са %s" }, + { "off", "искључен" }, + { "off = Enter adds a new line; tap Send to send", "искључено = Enter додаје нови ред; додирни Пошаљи" }, + { "on", "укључен" }, + { "peak --", "врх --" }, + { "pick accented letters as you type; off = plain typing", "бирање слова са акцентима док куцате; искљ = обично куцање" }, + { "press Volume Down to unlock", "притисни Смањи звук за откључавање" }, + { "push past a screen edge to scroll content", "гурни преко ивице екрана за померање" }, + { "score %d", "резултат %d" }, + { "search", "претрага" }, + { "tap for details", "додирни за детаље" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "додирните тастер језика (нпр. EN) на тастатури да пролазите кроз омогућене" }, + { "tap to cancel", "додирните за отказ" }, + { "tap to exit full screen", "додирните за излаз из целог екрана" }, + { "zoom", "зум" }, + { "zoom %d", "зум %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "појачало ~17 dB за тиха/удаљена места; искључи у бучним." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_el[] = { + { " (device behind)", " (συσκευή πίσω)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d σημεία κάλυψης · %lu στην SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: αναμονή στίγματος GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d στον χάρτη" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d κοντά (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u τύποι · άλματα %u · χειροκίνητα %s" }, + { "(RTC unset)", "(RTC μη ορισμένο)" }, + { "(device behind)", "(συσκευή πίσω)" }, + { "(no default)", "(χωρίς προεπιλογή)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 byte (παλαιό)\n2 bytes\n3 bytes" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nΧωρίς όριο" }, + { "12-hour clock", "Ρολόι 12 ωρών" }, + { "32 hex characters", "32 hex χαρακτήρες" }, + { "32-hex secret. Anyone with this can read the channel.", "Μυστικό 32 hex. Όποιος το έχει διαβάζει το κανάλι." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Αναφορές" }, + { "@ mention sound", "Ήχος αναφορών @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ΑΥΤΟΜΑΤΑ ADVERTS" }, + { "About", "Σχετικά" }, + { "About the map", "Σχετικά με τον χάρτη" }, + { "Accent popups", "Αναδυόμενα τόνων" }, + { "Accent popups: off", "Αναδυόμενα τόνων: όχι" }, + { "Accent popups: on", "Αναδυόμενα τόνων: ναι" }, + { "Ack", "Ack" }, + { "Active", "Ενεργό" }, + { "Add", "Προσθήκη" }, + { "Add channel", "Προσθήκη καναλιού" }, + { "Add contact", "Προσθήκη επαφής" }, + { "Added", "Προστέθηκε" }, + { "Added to contacts", "Προστέθηκε στις επαφές" }, + { "Added to favorites", "Προστέθηκε στα αγαπημένα" }, + { "Admin", "Διαχείριση" }, + { "Advert", "Advert" }, + { "Advert failed", "Αποτυχία advert" }, + { "Advert location", "Τοποθεσία advert" }, + { "Advert policy saved", "Η πολιτική advert αποθηκεύτηκε" }, + { "Advert sent", "Στάλθηκε advert" }, + { "All marked read", "Όλα ως αναγνωσμένα" }, + { "Already exists", "Υπάρχει ήδη" }, + { "Already exists or table full.", "Υπάρχει ήδη ή ο πίνακας είναι πλήρης." }, + { "Already in contacts", "Ήδη στις επαφές" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Μετά από επανεκκίνηση ξεκινά πάντα με την ενσωματωμένη κεραία. Επιλέξτε Εξωτερική μόνο με κεραία στην υποδοχή." }, + { "Analyzing terrain…", "Ανάλυση εδάφους…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Ανάλυση εδάφους…\n(προσπάθεια %d από 3)" }, + { "Answer telemetry requests", "Απάντηση σε αιτήματα τηλεμετρίας" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Όλοι μπορούν να συμμετάσχουν. Κλειδί από το hashtag (πεζά)." }, + { "App drawer as home", "Συρτάρι εφαρμογών ως αρχική" }, + { "App icon size", "Μέγεθος εικονιδίων εφαρμογών" }, + { "Applies after restart.", "Ισχύει μετά την επανεκκίνηση." }, + { "Apply", "Εφαρμογή" }, + { "Apply auto-poll", "Εφαρμογή auto-poll" }, + { "Apply radio params", "Εφαρμογή παραμέτρων ράδιο" }, + { "Apps", "Εφαρμογές" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Βέλη + Enter λειτουργούν πάντα. Τα γράμματα είναι έξτρα — αγγίξτε μια γραμμή και πατήστε ένα πλήκτρο." }, + { "Auto advert", "Αυτόματη ανακοίνωση" }, + { "Auto chat", "Αυτόματη συνομιλία" }, + { "Auto repeater", "Αυτόματος αναμεταδότης" }, + { "Auto room", "Αυτόματο δωμάτιο" }, + { "Auto sensor", "Αυτόματος αισθητήρας" }, + { "Auto-Join", "Αυτόματη συμμετοχή" }, + { "Auto-add contacts", "Αυτόματη προσθήκη επαφών" }, + { "Auto-add saved", "Η αυτόματη προσθήκη αποθηκεύτηκε" }, + { "Auto-add settings", "Ρυθμίσεις αυτόματης προσθήκης" }, + { "Auto-delete above hops", "Αυτ. διαγραφή πάνω από άλματα" }, + { "Auto-delete oldest", "Αυτ. διαγραφή παλαιότερων" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Η αυτ. διαγραφή παλαιότερων ελευθερώνει χώρο όταν γεμίσει. Άλματα: 0 = όλα· κόμβοι που ακούγονται με περισσότερα άλματα αφαιρούνται." }, + { "Auto-discover", "Αυτόματη ανακάλυψη" }, + { "Auto-discover off", "Αυτ. ανακάλυψη ανενεργή" }, + { "Auto-discover on", "Αυτ. ανακάλυψη ενεργή" }, + { "Auto-poll every", "Auto-poll κάθε" }, + { "Auto-refresh off", "Αυτ. ανανέωση ανενεργή" }, + { "Auto-refresh on", "Αυτ. ανανέωση ενεργή" }, + { "Available", "Διαθέσιμες" }, + { "BLE off", "BLE όχι" }, + { "BLE on", "BLE ναι" }, + { "BT", "BT" }, + { "Back", "Πίσω" }, + { "Backups", "Αντίγραφα" }, + { "Battery", "Μπαταρία" }, + { "Battery & power history", "Ιστορικό μπαταρίας & τροφοδοσίας" }, + { "Battery (V)", "Μπαταρία (V)" }, + { "Battery calibration reset to default", "Επαναφορά βαθμονόμησης μπαταρίας" }, + { "Battery read too low — charge fully first", "Πολύ χαμηλή μέτρηση — φορτίστε πρώτα" }, + { "Battery saver (experimental)", "Εξοικονόμηση μπαταρίας (πειραματικό)" }, + { "Battery — last 24h", "Μπαταρία — τελευταίο 24ωρο" }, + { "Battery:", "Μπαταρία:" }, + { "Block", "Αποκλεισμός" }, + { "Block list full", "Λίστα αποκλεισμού πλήρης" }, + { "Blocked list", "Λίστα αποκλεισμένων" }, + { "Blocked users", "Αποκλεισμένοι χρήστες" }, + { "Blocked — their messages are hidden", "Αποκλεισμένος — τα μηνύματα κρύβονται" }, + { "Blocking unsupported", "Ο αποκλεισμός δεν υποστηρίζεται" }, + { "Blue battery Last 6 min", "Μπλε μπαταρία Τελευταία 6 λεπ." }, + { "Blue battery Orange temp Cyan humidity", "Μπλε μπαταρία Πορτοκαλί θερμ. Κυανό υγρασία" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Το Bluetooth είναι ήδη ανενεργό" }, + { "Bluetooth already on", "Το Bluetooth είναι ήδη ενεργό" }, + { "Bluetooth off", "Bluetooth όχι" }, + { "Bluetooth on", "Bluetooth ναι" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Η σύζευξη Bluetooth δεν είναι διαθέσιμη σε αυτή τη συσκευή.\n\nΤο εργοστασιακό firmware του chip δεν την υποστηρίζει.\n\nΣυζεύξτε την εφαρμογή μέσω Wi-Fi: συνδέστε τη συσκευή στο δίκτυο και προσθέστε την στην εφαρμογή με τη διεύθυνση IP (TCP, θύρα 5000) — φαίνεται στις Ρυθμίσεις > Δίκτυο. Λειτουργεί και το USB." }, + { "Broker host / IP", "Host / IP του broker" }, + { "Buffered receive (experimental)", "Λήψη με buffer (πειραματικό)" }, + { "Built-in", "Ενσωματωμένο" }, + { "Built-in (default)", "Ενσωματωμένο (προεπιλογή)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Βαθμονόμηση μπαταρίας (πλήρης = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Βαθμονομήθηκε: 100%% = %u.%02u V (παρατεταμένο για επαναφορά)" }, + { "Can't block — not a contact", "Αδυναμία αποκλεισμού — δεν είναι επαφή" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Αδυναμία εμφάνισης εικόνας\n(μόνο JPEG, <= 1024 px)" }, + { "Cancel", "Άκυρο" }, + { "Cancelled", "Ακυρώθηκε" }, + { "Cannot open file", "Αδυναμία ανοίγματος αρχείου" }, + { "Catalog unavailable", "Ο κατάλογος δεν είναι διαθέσιμος" }, + { "Centered on %s", "Κεντραρισμένο σε %s" }, + { "Changing orientation - rebooting...", "Αλλαγή προσανατολισμού - επανεκκίνηση..." }, + { "Channel created", "Το κανάλι δημιουργήθηκε" }, + { "Channel joined", "Συμμετοχή στο κανάλι" }, + { "Channel name", "Όνομα καναλιού" }, + { "Channel not found", "Το κανάλι δεν βρέθηκε" }, + { "Channel removed", "Το κανάλι αφαιρέθηκε" }, + { "Channel scope saved", "Το εύρος καναλιού αποθηκεύτηκε" }, + { "Channel settings", "Ρυθμίσεις καναλιού" }, + { "Channel table is full", "Ο πίνακας καναλιών είναι πλήρης" }, + { "Channel table is full.", "Ο πίνακας καναλιών είναι γεμάτος." }, + { "Channel-specific regions can be set in each channel's settings.", "Οι περιοχές ανά κανάλι ορίζονται στις ρυθμίσεις κάθε καναλιού." }, + { "Channels:", "Κανάλια:" }, + { "Chat bubbles", "Φυσαλίδες συνομιλίας" }, + { "Chat bubbles: plain", "Φούσκες: απλές" }, + { "Chat history is NOT saving", "Το ιστορικό συνομιλίας ΔΕΝ αποθηκεύεται" }, + { "Chat history save FAILED", "Η αποθήκευση του ιστορικού ΑΠΕΤΥΧΕ" }, + { "Chat icon", "Εικονίδιο συνομιλίας" }, + { "Chat icon reset to letters", "Εικονίδιο συνομιλίας ξανά σε γράμματα" }, + { "Chat icon set", "Ορίστηκε εικονίδιο συνομιλίας" }, + { "Chat removed", "Η συνομιλία αφαιρέθηκε" }, + { "Chat save fallback (failed tries)", "Εφεδρική αποθήκευση συνομιλίας (αποτυχίες)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Συνομιλίες, επαφές, ρυθμίσεις και τερματικό mesh - όλα στον browser. Χωρίς επανεκκίνηση· η συσκευή κρατά την οθόνη της." }, + { "Choose .wav from files", "Επιλογή .wav από αρχεία" }, + { "Choose your name", "Επιλέξτε το όνομά σας" }, + { "Choose your region", "Επιλέξτε την περιοχή σας" }, + { "Clear", "Εκκαθάριση" }, + { "Clear battery history?", "Διαγραφή ιστορικού μπαταρίας;" }, + { "Clear history", "Εκκαθάριση ιστορικού" }, + { "Clear telemetry history for this node?", "Διαγραφή ιστορικού τηλεμετρίας του κόμβου;" }, + { "Client repeat", "Επανάληψη πελάτη" }, + { "Clock synced", "Το ρολόι συγχρονίστηκε" }, + { "Clock: 12-hour", "Ρολόι: 12ωρο" }, + { "Clock: 24-hour", "Ρολόι: 24ωρο" }, + { "Close", "Κλείσιμο" }, + { "Colourful chat bubbles", "Χρωματιστές φούσκες" }, + { "Commands", "Εντολές" }, + { "Community Preset", "Προεπιλογή κοινότητας" }, + { "Community preset (meshcomod web)", "Προεπιλογή κοινότητας (meshcomod web)" }, + { "Compact messages", "Συμπαγή μηνύματα" }, + { "Compact messages (IRC style)", "Συμπαγή μηνύματα (στυλ IRC)" }, + { "Connect", "Σύνδεση" }, + { "Connect Wi-Fi to reload tiles", "Συνδέστε Wi-Fi για επαναφόρτωση πλακιδίων" }, + { "Connect to Wi-Fi", "Σύνδεση σε Wi-Fi" }, + { "Connect to Wi-Fi first", "Συνδεθείτε πρώτα στο Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Συνδεθείτε πρώτα στο Wi-Fi και δοκιμάστε ξανά." }, + { "Connect to Wi-Fi to get a browser address.", "Συνδεθείτε στο Wi-Fi για διεύθυνση προγράμματος περιήγησης." }, + { "Connected", "Συνδεδεμένο" }, + { "Connected - a browser is viewing this screen.", "Συνδέθηκε - ένα πρόγραμμα περιήγησης βλέπει την οθόνη." }, + { "Connecting...", "Σύνδεση..." }, + { "Connecting…", "Σύνδεση…" }, + { "Console not available on this build", "Η κονσόλα δεν είναι διαθέσιμη σε αυτό το build" }, + { "Contact added", "Η επαφή προστέθηκε" }, + { "Contact deleted", "Η επαφή διαγράφηκε" }, + { "Contact gone", "Η επαφή χάθηκε" }, + { "Contact missing", "Η επαφή λείπει" }, + { "Contacts", "Επαφές" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Οι επαφές είναι στην εσωτερική μνήμη - η κάρτα SD δεν προσαρτήθηκε στην εκκίνηση. Επανατοποθετήστε την και επανεκκινήστε." }, + { "Contacts are on internal flash.", "Οι επαφές είναι στην εσωτερική μνήμη." }, + { "Contacts are saved to the SD card.", "Οι επαφές αποθηκεύονται στην κάρτα SD." }, + { "Contacts full", "Οι επαφές είναι πλήρεις" }, + { "Contacts:", "Επαφές:" }, + { "Control", "Έλεγχος" }, + { "Control this device from a browser", "Ελέγξτε τη συσκευή από πρόγραμμα περιήγησης" }, + { "Copied %s", "Αντιγράφηκε %s" }, + { "Copied - Paste in a folder", "Αντιγράφηκε - επικολλήστε σε φάκελο" }, + { "Copy", "Αντιγραφή" }, + { "Copy failed (no internal identity)", "Αποτυχία αντιγραφής (χωρίς εσωτερική ταυτότητα)" }, + { "Copy internal data to SD", "Αντιγραφή δεδομένων στην SD" }, + { "Copy secret", "Αντιγραφή μυστικού" }, + { "Copying internal data to SD...", "Αντιγραφή εσωτερικών δεδομένων στην SD..." }, + { "Could not add", "Αδύνατη η προσθήκη" }, + { "Could not save the crash report", "Η αναφορά σφάλματος δεν αποθηκεύτηκε" }, + { "Couldn't delete", "Αδυναμία διαγραφής" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Αδύνατη η λήψη δεδομένων εδάφους.\nΕλέγξτε τη σύνδεση και τον\nδιακομιστή υψομέτρου και\nδοκιμάστε ξανά." }, + { "Couldn't save the name to storage", "Το όνομα δεν αποθηκεύτηκε" }, + { "Couldn't send login", "Αποτυχία αποστολής σύνδεσης" }, + { "Couldn't start the analyzer.\nTry again.", "Αδυναμία εκκίνησης αναλυτή.\nΔοκιμάστε ξανά." }, + { "Crash export failed", "Αποτυχία εξαγωγής αναφοράς σφάλματος" }, + { "Create", "Δημιουργία" }, + { "Create QR", "Δημιουργία QR" }, + { "Create a private channel", "Δημιουργία ιδιωτικού καναλιού" }, + { "Create failed", "Αποτυχία δημιουργίας" }, + { "Create private channel", "Δημιουργία ιδιωτικού καναλιού" }, + { "Custom UTC offset (hours)", "Προσαρμοσμένη μετατόπιση UTC (ώρες)" }, + { "Cut", "Αποκοπή" }, + { "Cut - Paste in a folder", "Αποκόπηκε - επικολλήστε σε φάκελο" }, + { "DM sound", "Ήχος DM" }, + { "DND", "DND" }, + { "Danger zone", "Ζώνη κινδύνου" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Δεδομένα -> κάρτα SD στην επανεκκίνηση\n(απαιτείται κάρτα)" }, + { "Data -> internal on reboot", "Δεδομένα -> εσωτερικά στην επανεκκίνηση" }, + { "Delete", "Διαγραφή" }, + { "Delete %d contact(s)?", "Διαγραφή %d επαφών;" }, + { "Delete chat", "Διαγραφή συνομιλίας" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Διαγραφή συνομιλίας με \"%s\";\nΤο ιστορικό θα διαγραφεί." }, + { "Delete failed", "Αποτυχία διαγραφής" }, + { "Delete history", "Διαγραφή ιστορικού" }, + { "Delete this backup file?\nThis cannot be undone.", "Διαγραφή αυτού του αρχείου;\nΔεν αναιρείται." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Διαγραφή όλου του ιστορικού αυτής της συνομιλίας;\nΗ συνομιλία παραμένει." }, + { "Deleted", "Διαγράφηκε" }, + { "Deleted %d", "Διαγράφηκαν %d" }, + { "Deleted %d messages", "Διαγράφηκαν %d μηνύματα" }, + { "Deleting contacts", "Διαγραφή επαφών" }, + { "Delivered", "Παραδόθηκε" }, + { "Detailed sensors", "Αναλυτικοί αισθητήρες" }, + { "Device clock differs from \"%s\" by %lu h%s", "Το ρολόι διαφέρει από \"%s\" κατά %lu ώ.%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Το ρολόι διαφέρει από \"%s\" κατά %lu λεπ.%s" }, + { "Device name hidden", "Όνομα συσκευής κρυφό" }, + { "Device name shown", "Όνομα συσκευής ορατό" }, + { "Device time:", "Ώρα συσκευής:" }, + { "Diagnostics", "Διαγνωστικά" }, + { "Diagnostics are on the About page.", "O diagnóstico está na página Sobre." }, + { "Discovered", "Ανακαλύφθηκαν" }, + { "Discovered settings", "Ρυθμίσεις εντοπισμένων" }, + { "Display", "Οθόνη" }, + { "Display name", "Εμφανιζόμενο όνομα" }, + { "Distance in miles", "Απόσταση σε μίλια" }, + { "Distance: km", "Απόσταση: km" }, + { "Distance: miles", "Απόσταση: μίλια" }, + { "Do Not Disturb", "Μην ενοχλείτε" }, + { "Do Not Disturb off", "Μην ενοχλείτε: ανενεργό" }, + { "Do Not Disturb on", "Μην ενοχλείτε: ενεργό" }, + { "Download failed", "Η λήψη απέτυχε" }, + { "Download failed (network?)", "Η λήψη απέτυχε (δίκτυο;)" }, + { "Download mode", "Λειτουργία λήψης" }, + { "Download mode… reflash over USB", "Λειτουργία download… κάντε ξανά flash μέσω USB" }, + { "Downloaded - tap Use to switch", "Λήφθηκε - πατήστε Χρήση για αλλαγή" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Λήψη πλακιδίων χάρτη…\n\nΚρατήστε το Wi-Fi συνδεδεμένο.\nΤα πλακίδια εμφανίζονται καθώς φτάνουν\nκαι αποθηκεύονται για χρήση εκτός σύνδεσης." }, + { "Downloading…", "Λήψη…" }, + { "Duty meter", "Μετρητής κύκλου" }, + { "Edge scroll", "Κύλιση στην άκρη" }, + { "Edit in Settings → Quick replies", "Επεξεργασία στις Ρυθμίσεις → Γρήγορες απαντήσεις" }, + { "Editing", "Επεξεργασία" }, + { "Empty = plaintext to a private broker", "Κενό = απλό κείμενο σε ιδιωτικό broker" }, + { "Empty file", "Κενό αρχείο" }, + { "Enable Bluetooth", "Ενεργοποίηση Bluetooth" }, + { "Enable MQTT bridge", "Ενεργοποίηση γέφυρας MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Ενεργοποιήστε μόνο αν ο αναμεταδότης σας ξαναπλημμυρίζει μία μόνο περιοχή. Αλλιώς αφήστε το κλειστό — μπορεί να μπλοκάρει σύνδεση/ΠΜ μεταξύ περιοχών." }, + { "Enable web access", "Ενεργοποίηση πρόσβασης web" }, + { "Encryption key (optional)", "Κλειδί κρυπτογράφησης (προαιρετικό)" }, + { "End time", "Ώρα λήξης" }, + { "Enter SSID first", "Εισαγάγετε πρώτα το SSID" }, + { "Enter a name", "Εισαγάγετε όνομα" }, + { "Enter a network name", "Εισαγάγετε όνομα δικτύου" }, + { "Enter adds a new line", "Το Enter προσθέτει γραμμή" }, + { "Enter exactly 32 hex characters.", "Εισαγάγετε ακριβώς 32 hex χαρακτήρες." }, + { "Enter key sends message", "Το πλήκτρο Enter στέλνει το μήνυμα" }, + { "Enter sends messages", "Το Enter στέλνει μηνύματα" }, + { "Enter the 32-hex secret shared by the channel creator.", "Εισαγάγετε το μυστικό 32 hex του δημιουργού του καναλιού." }, + { "Entering remote mode - rebooting...", "Είσοδος σε απομακρυσμένη λειτουργία - επανεκκίνηση..." }, + { "Erase all", "Διαγραφή όλων" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Διαγράφει ταυτότητα, επαφές, κανάλια, μηνύματα, Wi-Fi και όλες τις ρυθμίσεις, μετά επανεκκίνηση." }, + { "Erasing everything…", "Διαγραφή όλων…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Κάθε κόμβος πρέπει να ταιριάζει. Αλλαγή αργότερα στις Ρυθμίσεις." }, + { "Expansion Kit", "Κιτ επέκτασης" }, + { "Experimental", "Πειραματικά" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Πειραματικό - έχει γνωστά προβλήματα. Κλειστό = δρομέας λογισμικού." }, + { "Experimental saved", "Πειραματικά αποθηκεύτηκαν" }, + { "Export failed (can't open file)", "Αποτυχία εξαγωγής (αδυναμία ανοίγματος)" }, + { "Export new backup", "Νέο αντίγραφο" }, + { "Export settings", "Εξαγωγή ρυθμίσεων" }, + { "Exporting settings…", "Εξαγωγή ρυθμίσεων…" }, + { "External antenna selected", "Επιλέχθηκε εξωτερική κεραία" }, + { "Factory reset", "Επαναφορά εργοστ." }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Επαναφορά εργοστασίου;\n\nΔιαγράφει ταυτότητα, επαφές, κανάλια, μηνύματα, Wi-Fi και κάθε ρύθμιση. Μη αναστρέψιμο." }, + { "Failed to save channel.", "Αποτυχία αποθήκευσης καναλιού." }, + { "Favorites full (max %d)", "Αγαπημένα γεμάτα (μέγ %d)" }, + { "Favorites unsupported", "Τα αγαπημένα δεν υποστηρίζονται" }, + { "Fetching the app list from firmware.wadamesh.com", "Λήψη λίστας εφαρμογών από firmware.wadamesh.com" }, + { "Files", "Αρχεία" }, + { "Find", "Εύρεση" }, + { "Finish", "Τέλος" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nΑδυναμία πρόσβασης στον διακομιστή" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Αναβόσβημα σε νέο μήνυμα" }, + { "Flood", "Flood" }, + { "Flood advert sent", "Στάλθηκε flood advert" }, + { "Flood every", "Flood κάθε" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: αναμετάδοση στο mesh (πολλαπλά άλματα).\nZero-hop: μόνο γείτονες (χωρίς αναμετάδοση)." }, + { "Folder created", "Ο φάκελος δημιουργήθηκε" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Για εγκαταστάσεις Launcher: αποθηκεύει το πιο πρόσφατο firmware του επιλεγμένου καναλιού στην κάρτα SD (φάκελος BINS)." }, + { "Forget network", "Διαγραφή δικτύου" }, + { "Format", "Διαμόρφωση" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Διαμόρφωση SD ως MESHCOMOD (FAT32);\nΌλα τα δεδομένα στην κάρτα θα διαγραφούν." }, + { "Format failed (no card / SD error)", "Αποτυχία διαμόρφωσης (χωρίς κάρτα / σφάλμα SD)" }, + { "Frequency / bandwidth", "Συχνότητα / εύρος ζώνης" }, + { "Full", "Πλήρες" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Βομβητής %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Βομβητής %s\n%s" }, + { "GPS off", "GPS όχι" }, + { "GPS on", "GPS ναι" }, + { "GPS serial baud", "GPS σειριακό baud" }, + { "GPS unset", "GPS μη ορισμένο" }, + { "GPS: acquiring...", "GPS: αναζήτηση..." }, + { "GPS: fix", "GPS: στίγμα" }, + { "GPS: off", "GPS: ανενεργό" }, + { "GPS: searching", "GPS: αναζήτηση" }, + { "Game over — score %d (tap to restart)", "Τέλος παιχνιδιού — σκορ %d (πατήστε για επανεκκίνηση)" }, + { "Get", "Λήψη" }, + { "Get Started", "Ξεκινήστε" }, + { "Get test builds (beta)", "Λήψη δοκιμαστικών εκδόσεων (beta)" }, + { "Go", "Μετάβαση" }, + { "Green pressure Gray altitude", "Πράσινο πίεση Γκρι υψόμετρο" }, + { "Hashtag name", "Όνομα hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Κρύφτηκε - ενεργοποιήστε το ξανά στο Lua Store" }, + { "Hidden network", "Κρυφό δίκτυο" }, + { "Hide", "Απόκρυψη" }, + { "Hide device name", "Απόκρυψη ονόματος συσκευής" }, + { "Hide this app from the drawer?", "Απόκρυψη της εφαρμογής από το συρτάρι;" }, + { "High-gain receiver (FEM LNA)", "Δέκτης υψηλής ενίσχυσης (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Άκρως πειραματικό. Προωθεί το κείμενο, το όνομα αποστολέα και τη χρονική σήμανση κάθε μηνύματος που λαμβάνει ο κόμβος σας σε έναν broker MQTT, όπου οποιοσδήποτε μπορεί να διαβάσει τον broker μπορεί να τα διαβάσει. Τα άμεσα μηνύματα είναι ιδιωτικά, από άλλους που ποτέ δεν συμφώνησαν να κοινοποιηθούν. Χρησιμοποιήστε broker που ελέγχετε, ορίστε κλειδί κρυπτογράφησης παρακάτω, και ποτέ δημόσιο broker." }, + { "History limit off", "Όριο ιστορικού ανενεργό" }, + { "Hotkey saved", "Το πλήκτρο αποθηκεύτηκε" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Πώς θα εμφανίζεστε σε άλλους κόμβους. Αλλαγή στις Ρυθμίσεις." }, + { "Humidity", "Υγρασία" }, + { "I accept the privacy risk", "Αποδέχομαι τον κίνδυνο απορρήτου" }, + { "Identity (public key)", "Ταυτότητα (δημόσιο κλειδί)" }, + { "Idle power-save", "Εξοικονόμηση σε αδράνεια" }, + { "Idle sleep disabled", "Αναστολή σε αδράνεια απενεργ." }, + { "Idle sleep enabled", "Αναστολή σε αδράνεια ενεργή" }, + { "Image too large (>4 MB)", "Πολύ μεγάλη εικόνα (>4 MB)" }, + { "Import", "Εισαγωγή" }, + { "Import backup", "Εισαγωγή αντιγράφου" }, + { "Import failed (bad/unreadable JSON)", "Αποτυχία εισαγωγής (μη έγκυρο JSON)" }, + { "Import settings", "Εισαγωγή ρυθμίσεων" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Εισαγωγή αντιγράφου;\nΑντικαθιστά ταυτότητα,\nκανάλια & επαφές,\nμετά επανεκκινεί." }, + { "Import: storage unavailable", "Εισαγωγή: μη διαθέσιμος χώρος" }, + { "Importing settings…", "Εισαγωγή ρυθμίσεων…" }, + { "Inactive", "Ανενεργό" }, + { "Info", "Πληροφορίες" }, + { "Insert emoji / symbol", "Εισαγωγή emoji / συμβόλου" }, + { "Install", "Εγκατάσταση" }, + { "Install a previous version", "Εγκατάσταση προηγούμενης έκδοσης" }, + { "Install an earlier version", "Εγκατάσταση παλαιότερης έκδοσης" }, + { "Install failed (network?)", "Η εγκατάσταση απέτυχε (δίκτυο;)" }, + { "Install update", "Εγκατάσταση ενημέρωσης" }, + { "Installed", "Εγκατεστημένες" }, + { "Installing…", "Εγκατάσταση…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Εσωτερική (ενσωματωμένη)\nΕξωτερική (MMCX)\nΑυτόματα (παλαιό, ανά εκπομπή)" }, + { "Internal has no folders", "Η εσωτερική δεν έχει φακέλους" }, + { "Internal storage %s / %s", "Εσωτ. χώρος %s / %s" }, + { "Invalid lat/lon", "Μη έγκυρες συντ." }, + { "Invalid max hops", "Μη έγκυρα μέγ. άλματα" }, + { "Invalid radio values", "Μη έγκυρες τιμές ράδιο" }, + { "Join", "Συμμετοχή" }, + { "Join a hashtag channel", "Είσοδος σε κανάλι hashtag" }, + { "Join a private channel", "Είσοδος σε ιδιωτικό κανάλι" }, + { "Join hashtag channel", "Συμμετοχή σε κανάλι hashtag" }, + { "Join network", "Σύνδεση σε δίκτυο" }, + { "Join private channel", "Συμμετοχή σε ιδιωτικό κανάλι" }, + { "Join the public channel", "Είσοδος στο δημόσιο κανάλι" }, + { "Joined %.40s", "Συμμετοχή σε %.40s" }, + { "Keep per chat (messages)", "Διατήρηση ανά συνομιλία (μηνύματα)" }, + { "Key already in use", "Το κλειδί χρησιμοποιείται ήδη" }, + { "Keyboard", "Πληκτρολόγιο" }, + { "Keyboard backlight", "Οπίσθιος φωτισμός πληκτρολογίου" }, + { "Keyboard light auto", "Φωτισμός πληκτρολογίου αυτόματος" }, + { "Keyboard light off", "Φωτισμός πληκτρολογίου ανενεργός" }, + { "Keyboard light on", "Φωτισμός πληκτρολογίου ενεργός" }, + { "Keyboard nav: WASDZ on", "Πλοήγηση πληκτρ.: WASDZ ενεργό" }, + { "Keyboard nav: off", "Πλοήγηση πληκτρ.: κλειστό" }, + { "Keyboard navigation", "Πλοήγηση με πληκτρολόγιο" }, + { "LOS → %s", "Οπτική επαφή → %s" }, + { "Landscape (desktop)", "Οριζόντια (desktop)" }, + { "Landscape set - applies when remote mode starts.", "Ορίστηκε οριζόντια - ισχύει όταν ξεκινήσει η απομακρυσμένη λειτουργία." }, + { "Language", "Γλώσσα" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Ο κατάλογος γλωσσών δεν είναι διαθέσιμος - ελέγξτε το Wi-Fi και ξανανοίξτε την καρτέλα." }, + { "Language updated - restarting to apply it…", "Η γλώσσα ενημερώθηκε - επανεκκίνηση για εφαρμογή…" }, + { "Languages", "Γλώσσες" }, + { "Latitude", "Γεωγραφικό πλάτος" }, + { "Leave empty if not required", "Αφήστε κενό αν δεν απαιτείται" }, + { "Leaving remote mode - rebooting...", "Έξοδος από απομακρυσμένη λειτουργία - επανεκκίνηση..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Ας ρυθμίσουμε τη συσκευή σας.\n\nΘα επιλέξετε όνομα και την περιοχή LoRa. Διαρκεί περίπου ένα λεπτό." }, + { "Letters only", "Μόνο γράμματα" }, + { "LoRa antenna (P4)", "Κεραία LoRa (P4)" }, + { "Loading catalog…", "Φόρτωση καταλόγου…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Φόρτωση πλακιδίων χάρτη…\n\nΚρατήστε το Wi-Fi συνδεδεμένο.\nΤα πλακίδια εμφανίζονται καθώς φτάνουν." }, + { "Loading map…", "Φόρτωση χάρτη…" }, + { "Loading the language catalog…", "Φόρτωση καταλόγου γλωσσών…" }, + { "Loading...", "Φόρτωση..." }, + { "Local every", "Τοπικά κάθε" }, + { "Local sensors", "Τοπικοί αισθητήρες" }, + { "Lock", "Κλείδωμα" }, + { "Lock screen", "Οθόνη κλειδώματος" }, + { "Lock screen wallpaper", "Ταπετσαρία οθόνης κλειδώματος" }, + { "Lock text colour", "Χρώμα κειμένου κλειδώματος" }, + { "Lock text colour set", "Ορίστηκε χρώμα κειμένου κλειδώματος" }, + { "Lock wallpaper", "Ταπετσαρία κλειδώματος" }, + { "Lock wallpaper set", "Ορίστηκε ταπετσαρία κλειδώματος" }, + { "Lock when screen off", "Κλείδωμα με κλειστή οθόνη" }, + { "Locking…", "Κλείδωμα…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Κλειδώνει με σβηστή οθόνη\n(κρατήστε Backspace για ξεκλείδωμα)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Κλειδώνει με κλειστή οθόνη\n(κρατήστε το d-pad για ξεκλείδωμα)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Κλειδώνει με κλειστή οθόνη\n(κρατήστε το trackball για ξεκλείδωμα)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Κλειδώνει με κλειστή οθόνη\n(πατήστε Μείωση έντασης για ξεκλείδωμα)" }, + { "Locks when screen off\n(press the button to unlock)", "Κλειδώνει με κλειστή οθόνη\n(πατήστε το κουμπί για ξεκλείδωμα)" }, + { "Log in again", "Σύνδεση ξανά" }, + { "Logging in again...", "Επανασύνδεση..." }, + { "Logging in…", "Σύνδεση…" }, + { "Login OK (perms %u)", "Σύνδεση OK (δικαι. %u)" }, + { "Login failed", "Αποτυχία σύνδεσης" }, + { "Logs", "Αρχεία καταγραφής" }, + { "Longitude", "Γεωγραφικό μήκος" }, + { "Lua Store", "Κατάστημα Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Γέφυρα MQTT" }, + { "Map", "Χάρτης" }, + { "Map options", "Επιλογές χάρτη" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Σφάλμα αποθήκευσης χάρτη.\n\nΕντοπίστηκε κάρτα SD αλλά η\nμνήμη πλακιδίων δεν προσαρτήθηκε.\nΕπανεκκίνηση για νέα προσπάθεια." }, + { "Map storage error.\nReflash the tiles partition.", "Σφάλμα αποθήκευσης χάρτη.\nΞαναφλασάρετε το tiles partition." }, + { "Map tiles: microSD", "Πλακίδια: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Πλακίδια χάρτη: microSD\n\n/maps/osm/z/x/y.png\n(ή /tiles/z/x/y.jpg)\n\nΟ χάρτης εμφανίζεται όταν βρεθεί\nπλακίδιο για αυτήν την περιοχή." }, + { "Map tiles: server", "Πλακίδια: διακομιστής" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Χάρτης — δεν υπάρχει ακόμη πακέτο πλακιδίων στο SPIFFS.\n\nΑνεβάστε πακέτο στο /tiles///.jpg με τη γεννήτρια πλευράς host." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Χάρτης — ορίστε την τοποθεσία\nστις Ρυθμίσεις → Προφίλ για\nνα εμφανιστεί ο χάρτης εδώ." }, + { "Mark all chats and channels as read?", "Σήμανση όλων ως αναγνωσμένα;" }, + { "Mark as read", "Σήμανση ως αναγνωσμένο" }, + { "Mark read", "Σήμανση ως αναγνωσμένο" }, + { "Marked read", "Σημειώθηκε ως αναγνωσμένο" }, + { "Max hops (0..64)", "Μέγ. άλματα (0..64)" }, + { "Max zoom for this pack", "Μέγ. ζουμ για αυτό το πακέτο" }, + { "Memory detail", "Λεπτομέρειες μνήμης" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Υγεία mesh: ένα flood advert αναμεταδίδεται από κάθε αναμεταδότη σε εμβέλεια, οπότε τα συχνά flood προσθέτουν χρόνο εκπομπής για όλο το δίκτυο. Κρατήστε τα σπάνια (μία μέρα ή περισσότερο). Οι γείτονες σας βλέπουν ακόμη από zero-hop adverts και τις απαντήσεις σας, γι' αυτό κάντε flood κυρίως όταν μακρινοί κόμβοι πρέπει να σας ξαναβρούν. Αφήστε και τα δύο κλειστά για να διαφημίζεστε μόνο πατώντας τα κουμπιά πάνω." }, + { "Message", "Μήνυμα" }, + { "Message LED", "LED μηνυμάτων" }, + { "Message LED off", "LED μηνυμάτων κλειστό" }, + { "Message LED on", "LED μηνυμάτων ανοιχτό" }, + { "Message deleted", "Το μήνυμα διαγράφηκε" }, + { "Message didn't get through.\nResend it?", "Το μήνυμα δεν έφτασε.\nΝα σταλεί ξανά;" }, + { "Message info", "Πληροφορίες μηνύματος" }, + { "Message sound", "Ήχος μηνυμάτων" }, + { "Min zoom for this pack", "Ελάχ. ζουμ για αυτό το πακέτο" }, + { "Mode: BLE starting / low memory", "Λειτουργία: BLE εκκινεί / λίγη μνήμη" }, + { "Model:", "Μοντέλο:" }, + { "Multi ACKs", "Πολλαπλά ACK" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Επανάλ. %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Δρομολόγηση πολλών byte (hash διαδρομής)" }, + { "Mute @", "Σίγαση @" }, + { "Mute msgs", "Σίγαση μην." }, + { "Mute notification sound", "Σίγαση ήχου ειδοποιήσεων" }, + { "My position (no GPS fix)", "Η θέση μου (χωρίς στίγμα GPS)" }, + { "Name", "Όνομα" }, + { "Name can't be empty.", "Το όνομα δεν μπορεί να είναι κενό." }, + { "Name fragment", "Τμήμα ονόματος" }, + { "Name saved", "Το όνομα αποθηκεύτηκε" }, + { "Navigation keys", "Πλήκτρα πλοήγησης" }, + { "Navigation keys — tap a row, then press a key", "Πλήκτρα πλοήγησης — πατήστε μια γραμμή, μετά ένα πλήκτρο" }, + { "Nearby on map", "Κοντά στον χάρτη" }, + { "Network name", "Όνομα δικτύου" }, + { "Network name (SSID)", "Όνομα δικτύου (SSID)" }, + { "New", "Νέο" }, + { "New DM", "Νέο ΠΜ" }, + { "New channel msg", "Νέο μήνυμα καναλιού" }, + { "New contact", "Νέα επαφή" }, + { "New file", "Νέο αρχείο" }, + { "New folder", "Νέος φάκελος" }, + { "New game", "Νέο παιχνίδι" }, + { "New room msg", "Νέο μήνυμα δωματίου" }, + { "Next", "Επόμενο" }, + { "Night mode (invert)", "Νυχτερινή λειτουργία (αντιστροφή)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Δεν βρέθηκαν αντίγραφα .json.\nΕξαγάγετε ένα ή αντιγράψτε\nmeshcore-backup.json στην\nκάρτα SD ή στο εσωτ. flash." }, + { "No @mentions yet", "Καμία @αναφορά ακόμη" }, + { "No Bluetooth on this device", "Δεν υπάρχει Bluetooth σε αυτή τη συσκευή" }, + { "No DM key", "Χωρίς κλειδί ΠΜ" }, + { "No GPS module on this device.", "Χωρίς μονάδα GPS σε αυτή τη συσκευή." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Δεν βρέθηκαν JPEG στο /lock/.\nΠροσθέστε εικόνες μέσω του\nδιαχειριστή αρχείων ή κάρτας SD." }, + { "No SD card", "Χωρίς κάρτα SD" }, + { "No SD card (or unreadable format)", "Χωρίς κάρτα SD (ή μη αναγνώσιμη μορφή)" }, + { "No backups yet. Tap Export new backup above to create one.", "Δεν υπάρχουν αντίγραφα. Πατήστε «Νέο αντίγραφο» πάνω για δημιουργία." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Δεν υπάρχει ιστορικό μπαταρίας.\n\nΚαταγραφή κάθε 5 λεπτά." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Κανένας αποκλεισμένος χρήστης.\n\nΠατήστε παρατεταμένα ένα μήνυμα και\nΑποκλεισμός για προσθήκη." }, + { "No contact for thread", "Καμία επαφή για το νήμα" }, + { "No contact to trace", "Καμία επαφή για ιχνηλάτηση" }, + { "No contacts have shared\na GPS location yet.", "Καμία επαφή δεν έχει\nμοιραστεί θέση GPS ακόμη." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Δεν βρέθηκαν κόμβοι ακόμη.\n\nΟτιδήποτε ακούγεται στον αέρα και δεν είναι στις επαφές σας θα εμφανιστεί εδώ. Όταν η αυτόματη προσθήκη είναι κλειστή, μπορείτε να προσθέσετε κόμβους χειροκίνητα." }, + { "No earlier versions yet", "Δεν υπάρχουν προηγούμενες εκδόσεις" }, + { "No local expansion data", "Δεν υπάρχουν τοπικά δεδομένα επέκτασης" }, + { "No location for this contact", "Καμία τοποθεσία για αυτήν την επαφή" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Χωρίς αποθήκευση χάρτη.\n\nΕισαγάγετε κάρτα SD για πλακίδια\nWi-Fi (ή ξαναφλασάρετε για\nτο tiles partition)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Δεν υπάρχουν πλακίδια εδώ.\n\nΣυνδεθείτε στο Wi-Fi (Ρυθμίσεις → Wi-Fi)\nγια λήψη αυτής της περιοχής." }, + { "No mapped repeaters in this route", "Δεν υπάρχουν χαρτογραφημένοι αναμεταδότες σε αυτή τη διαδρομή" }, + { "No networks found (2.4 GHz only)", "Δεν βρέθηκαν δίκτυα (μόνο 2.4 GHz)" }, + { "No onboard GPS", "Χωρίς ενσωματωμένο GPS" }, + { "No other networks found", "Δεν βρέθηκαν άλλα δίκτυα" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Δεν υπάρχει ακόμη θέση. Η ψυχρή εκκίνηση θέλει ανοιχτό ουρανό και μπορεί να πάρει λεπτά." }, + { "No reply from %s", "Καμία απάντηση από %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Καμία απάντηση. Ελέγξτε κωδικό, διακομιστή\nή ρολόι συσκευής (συσκευή: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Δεν υπάρχουν αποθηκευμένα πλακίδια εδώ.\n\nΣυνδεθείτε στο Wi-Fi (Ρυθμίσεις → Wi-Fi)\nγια λήψη αυτής της περιοχής.\nΤα αποθηκευμένα πλακίδια μένουν διαθέσιμα εκτός σύνδεσης." }, + { "No system time yet", "Δεν υπάρχει ακόμη ώρα συστήματος" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Δεν υπάρχει τηλεμετρία σε αυτό το παράθυρο.\nΖητήστε μία ή διευρύνετε το εύρος παρακάτω." }, + { "No tiles (non-ESP32)", "Χωρίς πλακίδια (μη ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Καμία γνωστή έκδοση ακόμη. Χρειάζονται πρώτα Wi-Fi και ολοκληρωμένος έλεγχος ενημέρωσης." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Κόμβος\nΠεριοχή\nΡαδιό\nΣήμα\nΕπαφές\nΚανάλια\nΜπαταρία\nΧρόνος λειτουργίας" }, + { "Node name", "Όνομα κόμβου" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Κανονικό (100%)\nΜεγάλο (150%)\nΤεράστιο (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Ανεπαρκής μνήμη για Bluetooth. Απενεργοποιήστε πρώτα το Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Ανεπαρκής μνήμη για Wi-Fi. Απενεργοποιήστε πρώτα το Bluetooth." }, + { "Nothing selected", "Τίποτα δεν επιλέχθηκε" }, + { "Notification sound set", "Ήχος ειδοποίησης ορίστηκε" }, + { "Notify on new contact", "Ειδοποίηση για νέα επαφή" }, + { "Off", "Ανενεργό" }, + { "Off\n1\n2\n3\n5\n8", "Ανενεργό\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Ανενεργό\n1 ημέρα\n2 ημέρες\n3 ημέρες\n7 ημέρες" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Ανενεργό\n60 λεπτά\n90 λεπτά\n2 ώρες\n3 ώρες\n4 ώρες" }, + { "Offline", "Εκτός σύνδεσης" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Παλαιότερα μηνύματα πέραν αυτού διαγράφονται. Πολύ μεγάλο ή απεριόριστο ιστορικό επιβραδύνει τη λίστα." }, + { "On - open the address above in a phone browser.", "Ενεργό - ανοίξτε την παραπάνω διεύθυνση στο κινητό." }, + { "On boot", "Στην εκκίνηση" }, + { "On map", "Στον χάρτη" }, + { "Open Advertise app", "Άνοιγμα εφαρμογής Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Ανοίξτε ένα .wav και πατήστε «Ορισμός ως ήχος ειδοποίησης»" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Ανοίξτε ένα JPEG και πατήστε «Ορισμός ως ταπετσαρία»" }, + { "Open chat", "Άνοιγμα συνομιλίας" }, + { "Open in a browser (same Wi-Fi):", "Ανοίξτε σε πρόγραμμα περιήγησης (ίδιο Wi-Fi):" }, + { "Open in web", "Άνοιγμα στον ιστό" }, + { "Open mesh console", "Άνοιγμα κονσόλας mesh" }, + { "Optional — type your network, or leave blank to skip.", "Προαιρετικό — πληκτρολογήστε δίκτυο ή αφήστε κενό." }, + { "Orange temp Cyan humidity", "Πορτοκαλί θερμ. Κυανό υγρασία" }, + { "Orientation (tap to rotate, reboots)", "Προσανατολισμός (πατήστε για περιστροφή)" }, + { "Out of memory", "Ανεπαρκής μνήμη" }, + { "Overwrite oldest", "Αντικατάσταση παλαιότερου" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Αντικατάσταση ρυθμίσεων και ταυτότητας κάρτας SD\nμε τα εσωτερικά αντίγραφα\nκαι επανεκκίνηση;" }, + { "PNG isn't supported here\nUse a JPEG", "Το PNG δεν υποστηρίζεται εδώ\nΧρησιμοποιήστε JPEG" }, + { "Pairing code", "Κωδικός σύζευξης" }, + { "Pairing code saved — reboot to apply", "Ο κωδικός σύζευξης αποθηκεύτηκε — επανεκκίνηση για εφαρμογή" }, + { "Pairing code: %06lu", "Κωδικός σύζευξης: %06lu" }, + { "Pairing code: n/a", "Κωδικός σύζευξης: μ/δ" }, + { "Password (empty = open)", "Κωδικός (κενό = ανοιχτό)" }, + { "Password (empty = skip Wi-Fi)", "Κωδικός (κενό = παράλειψη Wi-Fi)" }, + { "Password (optional)", "Κωδικός (προαιρετικό)" }, + { "Password too long", "Ο κωδικός είναι πολύ μακρύς" }, + { "Paste", "Επικόλληση" }, + { "Paste failed", "Αποτυχία επικόλλησης" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Επικολλήστε το δημόσιο κλειδί 64 hex και ένα όνομα. Χρήσιμο για ΠΜ πριν το advert." }, + { "Pasted", "Επικολλήθηκε" }, + { "Path hash: %u byte%s", "Hash διαδρομής: %u byte%s" }, + { "Path reset", "Η διαδρομή επαναφέρθηκε" }, + { "Path reset failed", "Αποτυχία επαναφοράς διαδρομής" }, + { "Paused — score %d", "Σε παύση — σκορ %d" }, + { "Per-transmit switching on", "Εναλλαγή ανά εκπομπή ενεργή" }, + { "Pick colour", "Επιλογή χρώματος" }, + { "Ping", "Ping" }, + { "Ping failed", "Αποτυχία ping" }, + { "Pinged (direct) — waiting…", "Ping (άμεσο) — αναμονή…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — αναμονή…" }, + { "Play", "Αναπαραγωγή" }, + { "Poll (min)", "Δημοσκόπηση (λεπτά)" }, + { "Poll every", "Δημοσκόπηση κάθε" }, + { "Poll every %d min", "Δημοσκόπηση κάθε %d λεπτά" }, + { "Port", "Θύρα" }, + { "Portrait set - applies when remote mode starts.", "Ορίστηκε κατακόρυφη - ισχύει όταν ξεκινήσει η απομακρυσμένη λειτουργία." }, + { "Position saved", "Η θέση αποθηκεύτηκε" }, + { "Power", "Ενέργεια" }, + { "Power off", "Απενεργοποίηση" }, + { "Powering off… click trackball to wake", "Απενεργοποίηση… κλικ στο trackball για αφύπνιση" }, + { "Press a key…", "Πατήστε ένα πλήκτρο…" }, + { "Probe now", "Μέτρηση τώρα" }, + { "Probing neighbours…", "Έλεγχος γειτόνων…" }, + { "Profile", "Προφίλ" }, + { "Pubkey must be 64 hex chars.", "Το δημόσιο κλειδί πρέπει 64 hex." }, + { "Public channel ready", "Το δημόσιο κανάλι είναι έτοιμο" }, + { "Public key (64 hex chars)", "Δημόσιο κλειδί (64 hex)" }, + { "Public key:", "Δημόσιο κλειδί:" }, + { "Publish channel messages", "Δημοσίευση μηνυμάτων καναλιού" }, + { "Publish direct messages", "Δημοσίευση άμεσων μηνυμάτων" }, + { "Purge", "Εκκαθάριση" }, + { "Purge all discovered nodes?", "Εκκαθάριση όλων των κόμβων που βρέθηκαν;" }, + { "Quick replies", "Γρήγορες απαντήσεις" }, + { "Quick reply", "Γρήγορη απάντηση" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d καταχωρήσεις · Raw %d καταχωρήσεις" }, + { "RX boosted gain", "Ενισχυμένο κέρδος RX" }, + { "RX log", "Αρχείο RX" }, + { "Radio & Mesh", "Ράδιο & Mesh" }, + { "Radio + region set", "Ορίστηκαν ράδιο + περιοχή" }, + { "Radio applied", "Εφαρμόστηκε ράδιο" }, + { "Radio off", "Ράδιο ανενεργό" }, + { "Radio: off", "Ράδιο: ανενεργό" }, + { "Range test", "Δοκιμή εμβέλειας" }, + { "RangeTest failed", "Αποτυχία RangeTest" }, + { "RangeTest sent (direct)", "Στάλθηκε RangeTest (άμεσο)" }, + { "RangeTest sent (flood)", "Στάλθηκε RangeTest (flood)" }, + { "Raw log", "Ακατέργαστο αρχείο" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Διαβάζει πακέτα σε εργασία παρασκηνίου ώστε μια απασχολημένη οθόνη να μην τα χάνει." }, + { "Reboot", "Επανεκκίνηση" }, + { "Reboot device", "Επανεκκίνηση συσκευής" }, + { "Rebooting...", "Επανεκκίνηση..." }, + { "Rebooting…", "Επανεκκίνηση…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Λήψη μη κυκλοφορημένου δοκιμαστικού firmware — νεότερες λειτουργίες, αλλά λιγότερο δοκιμασμένες. Ο έλεγχος και η εγκατάσταση ακολουθούν το κανάλι beta." }, + { "Recently heard", "Ακούστηκε πρόσφατα" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Επαναδιαμόρφωση SD ως MESHCOMOD (FAT32);\nΟΛΑ τα δεδομένα στην κάρτα θα διαγραφούν." }, + { "Region & scope", "Περιοχή & εμβέλεια" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Εύρος περιοχής (#tag) για αυτό το κανάλι.\nΚενό = προεπιλεγμένο εύρος." }, + { "Region scope (#tag), blank = default.", "Εύρος περιοχής (#tag), κενό = προεπιλογή." }, + { "Region scope (#tag, blank = none)", "Εύρος περιοχής (#tag, κενό = κανένα)" }, + { "Remember password", "Απομνημόνευση κωδικού" }, + { "Remote UI", "Απομακρυσμένο UI" }, + { "Remote UI (on)", "Απομακρυσμένο UI (ενεργό)" }, + { "Remote access", "Απομακρυσμένη πρόσβαση" }, + { "Remote terminal", "Απομακρυσμένο τερματικό" }, + { "Remote terminal (recommended)", "Απομακρυσμένο τερματικό (συνιστάται)" }, + { "Remote terminal off", "Απομακρυσμένο τερματικό ανενεργό" }, + { "Remove", "Αφαίρεση" }, + { "Remove %s?", "Αφαίρεση του %s;" }, + { "Remove channel", "Αφαίρεση καναλιού" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Αφαίρεση καναλιού \"%s\";\nΜόνο από αυτή τη συσκευή." }, + { "Removed", "Αφαιρέθηκε" }, + { "Removed from favorites", "Αφαιρέθηκε από τα αγαπημένα" }, + { "Rename", "Μετονομασία" }, + { "Rename failed", "Αποτυχία μετονομασίας" }, + { "Renamed", "Μετονομάστηκε" }, + { "Replay", "Επανάληψη" }, + { "Replay route on map", "Επανάληψη διαδρομής στον χάρτη" }, + { "Replaying route…", "Επανάληψη διαδρομής…" }, + { "Resend", "Επαναποστολή" }, + { "Resend failed", "Η επαναποστολή απέτυχε" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Επαναλαμβάνει το μήνυμα μέχρι να το αναμεταδώσει επαναλήπτης ή να επιβεβαιώσει ο παραλήπτης. Απενεργοποιήστε για μία μόνο αποστολή." }, + { "Reset", "Επαναφορά" }, + { "Reset path", "Επαναφορά διαδρομής" }, + { "Restarting to apply the language…", "Επανεκκίνηση για εφαρμογή της γλώσσας…" }, + { "Retry sends until heard", "Επανάληψη αποστολής μέχρι να ακουστεί" }, + { "Reverse scrollball", "Αντιστροφή scrollball" }, + { "Roll to highlight • click to insert", "Κυλήστε για επισήμανση • κλικ για εισαγωγή" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Το δωμάτιο είναι μόνο για ανάγνωση για εσάς.\nΣυνδεθείτε με τον κωδικό του δωματίου για δημοσίευση." }, + { "Rotating - reconnecting...", "Περιστροφή - επανασύνδεση..." }, + { "Rotating… rebooting", "Περιστροφή… επανεκκίνηση" }, + { "Run setup again", "Εκτέλεση ρύθμισης ξανά" }, + { "SD card %s", "Κάρτα SD %s" }, + { "SD card %s (hold: format)", "Κάρτα SD %s (κράτημα: διαμόρφωση)" }, + { "SD card (tap to mount)", "Κάρτα SD (πατήστε για προσάρτηση)" }, + { "SD card inserted", "Η κάρτα SD εισήχθη" }, + { "SD card lost - reinsert to recover", "Η κάρτα SD χάθηκε - επανατοποθετήστε" }, + { "SD card remounted", "Η κάρτα SD επανασυνδέθηκε" }, + { "SD card removed", "Η κάρτα SD αφαιρέθηκε" }, + { "SD download failed: %s", "Η λήψη στην SD απέτυχε: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD διαμορφώθηκε - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB σε χρήση" }, + { "SSID set — enter password, then Save", "Ορίστηκε SSID — εισαγάγετε κωδικό, μετά Αποθήκευση" }, + { "SSID too long", "Το SSID είναι πολύ μακρύ" }, + { "Sample text", "Δείγμα κειμένου" }, + { "Save", "Αποθήκευση" }, + { "Save & restart", "Αποθήκευση & επανεκκίνηση" }, + { "Save / turn on", "Αποθήκευση / ενεργοποίηση" }, + { "Save auto-add", "Αποθήκευση αυτόματης προσθήκης" }, + { "Save experimental", "Αποθήκευση πειραματικών" }, + { "Save failed", "Αποτυχία αποθήκευσης" }, + { "Save name", "Αποθήκευση ονόματος" }, + { "Save policy", "Αποθήκευση πολιτικής" }, + { "Save position", "Αποθήκευση θέσης" }, + { "Save quick replies", "Αποθήκευση γρήγορων απαντήσεων" }, + { "Save report", "Αποθήκευση αναφοράς" }, + { "Save update bin to SD", "Αποθήκευση ενημέρωσης στην SD" }, + { "Saved", "Αποθηκεύτηκε" }, + { "Saved backups", "Αποθηκευμένα αντίγραφα" }, + { "Saved network", "Αποθηκευμένο δίκτυο" }, + { "Saved profiles", "Αποθηκευμένα προφίλ" }, + { "Saved to slot %d", "Αποθηκεύτηκε στη θέση %d" }, + { "Saved — rebooting", "Αποθηκεύτηκε — επανεκκίνηση" }, + { "Saved — reconnecting…", "Αποθηκεύτηκε — επανασύνδεση…" }, + { "Saved: %s\nFlash it from the Launcher.", "Αποθηκεύτηκε: %s\nΕγκαταστήστε το από τον Launcher." }, + { "Saving to SD… %d%%", "Αποθήκευση στην SD… %d%%" }, + { "Saving to SD… 0%", "Αποθήκευση στην SD… 0%" }, + { "Scan to open on phone", "Σαρώστε για άνοιγμα στο κινητό" }, + { "Scanning…", "Σάρωση…" }, + { "Scope direct msgs to region", "Περιορισμός άμεσων μηνυμάτων στην περιοχή" }, + { "Screen locked", "Η οθόνη κλειδώθηκε" }, + { "Screen timeout (s, 0 = never)", "Λήξη οθόνης (s, 0 = ποτέ)" }, + { "Screen timeout (s, 0 = never, min 10)", "Λήξη οθόνης (δ, 0 = ποτέ, ελάχ 10)" }, + { "Screen timeout: %ds", "Λήξη οθόνης: %ds" }, + { "Screen timeout: never", "Λήξη οθόνης: ποτέ" }, + { "Screen-off just dims", "Οθόνη κλειστή απλώς σκοτεινιάζει" }, + { "Screenshot needs an SD card", "Το στιγμιότυπο χρειάζεται κάρτα SD" }, + { "Screenshot: low memory", "Στιγμιότυπο: λίγη μνήμη" }, + { "Screenshot: no SD card", "Στιγμιότυπο: καμία κάρτα SD" }, + { "Screenshot: write failed", "Στιγμιότυπο: αποτυχία εγγραφής" }, + { "Scrollball: normal", "Scrollball: κανονικό" }, + { "Scrollball: reversed", "Scrollball: αντεστραμμένο" }, + { "Search", "Αναζήτηση" }, + { "Search contacts", "Αναζήτηση επαφών" }, + { "Secondary keyboards", "Δευτερεύοντα πληκτρολόγια" }, + { "Secret (32 hex chars)", "Μυστικό (32 hex)" }, + { "Secret (32 hex, optional)", "Μυστικό (32 hex, προαιρ.)" }, + { "Secret must be 32 hex chars (or empty).", "Το μυστικό πρέπει 32 hex (ή κενό)." }, + { "Select a DM thread", "Επιλέξτε νήμα ΠΜ" }, + { "Select all", "Επιλογή όλων" }, + { "Select network", "Επιλογή δικτύου" }, + { "Send advert", "Αποστολή advert" }, + { "Send advert now", "Αποστολή advert" }, + { "Send an advert now, or set how often you re-advertise.", "Στείλτε ένα advert τώρα ή ορίστε πόσο συχνά επαναλαμβάνετε." }, + { "Send failed", "Αποτυχία αποστολής" }, + { "Sender blocked", "Ο αποστολέας αποκλείστηκε" }, + { "Sensors tab: off (restart to apply)", "Καρτέλα αισθητήρων: κλειστή (επανεκκίνηση για εφαρμογή)" }, + { "Sensors tab: on (restart to apply)", "Καρτέλα αισθητήρων: ανοιχτή (επανεκκίνηση για εφαρμογή)" }, + { "Sent", "Στάλθηκε" }, + { "Set", "Ορισμός" }, + { "Set an SSID first", "Ορίστε πρώτα ένα SSID" }, + { "Set as notification sound", "Ορισμός ως ήχος ειδοποίησης" }, + { "Set as wallpaper", "Ορισμός ως ταπετσαρία" }, + { "Set your location first", "Ορίστε πρώτα την τοποθεσία σας" }, + { "Settings", "Ρυθμίσεις" }, + { "Setup complete", "Η ρύθμιση ολοκληρώθηκε" }, + { "Share QR", "Κοινοποίηση QR" }, + { "Share channel", "Κοινή χρήση καναλιού" }, + { "Share location in advert", "Κοινή χρήση θέσης στο advert" }, + { "Share secret", "Κοινοποίηση μυστικού" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Μοιραστείτε το μυστικό 32 χαρακτήρων για να συμμετάσχουν άλλοι. Κενό = τυχαίο." }, + { "Share: %s", "Κοινή χρήση: %s" }, + { "Show", "Εμφάνιση" }, + { "Show Sensors tab", "Εμφάνιση καρτέλας αισθητήρων" }, + { "Show in the app drawer", "Εμφάνιση στο συρτάρι εφαρμογών" }, + { "Show link lines", "Εμφάνιση γραμμών σύνδεσης" }, + { "Show menu-bar letters", "Εμφάνιση γραμμάτων μενού" }, + { "Show on chart", "Εμφάνιση στο γράφημα" }, + { "Show on map", "Εμφάνιση στον χάρτη" }, + { "Sightline", "Οπτική επαφή" }, + { "Signal & traffic", "Σήμα & κίνηση" }, + { "Signal probe", "Ανίχνευση σήματος" }, + { "Skip", "Παράλειψη" }, + { "Sleep ready", "Έτοιμο για ύπνο" }, + { "Slot %d cleared", "Η θέση %d εκκαθαρίστηκε" }, + { "Slot empty", "Κενή θέση" }, + { "Small\nMedium\nLarge", "Μικρό\nΜεσαίο\nΜεγάλο" }, + { "Snake — swipe or roll the trackball", "Snake — σύρετε ή κυλήστε το trackball" }, + { "Sort", "Ταξινόμηση" }, + { "Sound", "Ήχος" }, + { "Sound off", "Ήχος όχι" }, + { "Sound on", "Ήχος ναι" }, + { "Sound: %s", "Ήχος: %s" }, + { "Start time", "Ώρα έναρξης" }, + { "Status", "Κατάσταση" }, + { "Step 1 of 3", "Βήμα 1 από 3" }, + { "Step 2 of 3", "Βήμα 2 από 3" }, + { "Step 3 of 3", "Βήμα 3 από 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Ακόμη αναλύεται η προηγούμενη\nδιαδρομή… δοκιμάστε σε λίγο." }, + { "Stop", "Διακοπή" }, + { "Storage", "Αποθηκευτικός χώρος" }, + { "Store data on SD (reboot)", "Αποθήκευση δεδομένων σε SD (επανεκκίνηση)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Μεταδίδει την οθόνη ως ζωντανή εικόνα που πατάτε για έλεγχο. Βαρύτερο· το πάνελ δείχνει placeholder. Η εναλλαγή επανεκκινεί τη συσκευή." }, + { "Switch", "Εναλλαγή" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Αλλαγή στην εξωτερική κεραία;\n\nΒεβαιωθείτε πρώτα ότι υπάρχει κεραία στην υποδοχή. Η εκπομπή χωρίς κεραία μπορεί να βλάψει τον πομποδέκτη.\n\nΕπανέρχεται στην ενσωματωμένη σε κάθε επανεκκίνηση." }, + { "Sync clock from system", "Συγχρονισμός ρολογιού" }, + { "System", "Σύστημα" }, + { "System info", "Πληροφορίες συστήματος" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nΠελάτες WS %d GPS %s Βομβητής %s" }, + { "TCP off", "TCP όχι" }, + { "TCP on", "TCP ναι" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Πλήκτρα καρτέλας — πατήστε μια σειρά, μετά ένα πλήκτρο" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Πατήστε Χρήση για αλλαγή - η συσκευή επανεκκινεί. Τα αρχεία γλώσσας βρίσκονται στο /lang· επεξεργαστείτε τα ή προσθέστε δικά σας." }, + { "Tap a language; the device reboots to apply.", "Πατήστε μια γλώσσα· η συσκευή επανεκκινεί." }, + { "Taste the rainbow!", "Γευτείτε το ουράνιο τόξο!" }, + { "Telemetry", "Τηλεμετρία" }, + { "Telemetry req (direct)…", "Αίτημα τηλεμετρίας (άμεσο)…" }, + { "Telemetry req (flood)…", "Αίτημα τηλεμετρίας (flood)…" }, + { "Telemetry req failed", "Αποτυχία αιτήματος τηλεμετρίας" }, + { "Telemetry requests allowed", "Επιτρέπονται αιτήματα τηλεμετρίας" }, + { "Telemetry requests off", "Αιτήματα τηλεμετρίας ανενεργά" }, + { "Telemetry req…", "Αιτήματα τηλε…" }, + { "Telemetry settings", "Ρυθμίσεις τηλεμετρίας" }, + { "Temperature", "Θερμοκρασία" }, + { "Test builds: off", "Δοκιμαστικά builds: off" }, + { "Test builds: on", "Δοκιμαστικά builds: on" }, + { "Theme", "Θέμα" }, + { "Theme colour", "Χρώμα θέματος" }, + { "Then pick a mode:", "Μετά επιλέξτε λειτουργία:" }, + { "This contact hasn't shared\na GPS position.", "Αυτή η επαφή δεν μοιράστηκε\nθέση GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Αυτή η συσκευή μπορεί να χρησιμοποιεί Wi-Fi και Bluetooth ταυτόχρονα, ως αυτόνομος πομποδέκτης και συνοδός τηλεφώνου (εφαρμογή MeshCore).\n\nΚαι τα δύο μαζί χρησιμοποιούν περισσότερη RAM, οπότε ενεργοποιήστε μόνο ό,τι χρειάζεστε.\n\nΡυθμίστε τα οποτεδήποτε στις Ρυθμίσεις." }, + { "Throttles the CPU when idle to save power", "Περιορίζει τη CPU σε αδράνεια για εξοικονόμηση ενέργειας" }, + { "Tile reload needs Wi-Fi build", "Η επαναφόρτωση χρειάζεται έκδοση Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Τα πλακίδια διαγράφηκαν — επανασυνδέστε Wi-Fi για λήψη" }, + { "Tiles from SD card", "Πλακίδια από κάρτα SD" }, + { "Time %s", "Ώρα %s" }, + { "Time offset (vs automatic)", "Μετατόπιση ώρας (έναντι αυτόματης)" }, + { "Time offset: %+d h", "Μετατόπιση ώρας: %+d h" }, + { "Time range (hours ago)", "Χρονικό εύρος (ώρες πριν)" }, + { "Time zone", "Ζώνη ώρας" }, + { "Time zone: %s", "Ζώνη ώρας: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Συμβουλή: σαρώστε δίκτυα στις Ρυθμίσεις → Δίκτυο μετά τη ρύθμιση." }, + { "Today", "Σήμερα" }, + { "Toggle GPS", "Εναλλαγή GPS" }, + { "Too large to edit (>8 KB)", "Πολύ μεγάλο για επεξεργασία (>8 KB)" }, + { "Topographic map", "Τοπογραφικός χάρτης" }, + { "Trace", "Ιχνηλάτηση" }, + { "Trace SNR", "Ανίχνευση SNR" }, + { "Trace failed", "Αποτυχία ιχνηλάτησης" }, + { "Trace route", "Ιχνηλάτηση διαδρομής" }, + { "Trace sent…", "Στάλθηκε ιχνηλάτηση…" }, + { "Tracing route…", "Ιχνηλάτηση διαδρομής…" }, + { "Trackball navigates UI", "Το trackball πλοηγεί το UI" }, + { "Trackball: cursor", "Trackball: δρομέας" }, + { "Trackball: navigate UI", "Trackball: πλοήγηση UI" }, + { "Turn Wi-Fi on first", "Ενεργοποιήστε πρώτα το Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Ενεργοποιήστε το Wi-Fi και ανανεώστε. Οι εγκατεστημένες εφαρμογές λειτουργούν." }, + { "Turn off", "Απενεργοποίηση" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Ενεργοποίηση παλαιάς εναλλαγής ανά εκπομπή;\n\nΛειτουργία διάγνωσης, μόνο για σύγκριση. Εκπέμπει στην ενσωματωμένη και ακούει στην εξωτερική - το εξερχόμενο σήμα θα είναι πολύ ασθενέστερο.\n\nΕπανέρχεται στην ενσωματωμένη σε κάθε επανεκκίνηση." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Απενεργοποίηση ορίου ιστορικού;\n\nΈνα πολυσύχναστο κανάλι μπορεί να γεμίσει όλο τον χώρο μηνυμάτων - περισσότερος χώρος και αισθητά πιο αργή λίστα και εφαρμογή. Μόνο αν χρειάζεστε πράγματι όλο το ιστορικό." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Ενεργοποιήστε το και ανοίξτε την παρακάτω διεύθυνση σε browser στο ίδιο Wi-Fi - δεν χρειάζεται εφαρμογή. Η οθόνη εμφανίζεται ζωντανά και ελέγχεται με πάτημα." }, + { "Type a URL, then Go", "Πληκτρολογήστε URL και Μετάβαση" }, + { "Type a message...", "Πληκτρολογήστε μήνυμα..." }, + { "Type a new 6-digit code · applies after a reboot", "Πληκτρολογήστε νέο 6ψήφιο κωδικό · ισχύει μετά την επανεκκίνηση" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Πληκτρολογήστε το όνομα δικτύου — ή στρέψτε σε Wi-Fi στις Ρυθμίσεις για σάρωση" }, + { "UI size (restart to apply)", "Μέγεθος UI (επανεκκίνηση για εφαρμογή)" }, + { "UI size saved — restart to apply", "Το μέγεθος UI αποθηκεύτηκε — επανεκκίνηση για εφαρμογή" }, + { "USB powered", "Τροφοδοσία USB" }, + { "Unblock", "Ξεμπλοκάρισμα" }, + { "Unblocked", "Ξεμπλοκαρίστηκε" }, + { "Unfavorite it first", "Αφαιρέστε το πρώτα από τα αγαπημένα" }, + { "Unlocking…", "Ξεκλείδωμα…" }, + { "Unmute @", "Ενεργοποίηση @" }, + { "Unmute msgs", "Ενεργοποίηση μηνυμ." }, + { "Unread %d", "Μη αναγν. %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Μη αναγν. %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "Μη υποστηριζόμενο WAV (χρειάζεται 16-bit PCM)" }, + { "Update", "Ενημέρωση" }, + { "Update bin saved to SD", "Το αρχείο ενημέρωσης αποθηκεύτηκε στη SD" }, + { "Update complete.\nRebooting...", "Η ενημέρωση ολοκληρώθηκε.\nΕπανεκκίνηση..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Ενημερώστε χειροκίνητα στο flasher.wadamesh.com\n(η ενημέρωση Wi-Fi είναι σε παύση)" }, + { "Update via the Launcher", "Ενημέρωση μέσω του Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Ενημέρωση μέσω του Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Ενημέρωση μέσω του Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Ενημερώθηκε - επανεκκίνηση…" }, + { "Use", "Χρήση" }, + { "Username (optional)", "Όνομα χρήστη (προαιρετικό)" }, + { "Volume", "Ένταση" }, + { "W up · A left · D right · Z down · S select · Q back", "W πάνω · A αριστερά · D δεξιά · Z κάτω · S επιλογή · Q πίσω" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Αναμονή για Wi-Fi..." }, + { "Welcome to WADAMESH", "Καλώς ήρθατε στο WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Όσο είναι ενεργό, οποιοσδήποτε στο Wi-Fi σας μπορεί να βλέπει και να ελέγχει τη συσκευή. Απλό HTTP (μόνο τοπικό δίκτυο)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi & Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Το Wi-Fi δεν είναι ενεργό σε αυτή την έκδοση." }, + { "Wi-Fi isn't available on this build.", "Το Wi-Fi δεν είναι διαθέσιμο σε αυτή την έκδοση." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "Απαιτείται Wi-Fi για το προφίλ\nεδάφους αυτής της διαδρομής.\nΣυνδεθείτε στις Ρυθμίσεις → Wi-Fi." }, + { "Wi-Fi not connected", "Το Wi-Fi δεν συνδέθηκε" }, + { "Wi-Fi off", "Wi-Fi όχι" }, + { "Wi-Fi on", "Wi-Fi ναι" }, + { "Wi-Fi on, scanning…", "Wi-Fi ενεργό, σάρωση…" }, + { "Wi-Fi saved (radio off)", "Το Wi-Fi αποθηκεύτηκε (ράδιο off)" }, + { "Wi-Fi saved, reconnecting", "Το Wi-Fi αποθηκεύτηκε, επανασύνδεση" }, + { "Yesterday", "Χθες" }, + { "You can run setup later in Settings → Device", "Μπορείτε να εκτελέσετε τη ρύθμιση αργότερα στις Ρυθμίσεις → Συσκευή" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Η τοποθεσία σας είναι άγνωστη.\nΟρίστε GPS / θέση στις\nΡυθμίσεις → Προφίλ πρώτα." }, + { "Your name", "Το όνομά σας" }, + { "Your own apps", "Οι δικές σας εφαρμογές" }, + { "Zero-hop", "Χωρίς άλμα" }, + { "Zero-hop advert sent", "Στάλθηκε zero-hop advert" }, + { "Zoom: +/- buttons", "Ζουμ: κουμπιά +/-" }, + { "client connected", "ο πελάτης συνδέθηκε" }, + { "command", "εντολή" }, + { "contacts (%d):", "επαφές (%d):" }, + { "diag boot...", "εκκίνηση διαγν..." }, + { "double-tap SPACE cycles through the ones you enable", "διπλό πάτημα ΔΙΑΣΤΗΜΑ εναλλάσσει τα ενεργά" }, + { "drive the UI without the screen; keys still type in text fields", "χειρισμός UI χωρίς οθόνη· τα πλήκτρα γράφουν στα πεδία" }, + { "e.g. Family", "π.χ. Οικογένεια" }, + { "e.g. mesh", "π.χ. mesh" }, + { "from", "από" }, + { "h to", "ώ έως" }, + { "hold Backspace to unlock", "κρατήστε Backspace για ξεκλείδωμα" }, + { "hold the d-pad to unlock", "κρατήστε το d-pad για ξεκλείδωμα" }, + { "hold the trackball to unlock", "κρατήστε το trackball για ξεκλείδωμα" }, + { "kHz", "kHz" }, + { "keep holding", "κρατήστε πατημένο" }, + { "last wake: ", "τελευταία αφύπνιση: " }, + { "leave empty to generate", "κενό για δημιουργία" }, + { "lights the keyboard + wakes the screen on an incoming message", "φωτίζει το πληκτρολόγιο + ξυπνά την οθόνη σε εισερχόμενο μήνυμα" }, + { "mesh link armed", "σύνδεσμος mesh ενεργός" }, + { "mesh busy", "το mesh απασχολημένο" }, + { "min (0=off)", "λεπτά (0=ανενεργό)" }, + { "mkdir failed", "Αποτυχία δημιουργίας φακέλου" }, + { "n/a in this build", "μ/δ σε αυτή την έκδοση" }, + { "now on channel %s", "τώρα στο κανάλι %s" }, + { "now talking to %s", "τώρα μιλάτε με %s" }, + { "off", "ανενεργός" }, + { "off = Enter adds a new line; tap Send to send", "off = το Enter προσθέτει γραμμή· πατήστε Αποστολή" }, + { "on", "ενεργός" }, + { "peak --", "κορυφή --" }, + { "pick accented letters as you type; off = plain typing", "επιλογή τονισμένων γραμμάτων κατά την πληκτρολόγηση· ανενεργό = απλή" }, + { "press Volume Down to unlock", "πατήστε Μείωση έντασης για ξεκλείδωμα" }, + { "push past a screen edge to scroll content", "σπρώξτε πέρα από την άκρη για κύλιση" }, + { "score %d", "σκορ %d" }, + { "search", "αναζήτηση" }, + { "tap for details", "πατήστε για λεπτομέρειες" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "πατήστε το πλήκτρο γλώσσας (π.χ. EN) στο πληκτρολόγιο για εναλλαγή" }, + { "tap to cancel", "πατήστε για ακύρωση" }, + { "tap to exit full screen", "πατήστε για έξοδο από πλήρη οθόνη" }, + { "zoom", "ζουμ" }, + { "zoom %d", "ζουμ %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "ενισχυτής ~17 dB για ήσυχες/απομακρυσμένες περιοχές· κλείστε σε θορυβώδεις." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_pt_br[] = { + { " (device behind)", " (dispositivo atrasado)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d pontos de cobertura · %lu salvos no SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: aguardando fixação de GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d no mapa" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d por perto (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u tipos · saltos %u · manual %s" }, + { "(RTC unset)", "(RTC não definido)" }, + { "(device behind)", "(aparelho atrasado)" }, + { "(no default)", "(sem padrão)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 byte (legado)\n2 bytes\n3 bytes" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nSem limite" }, + { "12-hour clock", "Relógio de 12 horas" }, + { "32 hex characters", "32 caracteres hex" }, + { "32-hex secret. Anyone with this can read the channel.", "Segredo de 32 hex. Qualquer um com isto lê o canal." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Menções" }, + { "@ mention sound", "Som de menções @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ADVERTS AUTOMÁTICOS" }, + { "About", "Sobre" }, + { "About the map", "Sobre o mapa" }, + { "Accent popups", "Pop-ups de acento" }, + { "Accent popups: off", "Pop-ups de acento: desligados" }, + { "Accent popups: on", "Pop-ups de acento: ligados" }, + { "Ack", "Ack" }, + { "Active", "Ativo" }, + { "Add", "Adicionar" }, + { "Add channel", "Adicionar canal" }, + { "Add contact", "Adicionar contato" }, + { "Added", "Adicionado" }, + { "Added to contacts", "Adicionado aos contatos" }, + { "Added to favorites", "Adicionado aos favoritos" }, + { "Admin", "Admin" }, + { "Advert", "Advert" }, + { "Advert failed", "Falha no advert" }, + { "Advert location", "Local do advert" }, + { "Advert policy saved", "Política de advert salva" }, + { "Advert sent", "Advert enviado" }, + { "All marked read", "Tudo marcado como lido" }, + { "Already exists", "Já existe" }, + { "Already exists or table full.", "Já existe ou tabela cheia." }, + { "Already in contacts", "Já está nos contatos" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "Após reiniciar, sempre começa na antena embutida. Só escolha Externa com uma antena no conector externo." }, + { "Analyzing terrain…", "Analisando o terreno…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Analisando o terreno…\n(tentativa %d de 3)" }, + { "Answer telemetry requests", "Responder solicitações de telemetria" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Qualquer um pode entrar. A chave vem da hashtag (minúsculas)." }, + { "App drawer as home", "Gaveta de apps como tela inicial" }, + { "App icon size", "Tamanho dos ícones de apps" }, + { "Applies after restart.", "Aplica-se após reiniciar." }, + { "Apply", "Aplicar" }, + { "Apply auto-poll", "Aplicar auto-poll" }, + { "Apply radio params", "Aplicar parâmetros de rádio" }, + { "Apps", "Apps" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Setas + Enter sempre funcionam. Estas letras são extras — toque numa linha e pressione uma tecla." }, + { "Auto advert", "Anúncio automático" }, + { "Auto chat", "Auto chat" }, + { "Auto repeater", "Auto repetidor" }, + { "Auto room", "Auto sala" }, + { "Auto sensor", "Auto sensor" }, + { "Auto-Join", "Entrada automática" }, + { "Auto-add contacts", "Auto-adicionar contatos" }, + { "Auto-add saved", "Auto-adição salva" }, + { "Auto-add settings", "Ajustes de adição automática" }, + { "Auto-delete above hops", "Autoexcluir acima de saltos" }, + { "Auto-delete oldest", "Autoexcluir os mais antigos" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Autoexcluir os mais antigos libera espaço quando cheio. Saltos: 0 = manter todos; nós ouvidos por mais saltos são removidos." }, + { "Auto-discover", "Autodescoberta" }, + { "Auto-discover off", "Autodescoberta desativada" }, + { "Auto-discover on", "Autodescoberta ativada" }, + { "Auto-poll every", "Auto-poll a cada" }, + { "Auto-refresh off", "Atualização auto desativada" }, + { "Auto-refresh on", "Atualização auto ativada" }, + { "Available", "Disponíveis" }, + { "BLE off", "BLE desligado" }, + { "BLE on", "BLE ligado" }, + { "BT", "BT" }, + { "Back", "Voltar" }, + { "Backups", "Backups" }, + { "Battery", "Bateria" }, + { "Battery & power history", "Histórico de bateria e energia" }, + { "Battery (V)", "Bateria (V)" }, + { "Battery calibration reset to default", "Calibração da bateria redefinida" }, + { "Battery read too low — charge fully first", "Leitura da bateria muito baixa — carregue até o fim primeiro" }, + { "Battery saver (experimental)", "Economia de bateria (experimental)" }, + { "Battery — last 24h", "Bateria — últimas 24h" }, + { "Battery:", "Bateria:" }, + { "Block", "Bloquear" }, + { "Block list full", "Lista de bloqueio cheia" }, + { "Blocked list", "Lista de bloqueados" }, + { "Blocked users", "Usuários bloqueados" }, + { "Blocked — their messages are hidden", "Bloqueado — as mensagens ficam ocultas" }, + { "Blocking unsupported", "Bloqueio não suportado" }, + { "Blue battery Last 6 min", "Azul bateria Últimos 6 min" }, + { "Blue battery Orange temp Cyan humidity", "Azul bateria Laranja temp. Ciano umidade" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth já desligado" }, + { "Bluetooth already on", "Bluetooth já ligado" }, + { "Bluetooth off", "Bluetooth desligado" }, + { "Bluetooth on", "Bluetooth ligado" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "O pareamento Bluetooth não está disponível neste aparelho.\n\nO firmware de fábrica do chip de rádio não o suporta.\n\nPareie o app do celular pelo Wi-Fi: conecte este aparelho à sua rede e adicione-o no app pelo endereço IP (TCP, porta 5000) — mostrado em Ajustes > Rede. USB também funciona." }, + { "Broker host / IP", "Host / IP do broker" }, + { "Buffered receive (experimental)", "Recepção com buffer (experimental)" }, + { "Built-in", "Integrado" }, + { "Built-in (default)", "Integrado (padrão)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Calibrar bateria (cheia = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Calibrado: 100%% = %u.%02u V (segure para redefinir)" }, + { "Can't block — not a contact", "Não dá para bloquear — não é contato" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Não dá para exibir a imagem\n(só JPEG, <= 1024 px)" }, + { "Cancel", "Cancelar" }, + { "Cancelled", "Cancelado" }, + { "Cannot open file", "Não foi possível abrir o arquivo" }, + { "Catalog unavailable", "Catálogo indisponível" }, + { "Centered on %s", "Centralizado em %s" }, + { "Changing orientation - rebooting...", "Mudando a orientação - reiniciando..." }, + { "Channel created", "Canal criado" }, + { "Channel joined", "Entrou no canal" }, + { "Channel name", "Nome do canal" }, + { "Channel not found", "Canal não encontrado" }, + { "Channel removed", "Canal removido" }, + { "Channel scope saved", "Escopo do canal salvo" }, + { "Channel settings", "Ajustes do canal" }, + { "Channel table is full", "Tabela de canais cheia" }, + { "Channel table is full.", "A tabela de canais está cheia." }, + { "Channel-specific regions can be set in each channel's settings.", "Regiões por canal são definidas nas configurações de cada canal." }, + { "Channels:", "Canais:" }, + { "Chat bubbles", "Balões de chat" }, + { "Chat bubbles: plain", "Balões de chat: simples" }, + { "Chat history is NOT saving", "Histórico do chat NÃO está sendo salvo" }, + { "Chat history save FAILED", "FALHA ao salvar o histórico do chat" }, + { "Chat icon", "Ícone da conversa" }, + { "Chat icon reset to letters", "Ícone do chat redefinido para letras" }, + { "Chat icon set", "Ícone do chat definido" }, + { "Chat removed", "Chat removido" }, + { "Chat save fallback (failed tries)", "Reserva de gravação do chat (falhas)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Conversas, contatos, ajustes e um terminal mesh - tudo no navegador. Sem reiniciar; o aparelho mantém sua tela normal." }, + { "Choose .wav from files", "Escolher .wav dos arquivos" }, + { "Choose your name", "Escolha seu nome" }, + { "Choose your region", "Escolha sua região" }, + { "Clear", "Limpar" }, + { "Clear battery history?", "Limpar histórico da bateria?" }, + { "Clear history", "Limpar histórico" }, + { "Clear telemetry history for this node?", "Limpar histórico de telemetria deste nó?" }, + { "Client repeat", "Repetição do cliente" }, + { "Clock synced", "Relógio sincronizado" }, + { "Clock: 12-hour", "Relógio: 12 horas" }, + { "Clock: 24-hour", "Relógio: 24 horas" }, + { "Close", "Fechar" }, + { "Colourful chat bubbles", "Balões de chat coloridos" }, + { "Commands", "Comandos" }, + { "Community Preset", "Predefinição da comunidade" }, + { "Community preset (meshcomod web)", "Predefinição da comunidade (meshcomod web)" }, + { "Compact messages", "Mensagens compactas" }, + { "Compact messages (IRC style)", "Mensagens compactas (estilo IRC)" }, + { "Connect", "Conectar" }, + { "Connect Wi-Fi to reload tiles", "Conecte o Wi-Fi para recarregar os tiles" }, + { "Connect to Wi-Fi", "Conectar ao Wi-Fi" }, + { "Connect to Wi-Fi first", "Conecte-se ao Wi-Fi primeiro" }, + { "Connect to Wi-Fi first, then try again.", "Conecte-se ao Wi-Fi primeiro e tente novamente." }, + { "Connect to Wi-Fi to get a browser address.", "Conecte-se ao Wi-Fi para obter um endereço de navegador." }, + { "Connected", "Conectado" }, + { "Connected - a browser is viewing this screen.", "Conectado - um navegador está vendo esta tela." }, + { "Connecting...", "Conectando..." }, + { "Connecting…", "Conectando…" }, + { "Console not available on this build", "Console indisponível nesta versão" }, + { "Contact added", "Contato adicionado" }, + { "Contact deleted", "Contato excluído" }, + { "Contact gone", "Contato sumiu" }, + { "Contact missing", "Contato ausente" }, + { "Contacts", "Contatos" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Os contatos estão na memória interna - o cartão SD não montou na inicialização. Recoloque o cartão e reinicie." }, + { "Contacts are on internal flash.", "Os contatos estão na memória interna." }, + { "Contacts are saved to the SD card.", "Os contatos são salvos no cartão SD." }, + { "Contacts full", "Contatos cheios" }, + { "Contacts:", "Contatos:" }, + { "Control", "Controle" }, + { "Control this device from a browser", "Controle este aparelho pelo navegador" }, + { "Copied %s", "%s copiado" }, + { "Copied - Paste in a folder", "Copiado - cole numa pasta" }, + { "Copy", "Copiar" }, + { "Copy failed (no internal identity)", "Falha na cópia (sem identidade interna)" }, + { "Copy internal data to SD", "Copiar dados internos para o SD" }, + { "Copy secret", "Copiar segredo" }, + { "Copying internal data to SD...", "Copiando dados internos para o SD..." }, + { "Could not add", "Não foi possível adicionar" }, + { "Could not save the crash report", "Não foi possível salvar o relatório de falha" }, + { "Couldn't delete", "Não foi possível excluir" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Não foi possível obter os dados do terreno.\nVerifique a conexão e o\nservidor de elevação e\ntente novamente." }, + { "Couldn't save the name to storage", "Não foi possível salvar o nome" }, + { "Couldn't send login", "Não foi possível enviar o login" }, + { "Couldn't start the analyzer.\nTry again.", "Não foi possível iniciar o analisador.\nTente de novo." }, + { "Crash export failed", "Falha ao exportar o relatório" }, + { "Create", "Criar" }, + { "Create QR", "Criar QR" }, + { "Create a private channel", "Criar um canal privado" }, + { "Create failed", "Falha ao criar" }, + { "Create private channel", "Criar canal privado" }, + { "Custom UTC offset (hours)", "Deslocamento UTC personalizado (horas)" }, + { "Cut", "Recortar" }, + { "Cut - Paste in a folder", "Recortado - cole numa pasta" }, + { "DM sound", "Som de DM" }, + { "DND", "DND" }, + { "Danger zone", "Zona de perigo" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Dados -> cartão SD ao reiniciar\n(cartão deve estar inserido)" }, + { "Data -> internal on reboot", "Dados -> interno ao reiniciar" }, + { "Delete", "Excluir" }, + { "Delete %d contact(s)?", "Excluir %d contato(s)?" }, + { "Delete chat", "Excluir conversa" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Excluir chat com \"%s\"?\nO histórico de mensagens será apagado." }, + { "Delete failed", "Falha ao excluir" }, + { "Delete history", "Apagar histórico" }, + { "Delete this backup file?\nThis cannot be undone.", "Excluir este arquivo de backup?\nIsto não pode ser desfeito." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Apagar todo o histórico deste chat?\nO chat em si permanece." }, + { "Deleted", "Excluído" }, + { "Deleted %d", "%d excluído(s)" }, + { "Deleted %d messages", "%d mensagens excluídas" }, + { "Deleting contacts", "Excluindo contatos" }, + { "Delivered", "Entregue" }, + { "Detailed sensors", "Sensores detalhados" }, + { "Device clock differs from \"%s\" by %lu h%s", "O relógio difere de \"%s\" em %lu h%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "O relógio difere de \"%s\" em %lu min%s" }, + { "Device name hidden", "Nome do dispositivo oculto" }, + { "Device name shown", "Nome do dispositivo visível" }, + { "Device time:", "Hora do aparelho:" }, + { "Diagnostics", "Diagnóstico" }, + { "Diagnostics are on the About page.", "Diagnosticarea este pe pagina Despre." }, + { "Discovered", "Descobertos" }, + { "Discovered settings", "Configurações de descobertos" }, + { "Display", "Tela" }, + { "Display name", "Nome exibido" }, + { "Distance in miles", "Distância em milhas" }, + { "Distance: km", "Distância: km" }, + { "Distance: miles", "Distância: milhas" }, + { "Do Not Disturb", "Não perturbe" }, + { "Do Not Disturb off", "Não perturbe desativado" }, + { "Do Not Disturb on", "Não perturbe ativado" }, + { "Download failed", "Falha no download" }, + { "Download failed (network?)", "Falha no download (rede?)" }, + { "Download mode", "Modo download" }, + { "Download mode… reflash over USB", "Modo download… regrave via USB" }, + { "Downloaded - tap Use to switch", "Baixado - toque em Usar para trocar" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Baixando blocos do mapa…\n\nMantenha o Wi-Fi conectado.\nOs blocos aparecem ao chegar\ne são salvos para uso offline." }, + { "Downloading…", "Baixando…" }, + { "Duty meter", "Medidor de ciclo" }, + { "Edge scroll", "Rolagem na borda" }, + { "Edit in Settings → Quick replies", "Edite em Ajustes → Respostas rápidas" }, + { "Editing", "Editando" }, + { "Empty = plaintext to a private broker", "Vazio = texto puro para um broker privado" }, + { "Empty file", "Arquivo vazio" }, + { "Enable Bluetooth", "Ativar Bluetooth" }, + { "Enable MQTT bridge", "Ativar ponte MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Ative apenas se o seu repetidor reinundar só uma região. Caso contrário, deixe desligado — pode bloquear login/DMs entre regiões." }, + { "Enable web access", "Ativar acesso pela web" }, + { "Encryption key (optional)", "Chave de criptografia (opcional)" }, + { "End time", "Hora de término" }, + { "Enter SSID first", "Digite o SSID primeiro" }, + { "Enter a name", "Digite um nome" }, + { "Enter a network name", "Digite um nome de rede" }, + { "Enter adds a new line", "Enter adiciona uma linha" }, + { "Enter exactly 32 hex characters.", "Digite exatamente 32 caracteres hex." }, + { "Enter key sends message", "A tecla Enter envia a mensagem" }, + { "Enter sends messages", "Enter envia as mensagens" }, + { "Enter the 32-hex secret shared by the channel creator.", "Digite o segredo de 32 hex compartilhado pelo criador do canal." }, + { "Entering remote mode - rebooting...", "Entrando no modo remoto - reiniciando..." }, + { "Erase all", "Apagar tudo" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Apaga identidade, contatos, canais, mensagens, Wi-Fi e todos os ajustes, depois reinicia." }, + { "Erasing everything…", "Apagando tudo…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Todo nó com quem você fala deve coincidir. Você pode mudar isto depois em Ajustes." }, + { "Expansion Kit", "Kit de expansão" }, + { "Experimental", "Experimental" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Experimental - tem problemas conhecidos. Desligado = cursor de mouse suave." }, + { "Experimental saved", "Experimental salvo" }, + { "Export failed (can't open file)", "Falha ao exportar (não abre o arquivo)" }, + { "Export new backup", "Exportar novo backup" }, + { "Export settings", "Exportar ajustes" }, + { "Exporting settings…", "Exportando ajustes…" }, + { "External antenna selected", "Antena externa selecionada" }, + { "Factory reset", "Restauração de fábrica" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Restauração de fábrica?\n\nApaga identidade, contatos,\ncanais, mensagens, Wi-Fi\ne todos os ajustes. Isto\nnão pode ser desfeito." }, + { "Failed to save channel.", "Falha ao salvar o canal." }, + { "Favorites full (max %d)", "Favoritos cheios (máx %d)" }, + { "Favorites unsupported", "Favoritos sem suporte" }, + { "Fetching the app list from firmware.wadamesh.com", "Buscando a lista de apps em firmware.wadamesh.com" }, + { "Files", "Arquivos" }, + { "Find", "Buscar" }, + { "Finish", "Concluir" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nNão foi possível acessar o servidor de atualização" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Piscar em nova mensagem" }, + { "Flood", "Difusão" }, + { "Flood advert sent", "Flood advert enviado" }, + { "Flood every", "Flood a cada" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: retransmitido pela malha (multissalto).\nZero-hop: só vizinhos (sem retransmissão)." }, + { "Folder created", "Pasta criada" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Para instalações via Launcher: salva o firmware mais recente do canal selecionado no cartão SD (pasta BINS)." }, + { "Forget network", "Esquecer rede" }, + { "Format", "Formatar" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Formatar SD como MESHCOMOD (FAT32)?\nTodos os dados do cartão serão apagados." }, + { "Format failed (no card / SD error)", "Falha ao formatar (sem cartão / erro SD)" }, + { "Frequency / bandwidth", "Frequência / largura de banda" }, + { "Full", "Cheio" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Campainha %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Campainha %s\n%s" }, + { "GPS off", "GPS desligado" }, + { "GPS on", "GPS ligado" }, + { "GPS serial baud", "Baud serial do GPS" }, + { "GPS unset", "GPS não definido" }, + { "GPS: acquiring...", "GPS: adquirindo..." }, + { "GPS: fix", "GPS: fixado" }, + { "GPS: off", "GPS: desligado" }, + { "GPS: searching", "GPS: procurando" }, + { "Game over — score %d (tap to restart)", "Fim de jogo — pontos %d (toque para reiniciar)" }, + { "Get", "Baixar" }, + { "Get Started", "Começar" }, + { "Get test builds (beta)", "Receber versões de teste (beta)" }, + { "Go", "Ir" }, + { "Green pressure Gray altitude", "Verde pressão Cinza altitude" }, + { "Hashtag name", "Nome da hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Oculto - reative na Lua Store" }, + { "Hidden network", "Rede oculta" }, + { "Hide", "Ocultar" }, + { "Hide device name", "Ocultar nome do dispositivo" }, + { "Hide this app from the drawer?", "Ocultar este app da gaveta?" }, + { "High-gain receiver (FEM LNA)", "Receptor de alto ganho (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Altamente experimental. Isto encaminha o texto, o nome do remetente e a marca de tempo de cada mensagem que o seu nó recebe para um broker MQTT, onde qualquer um que possa ler o broker pode lê-las. Mensagens diretas são privadas, de outras pessoas que nunca concordaram em ser compartilhadas. Use um broker que você controle, defina uma chave de criptografia abaixo, e nunca um broker público." }, + { "History limit off", "Limite de histórico desligado" }, + { "Hotkey saved", "Atalho salvo" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Como você aparecerá para outros nós. Você pode mudar isto depois em Ajustes." }, + { "Humidity", "Umidade" }, + { "I accept the privacy risk", "Aceito o risco de privacidade" }, + { "Identity (public key)", "Identidade (chave pública)" }, + { "Idle power-save", "Economia de energia ocioso" }, + { "Idle sleep disabled", "Suspensão ociosa desativada" }, + { "Idle sleep enabled", "Suspensão ociosa ativada" }, + { "Image too large (>4 MB)", "Imagem grande demais (>4 MB)" }, + { "Import", "Importar" }, + { "Import backup", "Importar backup" }, + { "Import failed (bad/unreadable JSON)", "Falha ao importar (JSON inválido/ilegível)" }, + { "Import settings", "Importar ajustes" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Importar este backup?\nSubstitui identidade,\ncanais e contatos,\ndepois reinicia." }, + { "Import: storage unavailable", "Importar: armazenamento indisponível" }, + { "Importing settings…", "Importando ajustes…" }, + { "Inactive", "Inativo" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Inserir emoji / símbolo" }, + { "Install", "Instalar" }, + { "Install a previous version", "Instalar uma versão anterior" }, + { "Install an earlier version", "Instalar uma versão anterior" }, + { "Install failed (network?)", "Falha na instalação (rede?)" }, + { "Install update", "Instalar atualização" }, + { "Installed", "Instaladas" }, + { "Installing…", "Instalando…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Interna (embutida)\nExterna (MMCX)\nAuto (antigo, por transmissão)" }, + { "Internal has no folders", "O interno não tem pastas" }, + { "Internal storage %s / %s", "Armazenamento interno %s / %s" }, + { "Invalid lat/lon", "Lat/lon inválida" }, + { "Invalid max hops", "Máx. saltos inválido" }, + { "Invalid radio values", "Valores de rádio inválidos" }, + { "Join", "Entrar" }, + { "Join a hashtag channel", "Entrar em um canal de hashtag" }, + { "Join a private channel", "Entrar em um canal privado" }, + { "Join hashtag channel", "Entrar em canal de hashtag" }, + { "Join network", "Entrar na rede" }, + { "Join private channel", "Entrar em canal privado" }, + { "Join the public channel", "Entrar no canal público" }, + { "Joined %.40s", "Entrou em %.40s" }, + { "Keep per chat (messages)", "Manter por conversa (mensagens)" }, + { "Key already in use", "Chave já em uso" }, + { "Keyboard", "Teclado" }, + { "Keyboard backlight", "Luz do teclado" }, + { "Keyboard light auto", "Luz do teclado automática" }, + { "Keyboard light off", "Luz do teclado desligada" }, + { "Keyboard light on", "Luz do teclado ligada" }, + { "Keyboard nav: WASDZ on", "Nav. teclado: WASDZ ligado" }, + { "Keyboard nav: off", "Nav. teclado: desligado" }, + { "Keyboard navigation", "Navegação por teclado" }, + { "LOS → %s", "Linha de visada → %s" }, + { "Landscape (desktop)", "Paisagem (desktop)" }, + { "Landscape set - applies when remote mode starts.", "Paisagem definida - vale quando o modo remoto iniciar." }, + { "Language", "Idioma" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Catálogo de idiomas indisponível - verifique o Wi-Fi e reabra esta aba." }, + { "Language updated - restarting to apply it…", "Idioma atualizado - reiniciando para aplicar…" }, + { "Languages", "Idiomas" }, + { "Latitude", "Latitude" }, + { "Leave empty if not required", "Deixe vazio se não for necessário" }, + { "Leaving remote mode - rebooting...", "Saindo do modo remoto - reiniciando..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Vamos configurar seu dispositivo.\n\nVocê escolherá um nome e sua região LoRa. Leva cerca de um minuto." }, + { "Letters only", "Somente letras" }, + { "LoRa antenna (P4)", "Antena LoRa (P4)" }, + { "Loading catalog…", "Carregando catálogo…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Carregando blocos do mapa…\n\nMantenha o Wi-Fi conectado.\nOs blocos aparecem ao chegar." }, + { "Loading map…", "Carregando mapa…" }, + { "Loading the language catalog…", "Carregando catálogo de idiomas…" }, + { "Loading...", "Carregando..." }, + { "Local every", "Local a cada" }, + { "Local sensors", "Sensores locais" }, + { "Lock", "Bloquear" }, + { "Lock screen", "Tela de bloqueio" }, + { "Lock screen wallpaper", "Papel de parede do bloqueio" }, + { "Lock text colour", "Cor do texto de bloqueio" }, + { "Lock text colour set", "Cor do texto de bloqueio definida" }, + { "Lock wallpaper", "Papel de parede do bloqueio" }, + { "Lock wallpaper set", "Papel de parede definido" }, + { "Lock when screen off", "Bloquear com tela desligada" }, + { "Locking…", "Bloqueando…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Bloqueia com a tela desligada\n(segure Backspace para desbloquear)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Bloqueia com tela desligada\n(segure o d-pad para desbloquear)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Bloqueia com tela desligada\n(segure o trackball para desbloquear)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Bloqueia com tela desligada\n(pressione Volume para baixo para desbloquear)" }, + { "Locks when screen off\n(press the button to unlock)", "Bloqueia com tela desligada\n(pressione o botão para desbloquear)" }, + { "Log in again", "Entrar novamente" }, + { "Logging in again...", "Entrando novamente..." }, + { "Logging in…", "Entrando…" }, + { "Login OK (perms %u)", "Login OK (perms %u)" }, + { "Login failed", "Falha no login" }, + { "Logs", "Registros" }, + { "Longitude", "Longitude" }, + { "Lua Store", "Loja Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Ponte MQTT" }, + { "Map", "Mapa" }, + { "Map options", "Opções do mapa" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Erro de armazenamento do mapa.\n\nCartão SD detectado mas o\ncache de tiles não montou.\nReinicie para tentar de novo." }, + { "Map storage error.\nReflash the tiles partition.", "Erro de armazenamento do mapa.\nRegrave a partição de tiles." }, + { "Map tiles: microSD", "Tiles do mapa: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Blocos do mapa: microSD\n\n/maps/osm/z/x/y.png\n(ou /tiles/z/x/y.jpg)\n\nO mapa aparece quando um bloco\npara esta área é encontrado." }, + { "Map tiles: server", "Tiles do mapa: servidor" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Mapa — ainda sem pacote de blocos no SPIFFS.\n\nEnvie um pacote para /tiles///.jpg com o gerador no host." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Mapa — defina sua localização\nem Ajustes → Perfil para\nmostrar o mapa aqui." }, + { "Mark all chats and channels as read?", "Marcar todos os chats e canais como lidos?" }, + { "Mark as read", "Marcar como lido" }, + { "Mark read", "Marcar como lido" }, + { "Marked read", "Marcado como lido" }, + { "Max hops (0..64)", "Máx. saltos (0..64)" }, + { "Max zoom for this pack", "Zoom máx. para este pacote" }, + { "Memory detail", "Detalhe de memória" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Saúde da malha: um advert flood é retransmitido por cada repetidor ao alcance, então floods frequentes somam tempo de antena para toda a rede. Mantenha-os raros (um dia ou mais). Seus vizinhos ainda o veem pelos adverts zero-hop e suas respostas, então faça flood principalmente quando nós distantes precisarem redescobri-lo. Deixe ambos desligados para anunciar só ao tocar os botões acima." }, + { "Message", "Mensagem" }, + { "Message LED", "LED de mensagem" }, + { "Message LED off", "LED de mensagem desligado" }, + { "Message LED on", "LED de mensagem ligado" }, + { "Message deleted", "Mensagem excluída" }, + { "Message didn't get through.\nResend it?", "A mensagem não chegou.\nReenviar?" }, + { "Message info", "Info da mensagem" }, + { "Message sound", "Som de mensagem" }, + { "Min zoom for this pack", "Zoom mín. para este pacote" }, + { "Mode: BLE starting / low memory", "Modo: BLE iniciando / pouca memória" }, + { "Model:", "Modelo:" }, + { "Multi ACKs", "Multi ACKs" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Repetir %s · RX boost %s" }, + { "Multi-byte routing (path hash)", "Roteamento multibyte (hash de rota)" }, + { "Mute @", "Silenciar @" }, + { "Mute msgs", "Silenciar msgs" }, + { "Mute notification sound", "Silenciar som de notificação" }, + { "My position (no GPS fix)", "Minha posição (sem fixação GPS)" }, + { "Name", "Nome" }, + { "Name can't be empty.", "O nome não pode ficar vazio." }, + { "Name fragment", "Fragmento de nome" }, + { "Name saved", "Nome salvo" }, + { "Navigation keys", "Teclas de navegação" }, + { "Navigation keys — tap a row, then press a key", "Teclas de navegação — toque uma linha, depois pressione uma tecla" }, + { "Nearby on map", "Por perto no mapa" }, + { "Network name", "Nome da rede" }, + { "Network name (SSID)", "Nome da rede (SSID)" }, + { "New", "Novo" }, + { "New DM", "Nova DM" }, + { "New channel msg", "Nova msg de canal" }, + { "New contact", "Novo contato" }, + { "New file", "Novo arquivo" }, + { "New folder", "Nova pasta" }, + { "New game", "Novo jogo" }, + { "New room msg", "Nova msg de sala" }, + { "Next", "Avançar" }, + { "Night mode (invert)", "Modo noturno (inverter)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Nenhum backup .json encontrado.\nExporte um primeiro, ou copie um\nmeshcore-backup.json para o\ncartão SD ou a flash interna." }, + { "No @mentions yet", "Ainda sem @menções" }, + { "No Bluetooth on this device", "Sem Bluetooth neste aparelho" }, + { "No DM key", "Sem chave de DM" }, + { "No GPS module on this device.", "Sem módulo GPS neste dispositivo." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Nenhum JPEG em /lock/.\nAdicione imagens pelo gerenciador\nde arquivos ou um cartão SD." }, + { "No SD card", "Sem cartão SD" }, + { "No SD card (or unreadable format)", "Sem cartão SD (ou formato ilegível)" }, + { "No backups yet. Tap Export new backup above to create one.", "Ainda sem backups. Toque em Exportar novo backup acima para criar um." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Ainda sem histórico da bateria.\n\nRegistrado a cada 5 minutos." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Nenhum usuário bloqueado.\n\nSegure uma mensagem e toque\nBloquear para adicionar." }, + { "No contact for thread", "Sem contato para a conversa" }, + { "No contact to trace", "Sem contato para rastrear" }, + { "No contacts have shared\na GPS location yet.", "Nenhum contato compartilhou\numa localização GPS ainda." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Ainda sem nós descobertos.\n\nTudo ouvido pelo rádio que não esteja nos seus contatos aparecerá aqui. Quando a adição automática está desligada, você pode adicionar nós manualmente." }, + { "No earlier versions yet", "Ainda sem versões anteriores" }, + { "No local expansion data", "Sem dados de expansão local" }, + { "No location for this contact", "Sem localização para este contato" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Sem armazenamento de mapa.\n\nInsira um cartão SD para\nguardar tiles do Wi-Fi (ou regrave\npara restaurar a partição de tiles)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Sem blocos de mapa aqui.\n\nConecte-se ao Wi-Fi (Ajustes → Wi-Fi)\npara baixar esta área." }, + { "No mapped repeaters in this route", "Sem repetidores mapeados nesta rota" }, + { "No networks found (2.4 GHz only)", "Nenhuma rede encontrada (só 2.4 GHz)" }, + { "No onboard GPS", "Sem GPS integrado" }, + { "No other networks found", "Nenhuma outra rede encontrada" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Ainda sem posição. Uma partida a frio precisa de céu aberto e pode levar vários minutos." }, + { "No reply from %s", "Sem resposta de %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Sem resposta. Verifique senha, servidor\nou relógio do dispositivo (dispositivo: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Sem blocos salvos aqui.\n\nConecte-se ao Wi-Fi (Ajustes → Wi-Fi)\npara baixar esta área.\nOs blocos salvos ficam disponíveis offline." }, + { "No system time yet", "Ainda sem hora do sistema" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Sem telemetria nesta janela.\nSolicite uma ou amplie o intervalo abaixo." }, + { "No tiles (non-ESP32)", "Sem tiles (não ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Ainda sem versão conhecida. Primeiro são necessários Wi-Fi e uma verificação de atualização concluída." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Nó\nRegião\nRádio\nSinal\nContatos\nCanais\nBateria\nAtividade" }, + { "Node name", "Nome do nó" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normal (100%)\nGrande (150%)\nEnorme (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Memória insuficiente para Bluetooth. Desligue o Wi-Fi primeiro." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Memória insuficiente para Wi-Fi. Desligue o Bluetooth primeiro." }, + { "Nothing selected", "Nada selecionado" }, + { "Notification sound set", "Som de notificação definido" }, + { "Notify on new contact", "Notificar novo contato" }, + { "Off", "Desligado" }, + { "Off\n1\n2\n3\n5\n8", "Desligado\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Desligado\n1 dia\n2 dias\n3 dias\n7 dias" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Desligado\n60 min\n90 min\n2 horas\n3 horas\n4 horas" }, + { "Offline", "Off-line" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Mensagens antigas além disso são descartadas. Um histórico muito grande ou ilimitado deixa a lista de conversas lenta." }, + { "On - open the address above in a phone browser.", "Ligado - abra o endereço acima no navegador do celular." }, + { "On boot", "Ao iniciar" }, + { "On map", "No mapa" }, + { "Open Advertise app", "Abrir o app Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Abra um .wav e toque em 'Definir como som de notificação'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Abra um JPEG e toque em 'Definir como papel de parede'" }, + { "Open chat", "Abrir conversa" }, + { "Open in a browser (same Wi-Fi):", "Abra em um navegador (mesmo Wi-Fi):" }, + { "Open in web", "Abrir na web" }, + { "Open mesh console", "Abrir console da malha" }, + { "Optional — type your network, or leave blank to skip.", "Opcional — digite sua rede, ou deixe em branco para pular." }, + { "Orange temp Cyan humidity", "Laranja temp. Ciano umidade" }, + { "Orientation (tap to rotate, reboots)", "Orientação (toque para girar, reinicia)" }, + { "Out of memory", "Sem memória" }, + { "Overwrite oldest", "Sobrescrever o mais antigo" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Sobrescrever as configurações e a identidade do SD\ncom as cópias internas\ne reiniciar?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG não é suportado aqui\nUse um JPEG" }, + { "Pairing code", "Código de pareamento" }, + { "Pairing code saved — reboot to apply", "Código de pareamento salvo — reinicie para aplicar" }, + { "Pairing code: %06lu", "Código de pareamento: %06lu" }, + { "Pairing code: n/a", "Código de pareamento: n/d" }, + { "Password (empty = open)", "Senha (vazio = aberta)" }, + { "Password (empty = skip Wi-Fi)", "Senha (vazio = pular Wi-Fi)" }, + { "Password (optional)", "Senha (opcional)" }, + { "Password too long", "Senha muito longa" }, + { "Paste", "Colar" }, + { "Paste failed", "Falha ao colar" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Cole a chave pública de 64 hex e um nome. Útil para mandar DM a alguém antes do advert chegar." }, + { "Pasted", "Colado" }, + { "Path hash: %u byte%s", "Hash de rota: %u byte%s" }, + { "Path reset", "Rota redefinida" }, + { "Path reset failed", "Falha ao redefinir rota" }, + { "Paused — score %d", "Pausado — pontuação %d" }, + { "Per-transmit switching on", "Comutação por transmissão ligada" }, + { "Pick colour", "Escolher cor" }, + { "Ping", "Ping" }, + { "Ping failed", "Falha no ping" }, + { "Pinged (direct) — waiting…", "Ping (direto) — aguardando…" }, + { "Pinged (flood) — waiting…", "Ping (flood) — aguardando…" }, + { "Play", "Reproduzir" }, + { "Poll (min)", "Consulta (min)" }, + { "Poll every", "Consultar a cada" }, + { "Poll every %d min", "Consultar a cada %d min" }, + { "Port", "Porta" }, + { "Portrait set - applies when remote mode starts.", "Retrato definido - vale quando o modo remoto iniciar." }, + { "Position saved", "Posição salva" }, + { "Power", "Energia" }, + { "Power off", "Desligar" }, + { "Powering off… click trackball to wake", "Desligando… clique o trackball para acordar" }, + { "Press a key…", "Pressione uma tecla…" }, + { "Probe now", "Sondar agora" }, + { "Probing neighbours…", "Sondando vizinhos…" }, + { "Profile", "Perfil" }, + { "Pubkey must be 64 hex chars.", "A chave pública deve ter 64 hex." }, + { "Public channel ready", "Canal público pronto" }, + { "Public key (64 hex chars)", "Chave pública (64 hex)" }, + { "Public key:", "Chave pública:" }, + { "Publish channel messages", "Publicar mensagens do canal" }, + { "Publish direct messages", "Publicar mensagens diretas" }, + { "Purge", "Limpar" }, + { "Purge all discovered nodes?", "Limpar todos os nós descobertos?" }, + { "Quick replies", "Respostas rápidas" }, + { "Quick reply", "Resposta rápida" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d entradas · Raw %d entradas" }, + { "RX boosted gain", "Ganho RX reforçado" }, + { "RX log", "Log RX" }, + { "Radio & Mesh", "Rádio & Mesh" }, + { "Radio + region set", "Rádio + região definidos" }, + { "Radio applied", "Rádio aplicado" }, + { "Radio off", "Rádio desligado" }, + { "Radio: off", "Rádio: desligado" }, + { "Range test", "Teste de alcance" }, + { "RangeTest failed", "Falha no RangeTest" }, + { "RangeTest sent (direct)", "RangeTest enviado (direto)" }, + { "RangeTest sent (flood)", "RangeTest enviado (flood)" }, + { "Raw log", "Log bruto" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Lê pacotes em uma tarefa em segundo plano para que uma tela ocupada não os perca." }, + { "Reboot", "Reiniciar" }, + { "Reboot device", "Reiniciar aparelho" }, + { "Rebooting...", "Reiniciando..." }, + { "Rebooting…", "Reiniciando…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Receber firmware de teste não lançado — recursos mais novos, mas menos testados. A verificação e a instalação seguem o canal beta." }, + { "Recently heard", "Ouvido recentemente" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Reformatar o SD como MESHCOMOD (FAT32)?\nTODOS os dados do cartão serão apagados." }, + { "Region & scope", "Região e alcance" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Escopo de região (#tag) para este canal.\nVazio = usar o escopo padrão." }, + { "Region scope (#tag), blank = default.", "Escopo da região (#tag), vazio = padrão." }, + { "Region scope (#tag, blank = none)", "Escopo de região (#tag, vazio = nenhum)" }, + { "Remember password", "Lembrar senha" }, + { "Remote UI", "Interface remota" }, + { "Remote UI (on)", "Interface remota (ligada)" }, + { "Remote access", "Acesso remoto" }, + { "Remote terminal", "Terminal remoto" }, + { "Remote terminal (recommended)", "Terminal remoto (recomendado)" }, + { "Remote terminal off", "Terminal remoto desligado" }, + { "Remove", "Remover" }, + { "Remove %s?", "Remover %s?" }, + { "Remove channel", "Remover canal" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Remover canal \"%s\"?\nDeixa-o só neste aparelho." }, + { "Removed", "Removido" }, + { "Removed from favorites", "Removido dos favoritos" }, + { "Rename", "Renomear" }, + { "Rename failed", "Falha ao renomear" }, + { "Renamed", "Renomeado" }, + { "Replay", "Reproduzir" }, + { "Replay route on map", "Reproduzir rota no mapa" }, + { "Replaying route…", "Reproduzindo rota…" }, + { "Resend", "Reenviar" }, + { "Resend failed", "Falha ao reenviar" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Reenvia a mensagem até um repetidor ecoá-la ou o destinatário confirmar. Desligue para enviar só uma vez." }, + { "Reset", "Redefinir" }, + { "Reset path", "Redefinir caminho" }, + { "Restarting to apply the language…", "Reiniciando para aplicar o idioma…" }, + { "Retry sends until heard", "Reenviar até ser ouvido" }, + { "Reverse scrollball", "Inverter o scrollball" }, + { "Roll to highlight • click to insert", "Role para destacar • clique para inserir" }, + { "Room is read-only for you.\nJoin with the room password to post.", "A sala é somente leitura para você.\nEntre com a senha da sala para publicar." }, + { "Rotating - reconnecting...", "Girando - reconectando..." }, + { "Rotating… rebooting", "Girando… reiniciando" }, + { "Run setup again", "Executar configuração de novo" }, + { "SD card %s", "Cartão SD %s" }, + { "SD card %s (hold: format)", "Cartão SD %s (segure: formatar)" }, + { "SD card (tap to mount)", "Cartão SD (toque para montar)" }, + { "SD card inserted", "Cartão SD inserido" }, + { "SD card lost - reinsert to recover", "Cartão SD perdido - reinsira-o" }, + { "SD card remounted", "Cartão SD remontado" }, + { "SD card removed", "Cartão SD removido" }, + { "SD download failed: %s", "Falha ao baixar no SD: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formatado - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB usados" }, + { "SSID set — enter password, then Save", "SSID definido — digite a senha e Salvar" }, + { "SSID too long", "SSID muito longo" }, + { "Sample text", "Texto de exemplo" }, + { "Save", "Salvar" }, + { "Save & restart", "Salvar e reiniciar" }, + { "Save / turn on", "Salvar / ligar" }, + { "Save auto-add", "Salvar auto-adição" }, + { "Save experimental", "Salvar experimental" }, + { "Save failed", "Falha ao salvar" }, + { "Save name", "Salvar nome" }, + { "Save policy", "Salvar política" }, + { "Save position", "Salvar posição" }, + { "Save quick replies", "Salvar respostas rápidas" }, + { "Save report", "Salvar relatório" }, + { "Save update bin to SD", "Salvar atualização no SD" }, + { "Saved", "Salvo" }, + { "Saved backups", "Backups salvos" }, + { "Saved network", "Rede salva" }, + { "Saved profiles", "Perfis salvos" }, + { "Saved to slot %d", "Salvo no slot %d" }, + { "Saved — rebooting", "Salvo — reiniciando" }, + { "Saved — reconnecting…", "Salvo — reconectando…" }, + { "Saved: %s\nFlash it from the Launcher.", "Salvo: %s\nInstale pelo Launcher." }, + { "Saving to SD… %d%%", "Salvando no SD… %d%%" }, + { "Saving to SD… 0%", "Salvando no SD… 0%" }, + { "Scan to open on phone", "Escaneie para abrir no celular" }, + { "Scanning…", "Buscando…" }, + { "Scope direct msgs to region", "Limitar mensagens diretas à região" }, + { "Screen locked", "Tela bloqueada" }, + { "Screen timeout (s, 0 = never)", "Tempo de tela (s, 0 = nunca)" }, + { "Screen timeout (s, 0 = never, min 10)", "Tempo da tela (s, 0 = nunca, mín 10)" }, + { "Screen timeout: %ds", "Tempo de tela: %ds" }, + { "Screen timeout: never", "Tempo de tela: nunca" }, + { "Screen-off just dims", "Tela desligada só escurece" }, + { "Screenshot needs an SD card", "A captura precisa de um cartão SD" }, + { "Screenshot: low memory", "Captura: pouca memória" }, + { "Screenshot: no SD card", "Captura: sem cartão SD" }, + { "Screenshot: write failed", "Captura: falha na gravação" }, + { "Scrollball: normal", "Scrollball: normal" }, + { "Scrollball: reversed", "Scrollball: invertido" }, + { "Search", "Buscar" }, + { "Search contacts", "Buscar contatos" }, + { "Secondary keyboards", "Teclados secundários" }, + { "Secret (32 hex chars)", "Segredo (32 hex)" }, + { "Secret (32 hex, optional)", "Segredo (32 hex, opcional)" }, + { "Secret must be 32 hex chars (or empty).", "O segredo deve ter 32 hex (ou vazio)." }, + { "Select a DM thread", "Selecione uma conversa de DM" }, + { "Select all", "Selecionar tudo" }, + { "Select network", "Selecionar rede" }, + { "Send advert", "Enviar advert" }, + { "Send advert now", "Enviar advert agora" }, + { "Send an advert now, or set how often you re-advertise.", "Envie um advert agora, ou defina com que frequência re-anuncia." }, + { "Send failed", "Falha ao enviar" }, + { "Sender blocked", "Remetente bloqueado" }, + { "Sensors tab: off (restart to apply)", "Aba de sensores: desligada (reinicie para aplicar)" }, + { "Sensors tab: on (restart to apply)", "Aba de sensores: ligada (reinicie para aplicar)" }, + { "Sent", "Enviado" }, + { "Set", "Definir" }, + { "Set an SSID first", "Defina um SSID primeiro" }, + { "Set as notification sound", "Definir como som de notificação" }, + { "Set as wallpaper", "Definir como papel de parede" }, + { "Set your location first", "Defina sua localização primeiro" }, + { "Settings", "Ajustes" }, + { "Setup complete", "Configuração concluída" }, + { "Share QR", "Compartilhar QR" }, + { "Share channel", "Compartilhar canal" }, + { "Share location in advert", "Compartilhar local no advert" }, + { "Share secret", "Compartilhar segredo" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Compartilhe o segredo de 32 caracteres para outros entrarem. Deixe vazio para gerar um aleatório." }, + { "Share: %s", "Compartilhar: %s" }, + { "Show", "Mostrar" }, + { "Show Sensors tab", "Mostrar aba Sensores" }, + { "Show in the app drawer", "Mostrar na gaveta de apps" }, + { "Show link lines", "Mostrar linhas de enlace" }, + { "Show menu-bar letters", "Mostrar letras do menu" }, + { "Show on chart", "Mostrar no gráfico" }, + { "Show on map", "Mostrar no mapa" }, + { "Sightline", "Linha de visada" }, + { "Signal & traffic", "Sinal e tráfego" }, + { "Signal probe", "Sonda de sinal" }, + { "Skip", "Pular" }, + { "Sleep ready", "Pronto para dormir" }, + { "Slot %d cleared", "Slot %d limpo" }, + { "Slot empty", "Slot vazio" }, + { "Small\nMedium\nLarge", "Pequeno\nMédio\nGrande" }, + { "Snake — swipe or roll the trackball", "Snake — deslize ou gire o trackball" }, + { "Sort", "Ordenar" }, + { "Sound", "Som" }, + { "Sound off", "Som desligado" }, + { "Sound on", "Som ligado" }, + { "Sound: %s", "Som: %s" }, + { "Start time", "Hora de início" }, + { "Status", "Status" }, + { "Step 1 of 3", "Passo 1 de 3" }, + { "Step 2 of 3", "Passo 2 de 3" }, + { "Step 3 of 3", "Passo 3 de 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Ainda analisando a rota\nanterior… tente de novo em instantes." }, + { "Stop", "Parar" }, + { "Storage", "Armazenamento" }, + { "Store data on SD (reboot)", "Salvar dados no SD (reinicia)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Transmite a tela como imagem ao vivo que você toca para controlar. Mais pesado; o painel mostra um espaço reservado. Alternar reinicia o aparelho." }, + { "Switch", "Trocar" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Mudar para a antena externa?\n\nPrimeiro confirme que há mesmo uma antena no conector externo. Transmitir sem nada pode danificar o rádio.\n\nVolta à antena embutida a cada reinicialização." }, + { "Sync clock from system", "Sincronizar relógio do sistema" }, + { "System", "Sistema" }, + { "System info", "Info do sistema" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nClientes WS %d GPS %s Buzzer %s" }, + { "TCP off", "TCP desligado" }, + { "TCP on", "TCP ligado" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Atalhos da aba — toque numa linha, depois numa tecla" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Toque em Usar para trocar - o aparelho reinicia. Os arquivos de idioma ficam em /lang no armazenamento; edite-os ou adicione o seu." }, + { "Tap a language; the device reboots to apply.", "Toque num idioma; o aparelho reinicia para aplicar." }, + { "Taste the rainbow!", "Prove o arco-íris!" }, + { "Telemetry", "Telemetria" }, + { "Telemetry req (direct)…", "Req. de telemetria (direto)…" }, + { "Telemetry req (flood)…", "Req. de telemetria (flood)…" }, + { "Telemetry req failed", "Falha na req. de telemetria" }, + { "Telemetry requests allowed", "Solicitações de telemetria permitidas" }, + { "Telemetry requests off", "Solicitações de telemetria desligadas" }, + { "Telemetry req…", "Solic. telem…" }, + { "Telemetry settings", "Ajustes de telemetria" }, + { "Temperature", "Temperatura" }, + { "Test builds: off", "Builds de teste: off" }, + { "Test builds: on", "Builds de teste: on" }, + { "Theme", "Tema" }, + { "Theme colour", "Cor do tema" }, + { "Then pick a mode:", "Depois escolha um modo:" }, + { "This contact hasn't shared\na GPS position.", "Este contato não compartilhou\numa posição GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Este aparelho pode usar Wi-Fi e Bluetooth ao mesmo tempo, como rádio autônomo e companheiro do celular (app MeshCore).\n\nUsar os dois juntos consome mais RAM, então ligue só o que precisar.\n\nConfigure quando quiser em Ajustes." }, + { "Throttles the CPU when idle to save power", "Reduz a CPU em repouso para poupar energia" }, + { "Tile reload needs Wi-Fi build", "Recarregar tiles exige build com Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Blocos apagados — reconecte o Wi-Fi para rebaixar" }, + { "Tiles from SD card", "Tiles do cartão SD" }, + { "Time %s", "Hora %s" }, + { "Time offset (vs automatic)", "Fuso horário (vs automático)" }, + { "Time offset: %+d h", "Fuso horário: %+d h" }, + { "Time range (hours ago)", "Intervalo (horas atrás)" }, + { "Time zone", "Fuso horário" }, + { "Time zone: %s", "Fuso horário: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Dica: você pode buscar redes em Ajustes → Rede após a configuração." }, + { "Today", "Hoje" }, + { "Toggle GPS", "Alternar GPS" }, + { "Too large to edit (>8 KB)", "Grande demais para editar (>8 KB)" }, + { "Topographic map", "Mapa topográfico" }, + { "Trace", "Rastrear" }, + { "Trace SNR", "Rastrear SNR" }, + { "Trace failed", "Falha no rastreamento" }, + { "Trace route", "Rastrear rota" }, + { "Trace sent…", "Rastreamento enviado…" }, + { "Tracing route…", "Rastreando rota…" }, + { "Trackball navigates UI", "Trackball navega a UI" }, + { "Trackball: cursor", "Trackball: cursor" }, + { "Trackball: navigate UI", "Trackball: navegar UI" }, + { "Turn Wi-Fi on first", "Ligue o Wi-Fi primeiro" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Ligue o Wi-Fi e atualize. Apps já instalados continuam funcionando." }, + { "Turn off", "Desligar" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Ligar a comutação antiga por transmissão?\n\nModo de diagnóstico, só para comparação. Transmite na antena embutida e escuta na externa, então seu sinal de saída será bem mais fraco que o de entrada.\n\nVolta à antena embutida a cada reinicialização." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Desligar o limite de histórico?\n\nUm canal movimentado pode encher todo o armazenamento de mensagens, usando mais espaço e deixando a lista e o app bem mais lentos. Só faça isso se realmente precisar de todo o histórico." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Ligue isto e abra o endereço abaixo em qualquer navegador no mesmo Wi-Fi - sem app. A tela do aparelho aparece ao vivo no navegador e você pode tocar para controlá-la." }, + { "Type a URL, then Go", "Digite um URL e toque em Ir" }, + { "Type a message...", "Digite uma mensagem..." }, + { "Type a new 6-digit code · applies after a reboot", "Digite um novo código de 6 dígitos · vale após reiniciar" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Digite o nome da sua rede — ou mude para Wi-Fi em Ajustes para buscar" }, + { "UI size (restart to apply)", "Tamanho da UI (reinicie para aplicar)" }, + { "UI size saved — restart to apply", "Tamanho da UI salvo — reinicie para aplicar" }, + { "USB powered", "Alimentado por USB" }, + { "Unblock", "Desbloquear" }, + { "Unblocked", "Desbloqueado" }, + { "Unfavorite it first", "Remova dos favoritos primeiro" }, + { "Unlocking…", "Desbloqueando…" }, + { "Unmute @", "Reativar @" }, + { "Unmute msgs", "Reativar msgs" }, + { "Unread %d", "Não lidas %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Não lidas %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV não suportado (precisa de PCM 16 bits)" }, + { "Update", "Atualizar" }, + { "Update bin saved to SD", "Bin de atualização salvo no SD" }, + { "Update complete.\nRebooting...", "Atualização concluída.\nReiniciando..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Atualize manualmente em flasher.wadamesh.com\n(a atualização por Wi-Fi está pausada por ora)" }, + { "Update via the Launcher", "Atualize pelo Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Atualize pelo Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Atualize pelo Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Atualizado - reiniciando…" }, + { "Use", "Usar" }, + { "Username (optional)", "Nome de usuário (opcional)" }, + { "Volume", "Volume" }, + { "W up · A left · D right · Z down · S select · Q back", "W cima · A esq. · D dir. · Z baixo · S selecionar · Q voltar" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Aguardando Wi-Fi..." }, + { "Welcome to WADAMESH", "Bem-vindo ao WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Enquanto estiver ligado, qualquer pessoa no seu Wi-Fi pode ver e controlar este aparelho. Usa HTTP simples (apenas rede local)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi e Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "O Wi-Fi não está ativado neste build." }, + { "Wi-Fi isn't available on this build.", "O Wi-Fi não está disponível neste build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "É preciso Wi-Fi para obter o perfil\ndo terreno desta rota.\nConecte em Ajustes → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi não conectado" }, + { "Wi-Fi off", "Wi-Fi desligado" }, + { "Wi-Fi on", "Wi-Fi ligado" }, + { "Wi-Fi on, scanning…", "Wi-Fi ligado, buscando…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi salvo (rádio desligado)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi salvo, reconectando" }, + { "Yesterday", "Ontem" }, + { "You can run setup later in Settings → Device", "Você pode rodar a configuração depois em Ajustes → Aparelho" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Sua localização é desconhecida.\nDefina GPS / posição em\nAjustes → Perfil primeiro." }, + { "Your name", "Seu nome" }, + { "Your own apps", "Seus próprios apps" }, + { "Zero-hop", "Sem salto" }, + { "Zero-hop advert sent", "Zero-hop advert enviado" }, + { "Zoom: +/- buttons", "Zoom: botões +/-" }, + { "client connected", "cliente conectado" }, + { "command", "comando" }, + { "contacts (%d):", "contatos (%d):" }, + { "diag boot...", "boot diag..." }, + { "double-tap SPACE cycles through the ones you enable", "toque duplo em ESPAÇO percorre os que você ativar" }, + { "drive the UI without the screen; keys still type in text fields", "controle a UI sem a tela; as teclas ainda digitam nos campos" }, + { "e.g. Family", "ex. Família" }, + { "e.g. mesh", "ex. mesh" }, + { "from", "de" }, + { "h to", "h até" }, + { "hold Backspace to unlock", "segure Backspace para desbloquear" }, + { "hold the d-pad to unlock", "segure o d-pad para desbloquear" }, + { "hold the trackball to unlock", "segure o trackball para desbloquear" }, + { "kHz", "kHz" }, + { "keep holding", "continue segurando" }, + { "last wake: ", "último despertar: " }, + { "leave empty to generate", "deixe vazio para gerar" }, + { "lights the keyboard + wakes the screen on an incoming message", "acende o teclado + acorda a tela ao receber uma mensagem" }, + { "mesh link armed", "enlace mesh pronto" }, + { "mesh busy", "malha ocupada" }, + { "min (0=off)", "min (0=desligado)" }, + { "mkdir failed", "falha no mkdir" }, + { "n/a in this build", "n/d neste build" }, + { "now on channel %s", "agora no canal %s" }, + { "now talking to %s", "agora falando com %s" }, + { "off", "desligado" }, + { "off = Enter adds a new line; tap Send to send", "off = Enter adiciona nova linha; toque Enviar" }, + { "on", "ligado" }, + { "peak --", "pico --" }, + { "pick accented letters as you type; off = plain typing", "escolha letras acentuadas ao digitar; desligado = digitação simples" }, + { "press Volume Down to unlock", "pressione Diminuir Volume para desbloquear" }, + { "push past a screen edge to scroll content", "empurre além da borda para rolar" }, + { "score %d", "placar %d" }, + { "search", "buscar" }, + { "tap for details", "toque para detalhes" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "toque na tecla de idioma (ex. EN) no teclado para percorrer os que você ativar" }, + { "tap to cancel", "toque para cancelar" }, + { "tap to exit full screen", "toque para sair da tela cheia" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "amplificador ~17 dB para áreas silenciosas/remotas; desligue em locais ruidosos." }, + { "© OpenStreetMap", "© OpenStreetMap" }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; +static const I18nPair kBuiltin_ro[] = { + { " (device behind)", " (dispozitiv în urmă)" }, + { "#7A7F87 Wardrive: %d coverage pts · %lu logged to SD#", "#7A7F87 Wardrive: %d puncte de acoperire · %lu salvate pe SD#" }, + { "#7A7F87 Wardrive: waiting for GPS fix…#", "#7A7F87 Wardrive: se aşteaptă fix GPS…#" }, + { "#7A7F87 Wardrive: …#", "#7A7F87 Wardrive: …#" }, + { "#region", "#region" }, + { "%.3f MHz · SF%u · TX %+ddBm", "%.3f MHz · SF%u · TX %+ddBm" }, + { "%d on map", "%d pe hartă" }, + { "%s · %d nearby (%d rpt, %d comp)", "%s · %d în apropiere (%d rpt, %d comp)" }, + { "%u types · hops %u · manual %s", "%u tipuri · salturi %u · manual %s" }, + { "(RTC unset)", "(RTC nesetat)" }, + { "(device behind)", "(dispozitiv în urmă)" }, + { "(no default)", "(fără implicit)" }, + { "0123456789abcdef…", "0123456789abcdef…" }, + { "1 byte (legacy)\n2 bytes\n3 bytes", "1 octet (vechi)\n2 octeţi\n3 octeţi" }, + { "100\n250\n500\n1000\n2000\nNo limit", "100\n250\n500\n1000\n2000\nFără limită" }, + { "12-hour clock", "Ceas de 12 ore" }, + { "32 hex characters", "32 caractere hex" }, + { "32-hex secret. Anyone with this can read the channel.", "Secret de 32 hex. Oricine îl are poate citi canalul." }, + { ">_ Terminal", ">_ Terminal" }, + { "@ Mentions", "@ Menţiuni" }, + { "@ mention sound", "Sunet menţiune @" }, + { "AF", "AF" }, + { "AUTOMATIC ADVERTS", "ADVERTURI AUTOMATE" }, + { "About", "Despre" }, + { "About the map", "Despre hartă" }, + { "Accent popups", "Popupuri cu accente" }, + { "Accent popups: off", "Popupuri accente: oprite" }, + { "Accent popups: on", "Popupuri accente: pornite" }, + { "Ack", "Ack" }, + { "Active", "Activ" }, + { "Add", "Adaugă" }, + { "Add channel", "Adaugă canal" }, + { "Add contact", "Adaugă contact" }, + { "Added", "Adăugat" }, + { "Added to contacts", "Adăugat la contacte" }, + { "Added to favorites", "Adăugat la favorite" }, + { "Admin", "Admin" }, + { "Advert", "Advert" }, + { "Advert failed", "Advert eşuat" }, + { "Advert location", "Locaţie advert" }, + { "Advert policy saved", "Politică advert salvată" }, + { "Advert sent", "Advert trimis" }, + { "All marked read", "Toate marcate ca citite" }, + { "Already exists", "Există deja" }, + { "Already exists or table full.", "Există deja sau tabela e plină." }, + { "Already in contacts", "Deja în contacte" }, + { "Always starts on the on-board antenna after a reboot. Only pick External with an antenna fitted to the external socket.", "După repornire porneşte mereu pe antena integrată. Alege Externă doar cu o antenă montată în mufa externă." }, + { "Analyzing terrain…", "Se analizează terenul…" }, + { "Analyzing terrain…\n(retry %d of 3)", "Se analizează terenul…\n(încercarea %d din 3)" }, + { "Answer telemetry requests", "Răspunde cererilor de telemetrie" }, + { "Anyone can join. Key is derived from the hashtag (lowercase).", "Oricine poate intra. Cheia derivă din hashtag (litere mici)." }, + { "App drawer as home", "Sertarul de aplicaţii ca ecran principal" }, + { "App icon size", "Dimensiune pictograme aplicaţii" }, + { "Applies after restart.", "Se aplică după repornire." }, + { "Apply", "Aplică" }, + { "Apply auto-poll", "Aplică auto-interogarea" }, + { "Apply radio params", "Aplică parametrii radio" }, + { "Apps", "Aplicaţii" }, + { "Arrows + Enter always work. These letters are extra — tap a row, then press a key.", "Săgeţile + Enter merg mereu. Aceste litere sunt în plus — atinge un rând, apoi apasă o tastă." }, + { "Auto advert", "Anunţ automat" }, + { "Auto chat", "Chat auto" }, + { "Auto repeater", "Repetor auto" }, + { "Auto room", "Cameră auto" }, + { "Auto sensor", "Senzor auto" }, + { "Auto-Join", "Auto-intrare" }, + { "Auto-add contacts", "Auto-adăugare contacte" }, + { "Auto-add saved", "Auto-adăugare salvată" }, + { "Auto-add settings", "Setări adăugare automată" }, + { "Auto-delete above hops", "Auto-ştergere peste nr. de salturi" }, + { "Auto-delete oldest", "Auto-ştergere cele mai vechi" }, + { "Auto-delete oldest makes room when full. Hops: 0 = keep all; nodes heard via more hops are removed.", "Auto-ştergerea celor mai vechi face loc când e plin. Salturi: 0 = păstrează tot; nodurile auzite prin mai multe salturi sunt eliminate." }, + { "Auto-discover", "Auto-descoperire" }, + { "Auto-discover off", "Auto-descoperire oprită" }, + { "Auto-discover on", "Auto-descoperire pornită" }, + { "Auto-poll every", "Auto-interogare la fiecare" }, + { "Auto-refresh off", "Auto-reîmprospătare oprită" }, + { "Auto-refresh on", "Auto-reîmprospătare pornită" }, + { "Available", "Disponibile" }, + { "BLE off", "BLE oprit" }, + { "BLE on", "BLE pornit" }, + { "BT", "BT" }, + { "Back", "Înapoi" }, + { "Backups", "Backupuri" }, + { "Battery", "Baterie" }, + { "Battery & power history", "Istoric baterie şi alimentare" }, + { "Battery (V)", "Baterie (V)" }, + { "Battery calibration reset to default", "Calibrare baterie resetată la implicit" }, + { "Battery read too low — charge fully first", "Citire baterie prea mică — încarcă complet mai întâi" }, + { "Battery saver (experimental)", "Economisire baterie (experimental)" }, + { "Battery — last 24h", "Baterie — ultimele 24h" }, + { "Battery:", "Baterie:" }, + { "Block", "Blochează" }, + { "Block list full", "Listă de blocare plină" }, + { "Blocked list", "Lista de blocaţi" }, + { "Blocked users", "Utilizatori blocaţi" }, + { "Blocked — their messages are hidden", "Blocat — mesajele lui sunt ascunse" }, + { "Blocking unsupported", "Blocarea nu este acceptată" }, + { "Blue battery Last 6 min", "Albastru baterie Ultimele 6 min" }, + { "Blue battery Orange temp Cyan humidity", "Albastru baterie Portocaliu temp Cyan umiditate" }, + { "Bluetooth", "Bluetooth" }, + { "Bluetooth already off", "Bluetooth deja oprit" }, + { "Bluetooth already on", "Bluetooth deja pornit" }, + { "Bluetooth off", "Bluetooth oprit" }, + { "Bluetooth on", "Bluetooth pornit" }, + { "Bluetooth pairing isn't available on this device.\n\nThe radio chip's factory firmware doesn't support it.\n\nPair the phone app over Wi-Fi instead: connect this device to your network, then add it in the app by its IP address (TCP, port 5000) — shown under Settings > Network. USB works too.", "Împerecherea Bluetooth nu este disponibilă pe acest dispozitiv.\n\nFirmware-ul din fabrică al cipului radio nu o suportă.\n\nÎmperechează aplicaţia prin Wi-Fi: conectează dispozitivul la reţea, apoi adaugă-l în aplicaţie după adresa IP (TCP, port 5000) — afişată la Setări > Reţea. Merge şi USB." }, + { "Broker host / IP", "Gazdă broker / IP" }, + { "Buffered receive (experimental)", "Recepţie cu buffer (experimental)" }, + { "Built-in", "Încorporat" }, + { "Built-in (default)", "Încorporat (implicit)" }, + { "CR", "CR" }, + { "Calibrate battery (full = 100%)", "Calibrează bateria (plină = 100%)" }, + { "Calibrated: 100%% = %u.%02u V (long-press to reset)", "Calibrat: 100%% = %u.%02u V (apasă lung pentru resetare)" }, + { "Can't block — not a contact", "Nu se poate bloca — nu e contact" }, + { "Can't display image\n(JPEG only, <= 1024 px)", "Imaginea nu poate fi afişată\n(doar JPEG, <= 1024 px)" }, + { "Cancel", "Anulează" }, + { "Cancelled", "Anulat" }, + { "Cannot open file", "Fişierul nu poate fi deschis" }, + { "Catalog unavailable", "Catalog indisponibil" }, + { "Centered on %s", "Centrat pe %s" }, + { "Changing orientation - rebooting...", "Se schimbă orientarea - repornire..." }, + { "Channel created", "Canal creat" }, + { "Channel joined", "Intrat în canal" }, + { "Channel name", "Nume canal" }, + { "Channel not found", "Canal negăsit" }, + { "Channel removed", "Canal eliminat" }, + { "Channel scope saved", "Domeniu canal salvat" }, + { "Channel settings", "Setări canal" }, + { "Channel table is full", "Tabela de canale este plină" }, + { "Channel table is full.", "Tabelul de canale este plin." }, + { "Channel-specific regions can be set in each channel's settings.", "Regiunile per canal se setează în setările fiecărui canal." }, + { "Channels:", "Canale:" }, + { "Chat bubbles", "Baloane de chat" }, + { "Chat bubbles: plain", "Baloane de chat: simple" }, + { "Chat history is NOT saving", "Istoricul chatului NU se salvează" }, + { "Chat history save FAILED", "Salvarea istoricului chatului A EŞUAT" }, + { "Chat icon", "Pictograma conversaţiei" }, + { "Chat icon reset to letters", "Pictogramă chat resetată la litere" }, + { "Chat icon set", "Pictogramă chat setată" }, + { "Chat removed", "Chat eliminat" }, + { "Chat save fallback (failed tries)", "Salvare de rezervă a conversaţiei (eşecuri)" }, + { "Chats, contacts, settings and a mesh terminal - all in the browser. No reboot; the device keeps its normal screen.", "Conversaţii, contacte, setări şi un terminal mesh - toate în browser. Fără repornire; dispozitivul îşi păstrează ecranul normal." }, + { "Choose .wav from files", "Alege .wav din fişiere" }, + { "Choose your name", "Alege-ţi numele" }, + { "Choose your region", "Alege-ţi regiunea" }, + { "Clear", "Goleşte" }, + { "Clear battery history?", "Goleşti istoricul bateriei?" }, + { "Clear history", "Şterge istoricul" }, + { "Clear telemetry history for this node?", "Goleşti istoricul de telemetrie al acestui nod?" }, + { "Client repeat", "Repetare client" }, + { "Clock synced", "Ceas sincronizat" }, + { "Clock: 12-hour", "Ceas: 12 ore" }, + { "Clock: 24-hour", "Ceas: 24 ore" }, + { "Close", "Închide" }, + { "Colourful chat bubbles", "Baloane de chat colorate" }, + { "Commands", "Comenzi" }, + { "Community Preset", "Presetare comunitară" }, + { "Community preset (meshcomod web)", "Presetare comunitate (meshcomod web)" }, + { "Compact messages", "Mesaje compacte" }, + { "Compact messages (IRC style)", "Mesaje compacte (stil IRC)" }, + { "Connect", "Conectează" }, + { "Connect Wi-Fi to reload tiles", "Conectează Wi-Fi pentru a reîncărca dalele" }, + { "Connect to Wi-Fi", "Conectare la Wi-Fi" }, + { "Connect to Wi-Fi first", "Conectează-te mai întâi la Wi-Fi" }, + { "Connect to Wi-Fi first, then try again.", "Conectează-te mai întâi la Wi-Fi, apoi reîncearcă." }, + { "Connect to Wi-Fi to get a browser address.", "Conectează-te la Wi-Fi pentru o adresă de browser." }, + { "Connected", "Conectat" }, + { "Connected - a browser is viewing this screen.", "Conectat - un browser vede acest ecran." }, + { "Connecting...", "Se conectează..." }, + { "Connecting…", "Se conectează…" }, + { "Console not available on this build", "Consola nu e disponibilă în acest build" }, + { "Contact added", "Contact adăugat" }, + { "Contact deleted", "Contact şters" }, + { "Contact gone", "Contact dispărut" }, + { "Contact missing", "Contact lipsă" }, + { "Contacts", "Contacte" }, + { "Contacts are on internal flash - the SD card did not mount at boot. Re-seat the card and reboot.", "Contactele sunt pe memoria internă - cardul SD nu s-a montat la pornire. Reaşază cardul şi reporneşte." }, + { "Contacts are on internal flash.", "Contactele sunt pe memoria internă." }, + { "Contacts are saved to the SD card.", "Contactele se salvează pe cardul SD." }, + { "Contacts full", "Contacte pline" }, + { "Contacts:", "Contacte:" }, + { "Control", "Control" }, + { "Control this device from a browser", "Controlează dispozitivul din browser" }, + { "Copied %s", "Copiat %s" }, + { "Copied - Paste in a folder", "Copiat - lipeşte într-un folder" }, + { "Copy", "Copiază" }, + { "Copy failed (no internal identity)", "Copiere eşuată (fără identitate internă)" }, + { "Copy internal data to SD", "Copiază datele interne pe SD" }, + { "Copy secret", "Copiază secretul" }, + { "Copying internal data to SD...", "Se copiază datele interne pe SD..." }, + { "Could not add", "Nu s-a putut adăuga" }, + { "Could not save the crash report", "Raportul de eroare nu a putut fi salvat" }, + { "Couldn't delete", "Nu s-a putut şterge" }, + { "Couldn't fetch terrain data.\nCheck the connection and the\nelevation server, then\ntry again.", "Datele de teren nu au putut fi\nobţinute. Verifică conexiunea\nşi serverul de elevaţie, apoi\nreîncearcă." }, + { "Couldn't save the name to storage", "Numele nu a putut fi salvat în stocare" }, + { "Couldn't send login", "Autentificarea nu a putut fi trimisă" }, + { "Couldn't start the analyzer.\nTry again.", "Analizatorul nu a pornit.\nÎncearcă din nou." }, + { "Crash export failed", "Exportul raportului de eroare a eşuat" }, + { "Create", "Creează" }, + { "Create QR", "Creează QR" }, + { "Create a private channel", "Creează un canal privat" }, + { "Create failed", "Creare eşuată" }, + { "Create private channel", "Creează canal privat" }, + { "Custom UTC offset (hours)", "Decalaj UTC personalizat (ore)" }, + { "Cut", "Decupează" }, + { "Cut - Paste in a folder", "Decupat - lipeşte într-un folder" }, + { "DM sound", "Sunet DM" }, + { "DND", "DND" }, + { "Danger zone", "Zonă periculoasă" }, + { "Data -> SD card on reboot\n(card must be inserted)", "Date -> card SD la repornire\n(cardul trebuie introdus)" }, + { "Data -> internal on reboot", "Date -> stocare internă la repornire" }, + { "Delete", "Şterge" }, + { "Delete %d contact(s)?", "Ştergi %d contact(e)?" }, + { "Delete chat", "Şterge conversaţia" }, + { "Delete chat with \"%s\"?\nMessage history will be cleared.", "Ştergi chatul cu \"%s\"?\nIstoricul mesajelor va fi şters." }, + { "Delete failed", "Ştergere eşuată" }, + { "Delete history", "Şterge istoricul" }, + { "Delete this backup file?\nThis cannot be undone.", "Ştergi acest fişier backup?\nNu poate fi anulat." }, + { "Delete this chat's entire history?\nThe chat itself stays.", "Ştergi tot istoricul acestui chat?\nChatul în sine rămâne." }, + { "Deleted", "Şters" }, + { "Deleted %d", "Şterse %d" }, + { "Deleted %d messages", "%d mesaje şterse" }, + { "Deleting contacts", "Se şterg contactele" }, + { "Delivered", "Livrat" }, + { "Detailed sensors", "Senzori detaliaţi" }, + { "Device clock differs from \"%s\" by %lu h%s", "Ceasul dispozitivului diferă de \"%s\" cu %lu h%s" }, + { "Device clock differs from \"%s\" by %lu min%s", "Ceasul dispozitivului diferă de \"%s\" cu %lu min%s" }, + { "Device name hidden", "Nume dispozitiv ascuns" }, + { "Device name shown", "Nume dispozitiv afişat" }, + { "Device time:", "Ora dispozitivului:" }, + { "Diagnostics", "Diagnosticare" }, + { "Diagnostics are on the About page.", "Diagnosticele sunt pe pagina Despre." }, + { "Discovered", "Descoperite" }, + { "Discovered settings", "Setări noduri descoperite" }, + { "Display", "Afişaj" }, + { "Display name", "Nume afişat" }, + { "Distance in miles", "Distanţă în mile" }, + { "Distance: km", "Distanţă: km" }, + { "Distance: miles", "Distanţă: mile" }, + { "Do Not Disturb", "Nu deranja" }, + { "Do Not Disturb off", "Nu deranja oprit" }, + { "Do Not Disturb on", "Nu deranja pornit" }, + { "Download failed", "Descărcarea a eşuat" }, + { "Download failed (network?)", "Descărcarea a eşuat (reţea?)" }, + { "Download mode", "Mod descărcare" }, + { "Download mode… reflash over USB", "Mod descărcare… rescrie prin USB" }, + { "Downloaded - tap Use to switch", "Descărcat - atinge Foloseşte pentru a schimba" }, + { "Downloading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive\nand are saved for offline use.", "Se descarcă dalele hărţii…\n\nPăstrează Wi-Fi conectat.\nDalele apar pe măsură ce sosesc\nşi se salvează pentru offline." }, + { "Downloading…", "Se descarcă…" }, + { "Duty meter", "Contor duty" }, + { "Edge scroll", "Derulare la margine" }, + { "Edit in Settings → Quick replies", "Editează în Setări → Răspunsuri rapide" }, + { "Editing", "Editare" }, + { "Empty = plaintext to a private broker", "Gol = text simplu către un broker privat" }, + { "Empty file", "Fişier gol" }, + { "Enable Bluetooth", "Activează Bluetooth" }, + { "Enable MQTT bridge", "Activează puntea MQTT" }, + { "Enable only if your repeater re-floods just one region. Otherwise leave off — it can block cross-region login/DMs.", "Activează doar dacă repetorul tău redifuzează o singură regiune. Altfel lasă oprit — poate bloca autentificarea/DM-urile între regiuni." }, + { "Enable web access", "Activează accesul web" }, + { "Encryption key (optional)", "Cheie de criptare (opţională)" }, + { "End time", "Ora de sfârşit" }, + { "Enter SSID first", "Introdu mai întâi SSID-ul" }, + { "Enter a name", "Introdu un nume" }, + { "Enter a network name", "Introdu un nume de reţea" }, + { "Enter adds a new line", "Enter adaugă un rând nou" }, + { "Enter exactly 32 hex characters.", "Introdu exact 32 caractere hex." }, + { "Enter key sends message", "Tasta Enter trimite mesajul" }, + { "Enter sends messages", "Enter trimite mesajele" }, + { "Enter the 32-hex secret shared by the channel creator.", "Introdu secretul de 32 hex partajat de creatorul canalului." }, + { "Entering remote mode - rebooting...", "Se intră în modul la distanţă - repornire..." }, + { "Erase all", "Şterge tot" }, + { "Erases identity, contacts, channels, messages, Wi-Fi and all settings, then reboots.", "Şterge identitatea, contactele, canalele, mesajele, Wi-Fi şi toate setările, apoi reporneşte." }, + { "Erasing everything…", "Se şterge tot…" }, + { "Every node you talk to must match. You can change this later in Settings.", "Fiecare nod cu care vorbeşti trebuie să corespundă. Poţi schimba asta mai târziu în Setări." }, + { "Expansion Kit", "Kit de extensie" }, + { "Experimental", "Experimental" }, + { "Experimental - has known issues. Off = soft mouse cursor.", "Experimental - are probleme cunoscute. Oprit = cursor de mouse virtual." }, + { "Experimental saved", "Experimentale salvate" }, + { "Export failed (can't open file)", "Export eşuat (fişierul nu se poate deschide)" }, + { "Export new backup", "Exportă backup nou" }, + { "Export settings", "Exportă setările" }, + { "Exporting settings…", "Se exportă setările…" }, + { "External antenna selected", "Antenă externă selectată" }, + { "Factory reset", "Resetare din fabrică" }, + { "Factory reset?\n\nErases identity, contacts,\nchannels, messages, Wi-Fi\nand every setting. This\ncannot be undone.", "Resetare din fabrică?\n\nŞterge identitatea, contactele,\ncanalele, mesajele, Wi-Fi\nşi fiecare setare. Nu poate\nfi anulată." }, + { "Failed to save channel.", "Salvarea canalului a eşuat." }, + { "Favorites full (max %d)", "Favorite pline (max %d)" }, + { "Favorites unsupported", "Favoritele nu sunt acceptate" }, + { "Fetching the app list from firmware.wadamesh.com", "Se preia lista de aplicaţii de la firmware.wadamesh.com" }, + { "Files", "Fişiere" }, + { "Find", "Caută" }, + { "Finish", "Finalizează" }, + { "Firmware beta_%d\nCouldn't reach the update server", "Firmware beta_%d\nServerul de actualizare nu a putut fi contactat" }, + { "Firmware:", "Firmware:" }, + { "Flash on new message", "Iluminează la mesaj nou" }, + { "Flood", "Difuzare" }, + { "Flood advert sent", "Advert flood trimis" }, + { "Flood every", "Flood la fiecare" }, + { "Flood: relayed across the mesh (multi-hop).\nZero-hop: neighbours only (no relaying).", "Flood: retransmis prin mesh (multi-salt).\nZero-hop: doar vecinii (fără retransmitere)." }, + { "Folder created", "Folder creat" }, + { "For Launcher installs: saves the latest firmware of the selected channel to the SD card (BINS folder).", "Pentru instalări prin Launcher: salvează cel mai recent firmware al canalului selectat pe cardul SD (folderul BINS)." }, + { "Forget network", "Uită reţeaua" }, + { "Format", "Formatează" }, + { "Format SD as MESHCOMOD (FAT32)?\nAll data on the card will be erased.", "Formatezi SD ca MESHCOMOD (FAT32)?\nToate datele de pe card vor fi şterse." }, + { "Format failed (no card / SD error)", "Formatare eşuată (fără card / eroare SD)" }, + { "Frequency / bandwidth", "Frecvenţă / lăţime de bandă" }, + { "Full", "Plin" }, + { "GPS", "GPS" }, + { "GPS %s · Buzzer %s", "GPS %s · Buzzer %s" }, + { "GPS %s · Buzzer %s\n%s", "GPS %s · Buzzer %s\n%s" }, + { "GPS off", "GPS oprit" }, + { "GPS on", "GPS pornit" }, + { "GPS serial baud", "Baud serial GPS" }, + { "GPS unset", "GPS nesetat" }, + { "GPS: acquiring...", "GPS: căutare semnal..." }, + { "GPS: fix", "GPS: fix" }, + { "GPS: off", "GPS: oprit" }, + { "GPS: searching", "GPS: căutare" }, + { "Game over — score %d (tap to restart)", "Joc terminat — scor %d (atinge pentru restart)" }, + { "Get", "Descarcă" }, + { "Get Started", "Începe" }, + { "Get test builds (beta)", "Primeşte versiuni de test (beta)" }, + { "Go", "Mergi" }, + { "Green pressure Gray altitude", "Verde presiune Gri altitudine" }, + { "Hashtag name", "Nume hashtag" }, + { "Hidden - turn it back on in the Lua Store", "Ascuns - reactivează-l din Lua Store" }, + { "Hidden network", "Reţea ascunsă" }, + { "Hide", "Ascunde" }, + { "Hide device name", "Ascunde numele dispozitivului" }, + { "Hide this app from the drawer?", "Ascunzi această aplicaţie din sertar?" }, + { "High-gain receiver (FEM LNA)", "Receptor cu amplificare mare (FEM LNA)" }, + { "Highly experimental. This forwards the text, sender name and timestamp of every message your node receives to an MQTT broker, where anyone able to read the broker can read them. Direct messages are private messages from other people who never agreed to be shared. Use a broker you control, set an encryption key below, and never a public broker.", "Extrem de experimental. Trimite textul, numele expeditorului şi ora fiecărui mesaj primit de nodul tău către un broker MQTT, unde oricine poate citi brokerul le poate citi şi el. Mesajele directe sunt mesaje private de la persoane care nu au acceptat să fie partajate. Foloseşte un broker pe care îl controlezi, setează o cheie de criptare mai jos şi nu folosi niciodată un broker public." }, + { "History limit off", "Limita istoricului oprită" }, + { "Hotkey saved", "Tastă rapidă salvată" }, + { "How you'll appear to other nodes. You can change this later in Settings.", "Cum vei apărea altor noduri. Poţi schimba asta mai târziu în Setări." }, + { "Humidity", "Umiditate" }, + { "I accept the privacy risk", "Accept riscul de confidenţialitate" }, + { "Identity (public key)", "Identitate (cheie publică)" }, + { "Idle power-save", "Economie de energie în repaus" }, + { "Idle sleep disabled", "Somn în repaus dezactivat" }, + { "Idle sleep enabled", "Somn în repaus activat" }, + { "Image too large (>4 MB)", "Imagine prea mare (>4 MB)" }, + { "Import", "Importă" }, + { "Import backup", "Importă backup" }, + { "Import failed (bad/unreadable JSON)", "Import eşuat (JSON invalid/ilizibil)" }, + { "Import settings", "Importă setările" }, + { "Import this backup?\nReplaces identity,\nchannels & contacts,\nthen reboots.", "Imporţi acest backup?\nÎnlocuieşte identitatea,\ncanalele şi contactele,\napoi reporneşte." }, + { "Import: storage unavailable", "Import: stocare indisponibilă" }, + { "Importing settings…", "Se importă setările…" }, + { "Inactive", "Inactiv" }, + { "Info", "Info" }, + { "Insert emoji / symbol", "Inserează emoji / simbol" }, + { "Install", "Instalează" }, + { "Install a previous version", "Instalează o versiune anterioară" }, + { "Install an earlier version", "Instalează o versiune mai veche" }, + { "Install failed (network?)", "Instalarea a eşuat (reţea?)" }, + { "Install update", "Instalează actualizarea" }, + { "Installed", "Instalate" }, + { "Installing…", "Se instalează…" }, + { "Internal (on-board)\nExternal (MMCX)\nAuto (legacy, per transmit)", "Internă (integrată)\nExternă (MMCX)\nAuto (vechi, per transmisie)" }, + { "Internal has no folders", "Stocarea internă nu are foldere" }, + { "Internal storage %s / %s", "Stocare internă %s / %s" }, + { "Invalid lat/lon", "Lat/lon nevalide" }, + { "Invalid max hops", "Salturi max nevalide" }, + { "Invalid radio values", "Valori radio nevalide" }, + { "Join", "Intră" }, + { "Join a hashtag channel", "Intră într-un canal hashtag" }, + { "Join a private channel", "Intră într-un canal privat" }, + { "Join hashtag channel", "Intră într-un canal hashtag" }, + { "Join network", "Intră în reţea" }, + { "Join private channel", "Intră într-un canal privat" }, + { "Join the public channel", "Intră în canalul public" }, + { "Joined %.40s", "Intrat în %.40s" }, + { "Keep per chat (messages)", "Păstrează per conversaţie (mesaje)" }, + { "Key already in use", "Tasta e deja folosită" }, + { "Keyboard", "Tastatură" }, + { "Keyboard backlight", "Iluminare tastatură" }, + { "Keyboard light auto", "Lumina tastaturii auto" }, + { "Keyboard light off", "Lumina tastaturii oprită" }, + { "Keyboard light on", "Lumina tastaturii pornită" }, + { "Keyboard nav: WASDZ on", "Navigare tastatură: WASDZ pornit" }, + { "Keyboard nav: off", "Navigare tastatură: oprită" }, + { "Keyboard navigation", "Navigare cu tastatura" }, + { "LOS → %s", "Linie vizuală → %s" }, + { "Landscape (desktop)", "Peisaj (desktop)" }, + { "Landscape set - applies when remote mode starts.", "Peisaj setat - se aplică la pornirea modului la distanţă." }, + { "Language", "Limbă" }, + { "Language catalog unavailable - check Wi-Fi, then reopen this tab.", "Catalog de limbi indisponibil - verifică Wi-Fi, apoi redeschide fila." }, + { "Language updated - restarting to apply it…", "Limbă actualizată - repornire pentru aplicare…" }, + { "Languages", "Limbi" }, + { "Latitude", "Latitudine" }, + { "Leave empty if not required", "Lasă gol dacă nu e necesar" }, + { "Leaving remote mode - rebooting...", "Se iese din modul la distanţă - repornire..." }, + { "Let's set up your device.\n\nYou'll pick a name and choose your LoRa region. Takes about a minute.", "Să-ţi configurăm dispozitivul.\n\nÎţi alegi un nume şi regiunea LoRa. Durează cam un minut." }, + { "Letters only", "Doar litere" }, + { "LoRa antenna (P4)", "Antenă LoRa (P4)" }, + { "Loading catalog…", "Se încarcă catalogul…" }, + { "Loading map tiles…\n\nKeep Wi-Fi connected.\nTiles appear as they arrive.", "Se încarcă dalele hărţii…\n\nPăstrează Wi-Fi conectat.\nDalele apar pe măsură ce sosesc." }, + { "Loading map…", "Se încarcă harta…" }, + { "Loading the language catalog…", "Se încarcă catalogul de limbi…" }, + { "Loading...", "Se încarcă..." }, + { "Local every", "Local la fiecare" }, + { "Local sensors", "Senzori locali" }, + { "Lock", "Blochează" }, + { "Lock screen", "Ecran de blocare" }, + { "Lock screen wallpaper", "Fundal ecran de blocare" }, + { "Lock text colour", "Culoare text blocare" }, + { "Lock text colour set", "Culoare text blocare setată" }, + { "Lock wallpaper", "Fundal blocare" }, + { "Lock wallpaper set", "Fundal blocare setat" }, + { "Lock when screen off", "Blochează când ecranul e stins" }, + { "Locking…", "Se blochează…" }, + { "Locks when screen off\n(hold Backspace to unlock)", "Se blochează cu ecranul stins\n(ţine Backspace pentru deblocare)" }, + { "Locks when screen off\n(hold the d-pad to unlock)", "Se blochează când ecranul e stins\n(ţine d-pad pentru deblocare)" }, + { "Locks when screen off\n(hold the trackball to unlock)", "Se blochează când ecranul e stins\n(ţine trackball-ul pentru deblocare)" }, + { "Locks when screen off\n(press Volume Down to unlock)", "Se blochează când ecranul e stins\n(apasă Volum jos pentru deblocare)" }, + { "Locks when screen off\n(press the button to unlock)", "Se blochează când ecranul e stins\n(apasă butonul pentru deblocare)" }, + { "Log in again", "Autentificare din nou" }, + { "Logging in again...", "Se autentifică din nou..." }, + { "Logging in…", "Se autentifică…" }, + { "Login OK (perms %u)", "Autentificare OK (permisiuni %u)" }, + { "Login failed", "Autentificare eşuată" }, + { "Logs", "Jurnale" }, + { "Longitude", "Longitudine" }, + { "Lua Store", "Magazin Lua" }, + { "MHz", "MHz" }, + { "MQTT bridge", "Punte MQTT" }, + { "Map", "Hartă" }, + { "Map options", "Opţiuni hartă" }, + { "Map storage error.\n\nSD card detected but the\ntile cache didn't mount.\nReboot to retry.", "Eroare stocare hartă.\n\nCard SD detectat, dar\ncache-ul de dale nu s-a montat.\nReporneşte pentru reîncercare." }, + { "Map storage error.\nReflash the tiles partition.", "Eroare stocare hartă.\nRescrie partiţia de dale." }, + { "Map tiles: microSD", "Dale hartă: microSD" }, + { "Map tiles: microSD\n\n/maps/osm/z/x/y.png\n(or /tiles/z/x/y.jpg)\n\nMap appears when a tile\nfor this area is found.", "Dale hartă: microSD\n\n/maps/osm/z/x/y.png\n(sau /tiles/z/x/y.jpg)\n\nHarta apare când se găseşte\no dală pentru această zonă." }, + { "Map tiles: server", "Dale hartă: server" }, + { "Map — no tile pack on SPIFFS yet.\n\nUpload a tile pack to /tiles///.jpg with the host-side generator.", "Hartă — încă niciun pachet de dale pe SPIFFS.\n\nÎncarcă un pachet de dale în /tiles///.jpg cu generatorul de pe gazdă." }, + { "Map — set your location\nin Settings → Profile to\nshow the map here.", "Hartă — setează-ţi locaţia\nîn Setări → Profil pentru\na afişa harta aici." }, + { "Mark all chats and channels as read?", "Marchezi toate chaturile şi canalele ca citite?" }, + { "Mark as read", "Marchează ca citit" }, + { "Mark read", "Marchează citit" }, + { "Marked read", "Marcat ca citit" }, + { "Max hops (0..64)", "Salturi max (0..64)" }, + { "Max zoom for this pack", "Zoom maxim pentru acest pachet" }, + { "Memory detail", "Detalii memorie" }, + { "Mesh health: a flood advert is rebroadcast by every repeater in range, so frequent floods add airtime for the whole network. Keep them infrequent (a day or more). Your neighbours still see you from zero-hop adverts and your message replies, so flood mainly when distant nodes need to rediscover you. Leave both Off to advertise only when you tap the buttons above.", "Sănătatea mesh-ului: un advert flood e redifuzat de fiecare repetor din rază, aşa că floodurile dese adaugă timp de emisie pentru toată reţeaua. Păstrează-le rare (o zi sau mai mult). Vecinii te văd oricum din adverturile zero-hop şi din răspunsurile tale, deci foloseşte flood mai ales când nodurile îndepărtate trebuie să te redescopere. Lasă ambele Oprite ca să te anunţi doar când atingi butoanele de mai sus." }, + { "Message", "Mesaj" }, + { "Message LED", "LED mesaje" }, + { "Message LED off", "LED mesaje oprit" }, + { "Message LED on", "LED mesaje pornit" }, + { "Message deleted", "Mesaj şters" }, + { "Message didn't get through.\nResend it?", "Mesajul nu a ajuns.\nÎl retrimiţi?" }, + { "Message info", "Informaţii mesaj" }, + { "Message sound", "Sunet mesaj" }, + { "Min zoom for this pack", "Zoom minim pentru acest pachet" }, + { "Mode: BLE starting / low memory", "Mod: BLE porneşte / memorie redusă" }, + { "Model:", "Model:" }, + { "Multi ACKs", "ACK-uri multiple" }, + { "Multi-ack %s · Repeat %s · RX boost %s", "Multi-ack %s · Repetare %s · Boost RX %s" }, + { "Multi-byte routing (path hash)", "Rutare multi-octet (hash de cale)" }, + { "Mute @", "Fără sunet @" }, + { "Mute msgs", "Fără sunet mesaje" }, + { "Mute notification sound", "Dezactivează sunetul notificărilor" }, + { "My position (no GPS fix)", "Poziţia mea (fără fix GPS)" }, + { "Name", "Nume" }, + { "Name can't be empty.", "Numele nu poate fi gol." }, + { "Name fragment", "Fragment de nume" }, + { "Name saved", "Nume salvat" }, + { "Navigation keys", "Taste de navigare" }, + { "Navigation keys — tap a row, then press a key", "Taste de navigare — atinge un rând, apoi apasă o tastă" }, + { "Nearby on map", "În apropiere pe hartă" }, + { "Network name", "Nume reţea" }, + { "Network name (SSID)", "Nume reţea (SSID)" }, + { "New", "Nou" }, + { "New DM", "DM nou" }, + { "New channel msg", "Mesaj nou pe canal" }, + { "New contact", "Contact nou" }, + { "New file", "Fişier nou" }, + { "New folder", "Folder nou" }, + { "New game", "Joc nou" }, + { "New room msg", "Mesaj nou în cameră" }, + { "Next", "Înainte" }, + { "Night mode (invert)", "Mod nocturn (inversare)" }, + { "No .json backups found.\nExport one first, or copy a\nmeshcore-backup.json to the\nSD card or internal flash.", "Niciun backup .json găsit.\nExportă unul mai întâi sau copiază\nun meshcore-backup.json pe cardul\nSD ori în flash-ul intern." }, + { "No @mentions yet", "Nicio menţiune @ încă" }, + { "No Bluetooth on this device", "Fără Bluetooth pe acest dispozitiv" }, + { "No DM key", "Fără cheie DM" }, + { "No GPS module on this device.", "Fără modul GPS pe acest dispozitiv." }, + { "No JPEGs found in /lock/.\nAdd images via the file\nmanager or an SD card.", "Niciun JPEG găsit în /lock/.\nAdaugă imagini prin managerul\nde fişiere sau un card SD." }, + { "No SD card", "Fără card SD" }, + { "No SD card (or unreadable format)", "Fără card SD (sau format ilizibil)" }, + { "No backups yet. Tap Export new backup above to create one.", "Niciun backup încă. Atinge Exportă backup nou mai sus pentru a crea unul." }, + { "No battery history yet.\n\nLogged every 5 minutes.", "Niciun istoric al bateriei încă.\n\nSe înregistrează la 5 minute." }, + { "No blocked users.\n\nLong-press a message and tap\nBlock to add one.", "Niciun utilizator blocat.\n\nApasă lung pe un mesaj şi atinge\nBlochează pentru a adăuga unul." }, + { "No contact for thread", "Niciun contact pentru conversaţie" }, + { "No contact to trace", "Niciun contact de trasat" }, + { "No contacts have shared\na GPS location yet.", "Niciun contact nu a partajat\nîncă o locaţie GPS." }, + { "No discovered nodes yet.\n\nAnything heard over the air that isn't in your contacts will show up here. When auto-add is off, you can manually add nodes to your contacts.", "Niciun nod descoperit încă.\n\nTot ce se aude prin eter şi nu e în contactele tale apare aici. Când auto-adăugarea e oprită, poţi adăuga manual noduri la contacte." }, + { "No earlier versions yet", "Nicio versiune anterioară încă" }, + { "No local expansion data", "Fără date locale de extensie" }, + { "No location for this contact", "Fără locaţie pentru acest contact" }, + { "No map storage.\n\nInsert an SD card to cache\nWi-Fi tiles (or reflash to\nrestore the tiles partition).", "Fără stocare pentru hartă.\n\nIntrodu un card SD pentru dalele\nWi-Fi (sau rescrie partiţia\nde dale ca s-o refaci)." }, + { "No map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.", "Fără dale de hartă aici.\n\nConectează Wi-Fi (Setări → Wi-Fi)\npentru a descărca această zonă." }, + { "No mapped repeaters in this route", "Niciun repetor cartografiat pe această rută" }, + { "No networks found (2.4 GHz only)", "Nicio reţea găsită (doar 2,4 GHz)" }, + { "No onboard GPS", "Fără GPS integrat" }, + { "No other networks found", "Nicio altă reţea găsită" }, + { "No position yet. A cold start needs a clear view of the sky and can take several minutes.", "Încă nicio poziţie. O pornire la rece are nevoie de cer liber şi poate dura câteva minute." }, + { "No reply from %s", "Niciun răspuns de la %s" }, + { "No reply. Check password, server,\nor device clock (device: %s)", "Niciun răspuns. Verifică parola, serverul\nsau ceasul dispozitivului (dispozitiv: %s)" }, + { "No saved map tiles here.\n\nConnect to Wi-Fi (Settings → Wi-Fi)\nto download this area.\nSaved tiles stay available offline.", "Fără dale salvate aici.\n\nConectează Wi-Fi (Setări → Wi-Fi)\npentru a descărca zona.\nDalele salvate rămân offline." }, + { "No system time yet", "Încă nu există oră de sistem" }, + { "No telemetry in this window.\nRequest one, or widen the range below.", "Fără telemetrie în acest interval.\nCere una sau lărgeşte intervalul de mai jos." }, + { "No tiles (non-ESP32)", "Fără dale (non-ESP32)" }, + { "No version known yet. Wi-Fi and a completed update check are needed first.", "Nicio versiune cunoscută încă. E nevoie mai întâi de Wi-Fi şi de o verificare de actualizare completă." }, + { "Node\nRegion\nRadio\nSignal\nContacts\nChannels\nBattery\nUptime", "Nod\nRegiune\nRadio\nSemnal\nContacte\nCanale\nBaterie\nTimp de funcţionare" }, + { "Node name", "Nume nod" }, + { "Normal (100%)\nLarge (150%)\nHuge (200%)", "Normal (100%)\nMare (150%)\nFoarte mare (200%)" }, + { "Not enough free memory for Bluetooth. Turn Wi-Fi off first.", "Memorie liberă insuficientă pentru Bluetooth. Opreşte mai întâi Wi-Fi." }, + { "Not enough free memory for Wi-Fi. Turn Bluetooth off first.", "Memorie liberă insuficientă pentru Wi-Fi. Opreşte mai întâi Bluetooth." }, + { "Nothing selected", "Nimic selectat" }, + { "Notification sound set", "Sunet de notificare setat" }, + { "Notify on new contact", "Notifică la contact nou" }, + { "Off", "Oprit" }, + { "Off\n1\n2\n3\n5\n8", "Oprit\n1\n2\n3\n5\n8" }, + { "Off\n1 day\n2 days\n3 days\n7 days", "Oprit\n1 zi\n2 zile\n3 zile\n7 zile" }, + { "Off\n60 min\n90 min\n2 hours\n3 hours\n4 hours", "Oprit\n60 min\n90 min\n2 ore\n3 ore\n4 ore" }, + { "Offline", "Offline" }, + { "Older messages in a chat are dropped past this. A very large or unlimited history makes the chat list slower.", "Mesajele mai vechi peste această limită se şterg. Un istoric foarte mare sau nelimitat încetineşte lista de conversaţii." }, + { "On - open the address above in a phone browser.", "Pornit - deschide adresa de mai sus în browserul telefonului." }, + { "On boot", "La pornire" }, + { "On map", "Pe hartă" }, + { "Open Advertise app", "Deschide aplicaţia Advertise" }, + { "Open a .wav, then tap 'Set as notification sound'", "Deschide un .wav, apoi atinge 'Setează ca sunet de notificare'" }, + { "Open a JPEG, then tap 'Set as wallpaper'", "Deschide un JPEG, apoi atinge 'Setează ca fundal'" }, + { "Open chat", "Deschide conversaţia" }, + { "Open in a browser (same Wi-Fi):", "Deschide într-un browser (acelaşi Wi-Fi):" }, + { "Open in web", "Deschide pe web" }, + { "Open mesh console", "Deschide consola mesh" }, + { "Optional — type your network, or leave blank to skip.", "Opţional — tastează reţeaua sau lasă gol pentru a omite." }, + { "Orange temp Cyan humidity", "Portocaliu temp Cyan umiditate" }, + { "Orientation (tap to rotate, reboots)", "Orientare (atinge pentru rotire, reporneşte)" }, + { "Out of memory", "Memorie insuficientă" }, + { "Overwrite oldest", "Suprascrie cele mai vechi" }, + { "Overwrite the SD card's settings and\nidentity with the internal copies,\nthen reboot?", "Suprascrii setările şi identitatea\nde pe SD cu copiile interne,\napoi reporneşti?" }, + { "PNG isn't supported here\nUse a JPEG", "PNG nu este acceptat aici\nFoloseşte un JPEG" }, + { "Pairing code", "Cod de asociere" }, + { "Pairing code saved — reboot to apply", "Cod de asociere salvat — reporneşte pentru aplicare" }, + { "Pairing code: %06lu", "Cod de asociere: %06lu" }, + { "Pairing code: n/a", "Cod de asociere: n/a" }, + { "Password (empty = open)", "Parolă (gol = deschisă)" }, + { "Password (empty = skip Wi-Fi)", "Parolă (gol = omite Wi-Fi)" }, + { "Password (optional)", "Parolă (opţională)" }, + { "Password too long", "Parolă prea lungă" }, + { "Paste", "Lipeşte" }, + { "Paste failed", "Lipire eşuată" }, + { "Paste the 64-hex public key and a name. Useful when you want to DM someone before their advert has arrived.", "Lipeşte cheia publică de 64 hex şi un nume. Util când vrei să trimiţi un DM cuiva înainte să-i sosească advertul." }, + { "Pasted", "Lipit" }, + { "Path hash: %u byte%s", "Hash cale: %u byte%s" }, + { "Path reset", "Cale resetată" }, + { "Path reset failed", "Resetarea căii a eşuat" }, + { "Paused — score %d", "Pauză — scor %d" }, + { "Per-transmit switching on", "Comutare per transmisie pornită" }, + { "Pick colour", "Alege culoarea" }, + { "Ping", "Ping" }, + { "Ping failed", "Ping eşuat" }, + { "Pinged (direct) — waiting…", "Ping trimis (direct) — se aşteaptă…" }, + { "Pinged (flood) — waiting…", "Ping trimis (flood) — se aşteaptă…" }, + { "Play", "Redă" }, + { "Poll (min)", "Interogare (min)" }, + { "Poll every", "Interogare la fiecare" }, + { "Poll every %d min", "Interogare la %d min" }, + { "Port", "Port" }, + { "Portrait set - applies when remote mode starts.", "Portret setat - se aplică la pornirea modului la distanţă." }, + { "Position saved", "Poziţie salvată" }, + { "Power", "Alimentare" }, + { "Power off", "Opreşte" }, + { "Powering off… click trackball to wake", "Se opreşte… apasă trackball-ul pentru trezire" }, + { "Press a key…", "Apasă o tastă…" }, + { "Probe now", "Măsoară acum" }, + { "Probing neighbours…", "Se sondează vecinii…" }, + { "Profile", "Profil" }, + { "Pubkey must be 64 hex chars.", "Cheia publică trebuie să aibă 64 caractere hex." }, + { "Public channel ready", "Canal public pregătit" }, + { "Public key (64 hex chars)", "Cheie publică (64 caractere hex)" }, + { "Public key:", "Cheie publică:" }, + { "Publish channel messages", "Publică mesajele canalelor" }, + { "Publish direct messages", "Publică mesajele directe" }, + { "Purge", "Curăţă" }, + { "Purge all discovered nodes?", "Elimini toate nodurile descoperite?" }, + { "Quick replies", "Răspunsuri rapide" }, + { "Quick reply", "Răspuns rapid" }, + { "RAM %u%% · PSRAM %u%%", "RAM %u%% · PSRAM %u%%" }, + { "RX %d entries · Raw %d entries", "RX %d intrări · Brut %d intrări" }, + { "RX boosted gain", "Amplificare RX crescută" }, + { "RX log", "Jurnal RX" }, + { "Radio & Mesh", "Radio şi mesh" }, + { "Radio + region set", "Radio + regiune setate" }, + { "Radio applied", "Radio aplicat" }, + { "Radio off", "Radio oprit" }, + { "Radio: off", "Radio: oprit" }, + { "Range test", "Test de rază" }, + { "RangeTest failed", "RangeTest eşuat" }, + { "RangeTest sent (direct)", "RangeTest trimis (direct)" }, + { "RangeTest sent (flood)", "RangeTest trimis (flood)" }, + { "Raw log", "Jurnal brut" }, + { "Reads packets on a background task so a busy screen can't drop them.", "Citeşte pachetele pe o sarcină de fundal, ca un ecran ocupat să nu le piardă." }, + { "Reboot", "Reporneşte" }, + { "Reboot device", "Reporneşte dispozitivul" }, + { "Rebooting...", "Se reporneşte..." }, + { "Rebooting…", "Se reporneşte…" }, + { "Receive unreleased test firmware — newer features, but less tested. The update check and Install update both follow the beta channel.", "Primeşti firmware de test nepublicat — funcţii mai noi, dar mai puţin testate. Verificarea de actualizare şi Instalează actualizarea urmează ambele canalul beta." }, + { "Recently heard", "Auzite recent" }, + { "Reformat SD as MESHCOMOD (FAT32)?\nALL data on the card will be erased.", "Reformatezi SD ca MESHCOMOD (FAT32)?\nTOATE datele de pe card vor fi şterse." }, + { "Region & scope", "Regiune şi acoperire" }, + { "Region scope (#tag) for this channel.\nBlank = use the default scope.", "Domeniu regional (#tag) pentru acest canal.\nGol = domeniul implicit." }, + { "Region scope (#tag), blank = default.", "Domeniu regional (#tag), gol = implicit." }, + { "Region scope (#tag, blank = none)", "Domeniu regional (#tag, gol = niciunul)" }, + { "Remember password", "Reţine parola" }, + { "Remote UI", "Interfaţă la distanţă" }, + { "Remote UI (on)", "Interfaţă la distanţă (pornită)" }, + { "Remote access", "Acces la distanţă" }, + { "Remote terminal", "Terminal la distanţă" }, + { "Remote terminal (recommended)", "Terminal la distanţă (recomandat)" }, + { "Remote terminal off", "Terminal la distanţă oprit" }, + { "Remove", "Elimină" }, + { "Remove %s?", "Elimini %s?" }, + { "Remove channel", "Elimină canalul" }, + { "Remove channel \"%s\"?\nLeaves it on this device only.", "Elimini canalul \"%s\"?\nÎl elimină doar de pe acest dispozitiv." }, + { "Removed", "Eliminat" }, + { "Removed from favorites", "Eliminat de la favorite" }, + { "Rename", "Redenumeşte" }, + { "Rename failed", "Redenumire eşuată" }, + { "Renamed", "Redenumit" }, + { "Replay", "Redă" }, + { "Replay route on map", "Redă ruta pe hartă" }, + { "Replaying route…", "Se redă ruta…" }, + { "Resend", "Retrimite" }, + { "Resend failed", "Retrimitere eşuată" }, + { "Resends a message until a repeater echoes it or the recipient ACKs. Turn off to send once only.", "Retrimite mesajul până când un repetor îl reflectă sau destinatarul confirmă. Opreşte pentru o singură trimitere." }, + { "Reset", "Resetează" }, + { "Reset path", "Resetează ruta" }, + { "Restarting to apply the language…", "Repornire pentru aplicarea limbii…" }, + { "Retry sends until heard", "Retrimite până e auzit" }, + { "Reverse scrollball", "Inversează scrollball-ul" }, + { "Roll to highlight • click to insert", "Rulează pentru evidenţiere • apasă pentru inserare" }, + { "Room is read-only for you.\nJoin with the room password to post.", "Camera e doar în citire pentru tine.\nIntră cu parola camerei ca să postezi." }, + { "Rotating - reconnecting...", "Rotire - reconectare..." }, + { "Rotating… rebooting", "Se roteşte… repornire" }, + { "Run setup again", "Rulează configurarea din nou" }, + { "SD card %s", "Card SD %s" }, + { "SD card %s (hold: format)", "Card SD %s (ţine: formatare)" }, + { "SD card (tap to mount)", "Card SD (atinge pentru montare)" }, + { "SD card inserted", "Card SD introdus" }, + { "SD card lost - reinsert to recover", "Card SD pierdut - reintrodu-l pentru recuperare" }, + { "SD card remounted", "Card SD remontat" }, + { "SD card removed", "Card SD scos" }, + { "SD download failed: %s", "Descărcare SD eşuată: %s" }, + { "SD formatted - %s (MESHCOMOD)", "SD formatat - %s (MESHCOMOD)" }, + { "SF", "SF" }, + { "SF / CR / TX / AF", "SF / CR / TX / AF" }, + { "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB folosiţi" }, + { "SSID set — enter password, then Save", "SSID setat — introdu parola, apoi Salvează" }, + { "SSID too long", "SSID prea lung" }, + { "Sample text", "Text de probă" }, + { "Save", "Salvează" }, + { "Save & restart", "Salvează şi reporneşte" }, + { "Save / turn on", "Salvează / porneşte" }, + { "Save auto-add", "Salvează auto-adăugarea" }, + { "Save experimental", "Salvează experimentalele" }, + { "Save failed", "Salvare eşuată" }, + { "Save name", "Salvează numele" }, + { "Save policy", "Salvează politica" }, + { "Save position", "Salvează poziţia" }, + { "Save quick replies", "Salvează răspunsurile rapide" }, + { "Save report", "Salvează raportul" }, + { "Save update bin to SD", "Salvează actualizarea pe SD" }, + { "Saved", "Salvat" }, + { "Saved backups", "Backupuri salvate" }, + { "Saved network", "Reţea salvată" }, + { "Saved profiles", "Profiluri salvate" }, + { "Saved to slot %d", "Salvat în slotul %d" }, + { "Saved — rebooting", "Salvat — se reporneşte" }, + { "Saved — reconnecting…", "Salvat — se reconectează…" }, + { "Saved: %s\nFlash it from the Launcher.", "Salvat: %s\nInstalează-l din Launcher." }, + { "Saving to SD… %d%%", "Se salvează pe SD… %d%%" }, + { "Saving to SD… 0%", "Se salvează pe SD… 0%" }, + { "Scan to open on phone", "Scanează pentru a deschide pe telefon" }, + { "Scanning…", "Se scanează…" }, + { "Scope direct msgs to region", "Limitează DM-urile la regiune" }, + { "Screen locked", "Ecran blocat" }, + { "Screen timeout (s, 0 = never)", "Stingere ecran (s, 0 = niciodată)" }, + { "Screen timeout (s, 0 = never, min 10)", "Stingere ecran (s, 0 = niciodată, min 10)" }, + { "Screen timeout: %ds", "Stingere ecran: %ds" }, + { "Screen timeout: never", "Stingere ecran: niciodată" }, + { "Screen-off just dims", "Ecranul stins doar se întunecă" }, + { "Screenshot needs an SD card", "Captura de ecran necesită un card SD" }, + { "Screenshot: low memory", "Captură: memorie redusă" }, + { "Screenshot: no SD card", "Captură: fără card SD" }, + { "Screenshot: write failed", "Captură: scriere eşuată" }, + { "Scrollball: normal", "Scrollball: normal" }, + { "Scrollball: reversed", "Scrollball: inversat" }, + { "Search", "Căutare" }, + { "Search contacts", "Caută contacte" }, + { "Secondary keyboards", "Tastaturi secundare" }, + { "Secret (32 hex chars)", "Secret (32 caractere hex)" }, + { "Secret (32 hex, optional)", "Secret (32 hex, opţional)" }, + { "Secret must be 32 hex chars (or empty).", "Secretul trebuie să aibă 32 caractere hex (sau gol)." }, + { "Select a DM thread", "Selectează o conversaţie DM" }, + { "Select all", "Selectează tot" }, + { "Select network", "Selectează reţeaua" }, + { "Send advert", "Trimite advert" }, + { "Send advert now", "Trimite advert acum" }, + { "Send an advert now, or set how often you re-advertise.", "Trimite un advert acum sau setează cât de des te re-anunţi." }, + { "Send failed", "Trimitere eşuată" }, + { "Sender blocked", "Expeditor blocat" }, + { "Sensors tab: off (restart to apply)", "Fila Senzori: oprită (repornire pentru aplicare)" }, + { "Sensors tab: on (restart to apply)", "Fila Senzori: pornită (repornire pentru aplicare)" }, + { "Sent", "Trimis" }, + { "Set", "Setează" }, + { "Set an SSID first", "Setează mai întâi un SSID" }, + { "Set as notification sound", "Setează ca sunet de notificare" }, + { "Set as wallpaper", "Setează ca imagine de fundal" }, + { "Set your location first", "Setează-ţi mai întâi locaţia" }, + { "Settings", "Setări" }, + { "Setup complete", "Configurare finalizată" }, + { "Share QR", "Partajează QR" }, + { "Share channel", "Partajează canalul" }, + { "Share location in advert", "Partajează locaţia în advert" }, + { "Share secret", "Partajează secretul" }, + { "Share the 32-char secret so others can join. Leave the secret empty to generate a random one.", "Partajează secretul de 32 caractere ca să poată intra şi alţii. Lasă secretul gol pentru a genera unul aleatoriu." }, + { "Share: %s", "Partajare: %s" }, + { "Show", "Arată" }, + { "Show Sensors tab", "Arată fila Senzori" }, + { "Show in the app drawer", "Afişează în sertarul de aplicaţii" }, + { "Show link lines", "Arată liniile de legătură" }, + { "Show menu-bar letters", "Arată literele barei de meniu" }, + { "Show on chart", "Arată pe grafic" }, + { "Show on map", "Arată pe hartă" }, + { "Sightline", "Linie vizuală" }, + { "Signal & traffic", "Semnal şi trafic" }, + { "Signal probe", "Sondă de semnal" }, + { "Skip", "Omite" }, + { "Sleep ready", "Pregătit de somn" }, + { "Slot %d cleared", "Slot %d golit" }, + { "Slot empty", "Slot gol" }, + { "Small\nMedium\nLarge", "Mic\nMediu\nMare" }, + { "Snake — swipe or roll the trackball", "Snake — glisează sau roteşte trackball-ul" }, + { "Sort", "Sortează" }, + { "Sound", "Sunet" }, + { "Sound off", "Sunet oprit" }, + { "Sound on", "Sunet pornit" }, + { "Sound: %s", "Sunet: %s" }, + { "Start time", "Ora de început" }, + { "Status", "Stare" }, + { "Step 1 of 3", "Pasul 1 din 3" }, + { "Step 2 of 3", "Pasul 2 din 3" }, + { "Step 3 of 3", "Pasul 3 din 3" }, + { "Still analyzing the previous\npath… try again in a moment.", "Încă se analizează calea\nanterioară… reîncearcă imediat." }, + { "Stop", "Opreşte" }, + { "Storage", "Stocare" }, + { "Store data on SD (reboot)", "Stochează datele pe SD (repornire)" }, + { "Streams the device screen as a live picture you tap to control. Heavier; the panel shows a placeholder. Toggling reboots the device.", "Transmite ecranul ca imagine live pe care o atingi pentru control. Mai greu; panoul arată un substituent. Comutarea reporneşte dispozitivul." }, + { "Switch", "Comută" }, + { "Switch to the external antenna?\n\nMake sure an antenna is actually connected to the external antenna socket first. Transmitting with nothing attached can damage the radio.\n\nResets to the on-board antenna on every reboot.", "Comuţi pe antena externă?\n\nAsigură-te întâi că e chiar conectată o antenă la mufa externă. Transmisia fără antenă poate defecta radioul.\n\nRevine la antena integrată la fiecare repornire." }, + { "Sync clock from system", "Sincronizează ceasul din sistem" }, + { "System", "Sistem" }, + { "System info", "Informaţii sistem" }, + { "TCP %s BLE %s\nWS clients %d GPS %s Buzzer %s", "TCP %s BLE %s\nClienţi WS %d GPS %s Buzzer %s" }, + { "TCP off", "TCP oprit" }, + { "TCP on", "TCP pornit" }, + { "TOUCH BETA", "TOUCH BETA" }, + { "TX", "TX" }, + { "Tab hotkeys — tap a row, then press a key", "Taste rapide pentru file — atinge un rând, apoi apasă o tastă" }, + { "Tap Use to switch - the device reboots to apply. Language files live in /lang on the storage; edit them or add your own.", "Atinge Foloseşte pentru a schimba - dispozitivul reporneşte. Fişierele de limbă stau în /lang pe stocare; editează-le sau adaugă-le pe ale tale." }, + { "Tap a language; the device reboots to apply.", "Atinge o limbă; dispozitivul reporneşte pentru aplicare." }, + { "Taste the rainbow!", "Gustă curcubeul!" }, + { "Telemetry", "Telemetrie" }, + { "Telemetry req (direct)…", "Cerere telemetrie (direct)…" }, + { "Telemetry req (flood)…", "Cerere telemetrie (flood)…" }, + { "Telemetry req failed", "Cerere telemetrie eşuată" }, + { "Telemetry requests allowed", "Cereri de telemetrie permise" }, + { "Telemetry requests off", "Cereri de telemetrie oprite" }, + { "Telemetry req…", "Cerere telemetrie…" }, + { "Telemetry settings", "Setări telemetrie" }, + { "Temperature", "Temperatură" }, + { "Test builds: off", "Versiuni de test: oprite" }, + { "Test builds: on", "Versiuni de test: pornite" }, + { "Theme", "Temă" }, + { "Theme colour", "Culoare temă" }, + { "Then pick a mode:", "Apoi alege un mod:" }, + { "This contact hasn't shared\na GPS position.", "Acest contact nu a partajat\no poziţie GPS." }, + { "This device can run Wi-Fi and Bluetooth at once, as a standalone radio and a phone companion (MeshCore app) together.\n\nRunning both at the same time uses more RAM, so turn on only what you need.\n\nSet them up anytime in Settings.", "Acest dispozitiv poate rula Wi-Fi şi Bluetooth simultan, ca radio de sine stătător şi companion de telefon (aplicaţia MeshCore) în acelaşi timp.\n\nRularea ambelor foloseşte mai multă memorie RAM, deci porneşte doar ce îţi trebuie.\n\nLe poţi configura oricând în Setări." }, + { "Throttles the CPU when idle to save power", "Reduce frecvenţa CPU în repaus pentru economie de energie" }, + { "Tile reload needs Wi-Fi build", "Reîncărcarea dalelor necesită build cu Wi-Fi" }, + { "Tiles cleared — reconnect Wi-Fi to re-download", "Dale şterse — reconectează Wi-Fi pentru re-descărcare" }, + { "Tiles from SD card", "Dale de pe cardul SD" }, + { "Time %s", "Ora %s" }, + { "Time offset (vs automatic)", "Decalaj orar (faţă de automat)" }, + { "Time offset: %+d h", "Decalaj orar: %+d h" }, + { "Time range (hours ago)", "Interval (ore în urmă)" }, + { "Time zone", "Fus orar" }, + { "Time zone: %s", "Fus orar: %s" }, + { "Tip: you can scan for networks in Settings → Network after setup.", "Sfat: poţi scana reţele în Setări → Reţea după configurare." }, + { "Today", "Azi" }, + { "Toggle GPS", "Comută GPS" }, + { "Too large to edit (>8 KB)", "Prea mare pentru editare (>8 KB)" }, + { "Topographic map", "Hartă topografică" }, + { "Trace", "Trasează" }, + { "Trace SNR", "Urmăreşte SNR" }, + { "Trace failed", "Trasare eşuată" }, + { "Trace route", "Trasează ruta" }, + { "Trace sent…", "Trasare trimisă…" }, + { "Tracing route…", "Se trasează ruta…" }, + { "Trackball navigates UI", "Trackball-ul navighează UI-ul" }, + { "Trackball: cursor", "Trackball: cursor" }, + { "Trackball: navigate UI", "Trackball: navigare UI" }, + { "Turn Wi-Fi on first", "Porneşte mai întâi Wi-Fi" }, + { "Turn Wi-Fi on, then tap refresh. Apps already installed still work.", "Porneşte Wi-Fi, apoi reîmprospătează. Aplicaţiile instalate funcţionează în continuare." }, + { "Turn off", "Opreşte" }, + { "Turn on legacy per-transmit switching?\n\nDiagnostic mode, for comparison only. It transmits on the on-board antenna and listens on the external one, so your outbound signal will be much weaker than your inbound.\n\nResets to the on-board antenna on every reboot.", "Porneşti comutarea veche per transmisie?\n\nMod de diagnostic, doar pentru comparaţie. Transmite pe antena integrată şi ascultă pe cea externă, deci semnalul tău de ieşire va fi mult mai slab decât cel de intrare.\n\nRevine la antena integrată la fiecare repornire." }, + { "Turn the history limit off?\n\nA busy channel can then fill the whole message store, which uses more space and makes the chat list and app noticeably slower. Only do this if you really need the full backlog.", "Opreşti limita istoricului?\n\nUn canal aglomerat poate umple tot spaţiul de mesaje - mai mult spaţiu ocupat şi listă/aplicaţie vizibil mai lente. Fă asta doar dacă ai cu adevărat nevoie de tot istoricul." }, + { "Turn this on, then open the address below in any web browser on the same Wi-Fi - no app needed. This device's screen appears live in the browser and you can tap to control it.", "Porneşte asta, apoi deschide adresa de mai jos în orice browser pe acelaşi Wi-Fi - fără aplicaţie. Ecranul dispozitivului apare live în browser şi îl poţi controla prin atingere." }, + { "Type a URL, then Go", "Scrie un URL, apoi Mergi" }, + { "Type a message...", "Scrie un mesaj..." }, + { "Type a new 6-digit code · applies after a reboot", "Tastează un cod nou de 6 cifre · se aplică după repornire" }, + { "Type your network name — or switch to Wi-Fi in Settings to scan", "Tastează numele reţelei — sau treci la Wi-Fi în Setări pentru scanare" }, + { "UI size (restart to apply)", "Dimensiune UI (repornire pentru aplicare)" }, + { "UI size saved — restart to apply", "Dimensiune UI salvată — reporneşte pentru aplicare" }, + { "USB powered", "Alimentat prin USB" }, + { "Unblock", "Deblochează" }, + { "Unblocked", "Deblocat" }, + { "Unfavorite it first", "Scoate-l mai întâi de la favorite" }, + { "Unlocking…", "Se deblochează…" }, + { "Unmute @", "Cu sunet @" }, + { "Unmute msgs", "Cu sunet mesaje" }, + { "Unread %d", "Necitite %d" }, + { "Unread %d\nRAM %u%% · PSRAM %u%%", "Necitite %d\nRAM %u%% · PSRAM %u%%" }, + { "Unsupported WAV (need 16-bit PCM)", "WAV neacceptat (necesită PCM 16-bit)" }, + { "Update", "Actualizează" }, + { "Update bin saved to SD", "Bin de actualizare salvat pe SD" }, + { "Update complete.\nRebooting...", "Actualizare completă.\nSe reporneşte..." }, + { "Update manually at flasher.wadamesh.com\n(Wi-Fi update is paused for now)", "Actualizează manual la flasher.wadamesh.com\n(actualizarea Wi-Fi e momentan suspendată)" }, + { "Update via the Launcher", "Actualizează prin Launcher" }, + { "Update via the Launcher / flasher.wadamesh.com", "Actualizează prin Launcher / flasher.wadamesh.com" }, + { "Update via the Launcher / flasher.wadamesh.com.", "Actualizează prin Launcher / flasher.wadamesh.com." }, + { "Updated - rebooting…", "Actualizat - repornire…" }, + { "Use", "Foloseşte" }, + { "Username (optional)", "Utilizator (opţional)" }, + { "Volume", "Volum" }, + { "W up · A left · D right · Z down · S select · Q back", "W sus · A stânga · D dreapta · Z jos · S selectare · Q înapoi" }, + { "WADA#15B6A6 MESH#", "WADA#15B6A6 MESH#" }, + { "WADAMESH", "WADAMESH" }, + { "Waiting for Wi-Fi...", "Se aşteaptă Wi-Fi..." }, + { "Welcome to WADAMESH", "Bun venit la WADAMESH" }, + { "While this is on, anyone on your Wi-Fi can view and control this device. Uses plain HTTP (local network only).", "Cât timp e pornit, oricine din reţeaua ta Wi-Fi poate vedea şi controla dispozitivul. Foloseşte HTTP simplu (doar reţea locală)." }, + { "Wi-Fi", "Wi-Fi" }, + { "Wi-Fi & Bluetooth", "Wi-Fi şi Bluetooth" }, + { "Wi-Fi is not enabled in this build.", "Wi-Fi nu este activat în acest build." }, + { "Wi-Fi isn't available on this build.", "Wi-Fi nu este disponibil în acest build." }, + { "Wi-Fi needed to fetch the\nterrain profile for this path.\nConnect in Settings → Wi-Fi.", "E nevoie de Wi-Fi pentru profilul\nde teren al acestei căi.\nConectează-te în Setări → Wi-Fi." }, + { "Wi-Fi not connected", "Wi-Fi neconectat" }, + { "Wi-Fi off", "Wi-Fi oprit" }, + { "Wi-Fi on", "Wi-Fi pornit" }, + { "Wi-Fi on, scanning…", "Wi-Fi pornit, se scanează…" }, + { "Wi-Fi saved (radio off)", "Wi-Fi salvat (radio oprit)" }, + { "Wi-Fi saved, reconnecting", "Wi-Fi salvat, se reconectează" }, + { "Yesterday", "Ieri" }, + { "You can run setup later in Settings → Device", "Poţi rula configurarea mai târziu în Setări → Dispozitiv" }, + { "Your location is unknown.\nSet GPS / position in\nSettings → Profile first.", "Locaţia ta e necunoscută.\nSetează mai întâi GPS / poziţia\nîn Setări → Profil." }, + { "Your name", "Numele tău" }, + { "Your own apps", "Aplicaţiile tale" }, + { "Zero-hop", "Fără salt" }, + { "Zero-hop advert sent", "Advert zero-hop trimis" }, + { "Zoom: +/- buttons", "Zoom: butoane +/-" }, + { "client connected", "client conectat" }, + { "command", "comandă" }, + { "contacts (%d):", "contacte (%d):" }, + { "diag boot...", "pornire diag..." }, + { "double-tap SPACE cycles through the ones you enable", "dublă atingere pe SPAŢIU comută între cele activate" }, + { "drive the UI without the screen; keys still type in text fields", "controlează UI-ul fără ecran; tastele scriu în continuare în câmpurile text" }, + { "e.g. Family", "ex. Familie" }, + { "e.g. mesh", "ex. mesh" }, + { "from", "de la" }, + { "h to", "h la" }, + { "hold Backspace to unlock", "ţine Backspace pentru deblocare" }, + { "hold the d-pad to unlock", "ţine d-pad pentru deblocare" }, + { "hold the trackball to unlock", "ţine trackball-ul apăsat pentru deblocare" }, + { "kHz", "kHz" }, + { "keep holding", "ţine apăsat" }, + { "last wake: ", "ultima trezire: " }, + { "leave empty to generate", "lasă gol pentru generare" }, + { "lights the keyboard + wakes the screen on an incoming message", "aprinde tastatura + trezeşte ecranul la un mesaj primit" }, + { "mesh link armed", "mesh link armat" }, + { "mesh busy", "mesh ocupat" }, + { "min (0=off)", "min (0=oprit)" }, + { "mkdir failed", "mkdir eşuat" }, + { "n/a in this build", "indisponibil în acest build" }, + { "now on channel %s", "acum pe canalul %s" }, + { "now talking to %s", "acum vorbeşti cu %s" }, + { "off", "oprit" }, + { "off = Enter adds a new line; tap Send to send", "oprit = Enter adaugă rând nou; atinge Trimite pentru trimitere" }, + { "on", "pornit" }, + { "peak --", "vârf --" }, + { "pick accented letters as you type; off = plain typing", "alege litere cu accente în timp ce tastezi; oprit = tastare simplă" }, + { "press Volume Down to unlock", "apasă Volum jos pentru deblocare" }, + { "push past a screen edge to scroll content", "împinge peste marginea ecranului pentru a derula conţinutul" }, + { "score %d", "scor %d" }, + { "search", "caută" }, + { "tap for details", "atinge pentru detalii" }, + { "tap the language key (e.g. EN) on the keyboard to cycle the ones you enable", "atinge tasta de limbă (ex. EN) de pe tastatură pentru a comuta între cele activate" }, + { "tap to cancel", "atinge pentru anulare" }, + { "tap to exit full screen", "atinge pentru a ieşi din ecran complet" }, + { "zoom", "zoom" }, + { "zoom %d", "zoom %d" }, + { "~17 dB amp for quiet/remote areas; turn off in noisy spots.", "amplificator ~17 dB pentru zone liniştite/izolate; opreşte-l în locuri zgomotoase." }, + { "© OpenTopoMap", "© OpenTopoMap" }, +}; + +static const I18nPair* const kBuiltinLang[LANG_COUNT] = { + nullptr, + kBuiltin_hu, + kBuiltin_nl, + kBuiltin_de, + kBuiltin_fr, + kBuiltin_es, + kBuiltin_it, + kBuiltin_ru, + kBuiltin_uk, + kBuiltin_bg, + kBuiltin_sr, + kBuiltin_el, + kBuiltin_pt_br, + kBuiltin_ro, +}; +static const int kBuiltinLangCount[LANG_COUNT] = { + 0, + (int)(sizeof(kBuiltin_hu)/sizeof(kBuiltin_hu[0])), + (int)(sizeof(kBuiltin_nl)/sizeof(kBuiltin_nl[0])), + (int)(sizeof(kBuiltin_de)/sizeof(kBuiltin_de[0])), + (int)(sizeof(kBuiltin_fr)/sizeof(kBuiltin_fr[0])), + (int)(sizeof(kBuiltin_es)/sizeof(kBuiltin_es[0])), + (int)(sizeof(kBuiltin_it)/sizeof(kBuiltin_it[0])), + (int)(sizeof(kBuiltin_ru)/sizeof(kBuiltin_ru[0])), + (int)(sizeof(kBuiltin_uk)/sizeof(kBuiltin_uk[0])), + (int)(sizeof(kBuiltin_bg)/sizeof(kBuiltin_bg[0])), + (int)(sizeof(kBuiltin_sr)/sizeof(kBuiltin_sr[0])), + (int)(sizeof(kBuiltin_el)/sizeof(kBuiltin_el[0])), + (int)(sizeof(kBuiltin_pt_br)/sizeof(kBuiltin_pt_br[0])), + (int)(sizeof(kBuiltin_ro)/sizeof(kBuiltin_ro[0])), +};