Compare commits

...
36 Commits
Author SHA1 Message Date
Kaj SchittecatandClaude Opus 5 293830a172 release: beta_62 notes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 10:12:10 +02:00
Kaj SchittecatandClaude Opus 5 2149184cf5 fix: don't delete a contact's blob from the packet path (#222)
When the contact table is full, every incoming advert from an unknown node
evicts the oldest contact, and onContactOverwrite() removed that contact's
stored blob inline — on the mesh receive path. On a Heltec V4 the store is
internal SPIFFS, where an unlink can trigger garbage collection, and SPIFFS GC
suspends the flash cache: both cores stall for the duration. That is the
reported symptom exactly — the whole device locks, Bluetooth and TCP drop, the
screen will not wake, and it comes back on its own once GC finishes. It gets
worse the fuller the table is (reports at ~350, ~600 and ~2000 contacts), and a
plain V4 has no SD slot, so there is no storage-side workaround.

Queue the delete instead and drain it from loop(), one blob per tick and no
faster than every 500 ms, under the same WdtHeavyGuard saveContacts uses. A
burst of evictions can no longer chain GC passes back to back, and a slow pass
stalls briefly instead of tripping the watchdog. If the queue (8 deep) fills,
the blob is left orphaned — harmless, and reclaimed on the next wipe.

Reported by Yoss101 and pisti87.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 10:00:32 +02:00
Kaj SchittecatandClaude Opus 5 d0d52e5d02 touch: accents render everywhere — chain the fallback font at every label
Non-ASCII text was rendering as tofu boxes across the UI in any language that
needs them: Hungarian 'K□z□ss□gi profil' sat under a perfectly rendered 'Rádió
és Mesh' title, same characters, same screen. LVGL's theme puts a font on each
widget, so a label that sets none of its own lands on the stock
LV_FONT_MONTSERRAT_* — which carries no fallback chain. The title looked fine
only because it sets &g_font_16 explicitly.

79 of this file's 543 lv_label_create sites set no font, so this was never a
Hungarian bug: every Greek, Cyrillic, Russian, Ukrainian and Bulgarian user hit
the same boxes across the whole UI, and #232 was the only report.

useChainedFont() reads what a label actually RESOLVES to and swaps a raw
Montserrat for its chained twin, so a label inheriting a larger font from its
parent keeps that size — a blind 'set g_font_14 everywhere' would have shrunk
those. Buttons re-supply the theme font to their child labels, so styleButton()
sets the chained font alongside the text colour it already sets, and
settingsRowLabel() no longer leaves font==nullptr to inherit.

Two global approaches were tried and verified dead on device: a text_font style
on the screen/top/sys layers, and re-pointing the theme's font. Both lose to the
per-widget theme style. Noted in the code so nobody retries them.

Verified on a T-Deck in Hungarian.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 09:38:58 +02:00
956bc9faeb i18n: German, Dutch and Hungarian translations for the 48 new UI strings (pisti87)
pisti87 translated the entire missing-key set for three languages and posted
them as 143 line comments on d4ade2e rather than a PR, so they were sitting
unmerged. Harvested by mapping each comment's diff position back to the
placeholder row it annotates — all 143 matched an empty row exactly, no
guesswork.

de 48/48, nl 48/48, hu 46/46 (two of his 47 Hungarian comments were variants of
the same string; 'Copy blocked: migration guard unavailable' is still open).
Version headers bumped so devices pick the files up; i18n_builtin.h regenerated.

Co-Authored-By: pisti87 <pisti87@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 08:55:27 +02:00
Kaj b900edbdfe Merge pull request #198 from PixPMusic/pixpmusic/pager-ui-size
fix(touch): keep enlarged Pager UI readable
2026-08-11 08:26:07 +02:00
Kaj Schittecat 8a7325d547 touch: check SD free space before downloading the update bin
A full card failed partway through with a bare 'SD write failed' — the same
message the DMA-buffer short-write used to produce, so it pointed at the wrong
subsystem, and the percentage it died at was just however far the remaining
space stretched. The tile cache is the usual culprit: it fills the card while
each individual tile stays small enough to keep succeeding.

Now it refuses up front with 'need N MB, M MB free'.
2026-08-11 08:11:26 +02:00
Pixel Perfect 1f2a4b6068 fix(tpager): close app pages from back gesture 2026-08-10 12:21:08 -07:00
Pixel Perfect 3bff2b9257 fix(tpager): resize mentions for larger fonts 2026-08-10 12:21:08 -07:00
Pixel Perfect 151ca4ae1f fix(tpager): resize contact detail menus 2026-08-10 12:09:56 -07:00
Pixel Perfect eadff5ca11 fix(fonts): rebuild touch fonts from OFL sources 2026-08-10 11:15:36 -07:00
Pixel Perfect e58618c590 fix(tpager): clear signal poll focus outline 2026-08-10 09:36:23 -07:00
Pixel Perfect a8bf7b8784 feat(tpager): add full-width traffic detail chart 2026-08-10 09:36:22 -07:00
Pixel Perfect 2627849905 fix(tpager): enlarge contact share panel 2026-08-10 09:36:22 -07:00
Pixel Perfect 733d4015cf fix(tpager): restore bright close focus 2026-08-10 09:36:22 -07:00
Pixel Perfect 48f0589ef5 fix(tpager): center discovered count badge 2026-08-10 09:36:22 -07:00
Pixel Perfect 77a80ed04e fix(tpager): keep contact rows compact 2026-08-10 09:36:22 -07:00
Pixel Perfect a5e2ba07c0 fix(tpager): make Jumbo chat text distinct 2026-08-10 09:36:22 -07:00
Pixel Perfect 32fc5c99e9 fix(tpager): keep familiar size preset names 2026-08-10 09:36:22 -07:00
Pixel Perfect 2ef3746c55 feat(tpager): finish accessible chat sizing 2026-08-10 09:36:22 -07:00
Pixel Perfect 8783e2ebe8 fix(tpager): reclaim the overview header row 2026-08-10 09:36:22 -07:00
Pixel Perfect f22c22020e fix(ui): scope QR scaling to Pager 2026-08-10 09:36:22 -07:00
Pixel Perfect fb4a11c887 fix(tpager): align overview actions with status bar 2026-08-10 09:36:22 -07:00
Pixel Perfect 09b4e696dd fix(tpager): shrink overview action buttons 2026-08-10 09:36:22 -07:00
Pixel Perfect 69d33b4f42 fix(tpager): contain large UI chrome and menus 2026-08-10 09:36:22 -07:00
Pixel Perfect e8732f38a2 fix(touch): keep composer geometry consistent
Signed-off-by: Pixel Perfect <me@pixp.cc>
2026-08-10 09:36:21 -07:00
Pixel Perfect b12187480d fix(touch): size Pager chat rows from fonts
Signed-off-by: Pixel Perfect <me@pixp.cc>
2026-08-10 09:36:21 -07:00
Pixel Perfect b5ead407cc fix(touch): honor Pager fallback line metrics
Signed-off-by: Pixel Perfect <me@pixp.cc>
2026-08-10 09:36:21 -07:00
Pixel Perfect fba8cdedff fix(touch): keep enlarged Pager UI readable
Signed-off-by: Pixel Perfect <me@pixp.cc>
2026-08-10 09:36:21 -07:00
Kaj Schittecat 04947c1413 touch: dev FIRMWARE_VERSION default follows the pinned core (release.sh auto-sync) 2026-08-10 13:15:34 +02:00
Kaj SchittecatandClaude Opus 5 7bc55ef205 release: firmware-data gate broke on its own pipefail (grep -q SIGPIPEs strings)
The script runs under 'set -o pipefail'. grep -q exits at the first match, which
SIGPIPEs the strings feeding it, so the pipeline reported failure and the gate
declared every image untagged — on its first real run, against images that
carried the tag correctly. Count instead of short-circuiting.

The build-date change in the previous commit was precautionary (it matches the
convention the meshcomod release flow already uses); I have no evidence the
spaces were actually breaking the flags, and should not have called it the fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 13:12:31 +02:00
Kaj SchittecatandClaude Opus 5 46960f0cd2 release: build date must not contain spaces (it broke the whole flag string)
PLATFORMIO_BUILD_FLAGS is whitespace-split, so '10 Aug 2026' tore the string
apart and every -D after it was dropped — including FIRMWARE_RELEASE_TAG, which
is precisely the untagged-build failure the new gate exists to catch. The gate
caught it on the first real run and stopped beta_61 before anything published.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 13:04:46 +02:00
Kaj SchittecatandClaude Opus 5 d22c200932 touch: fetch-deps integrity guard + beta_61 note for the P4 receive fix
The vendored core is gitignored and fetch-deps rm -rf's it, so a hand-edit
there dies with no history. That cost us the esp-nimble-cpp 2.x port and then
the P4's polled receive. Both live in the core now; fetch-deps verifies they
survived the copy and fails loudly if not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 12:40:15 +02:00
Kaj Schittecat 48a71695e7 touch: pin core-v1.17.4 — polled receive restores the T-Display P4
Verified on device: the P4 receives channel messages and delivery
confirmations again, and the About RX counters move off zero.
2026-08-10 12:39:00 +02:00
Kaj SchittecatandClaude Opus 5 d4ade2e616 i18n: add the 48 UI strings no language file had, as empty rows for translators
The firmware asked for these keys and no .lang file carried them, so they
rendered English in all 13 languages with nothing to show a translator that
they were missing. Mostly strings that shipped with a feature whose PR did not
touch the language files: the SD arbitration and migration warnings, the
Wi-Fi/BLE coexistence messages, the keyboard-navigation vocabulary
(Up/Down/Left/Right/Select/Scroll) and section names (General, Clock & time,
Sensors, Screen, Home, Messages, Keys, Compact, Snake).

They go in with an EMPTY translation, which is the format's own way of saying
'not translated yet': the runtime loader requires a non-empty value
(`if (*p && tab[1])`) and gen-lang-builtin.py requires `if k and v`, so both
skip these rows and the English falls through exactly as before. Confirmed:
i18n_builtin.h regenerates byte-identical. No `# ver:` bump for the same
reason — device behaviour is unchanged, so there is nothing to re-download.

Also fixes the audit's own row parser to match the loader: a line is a comment
only when it has NO tab. Testing for a leading '#' hid every key starting with
LVGL recolor markup ("#7A7F87 Wardrive: …#"), the exact class the loader has a
comment warning about.

Every language is now at 0 missing keys.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 10:24:56 +02:00
Kaj SchittecatandClaude Opus 5 69bace7c15 tooling: audit .lang files against the TR() keys the firmware looks up
Nothing checked this. The .lang files are hand-maintained and i18n_builtin.h is
generated FROM them, so drift is invisible in both directions: a row whose
English no longer appears in any TR() call is translated for nothing, and a
TR() key with no row renders English in every language forever.

Matching mirrors TR() in i18n.cpp, which is the part a grep gets wrong —
adjacent C literals concatenate, LV_SYMBOL_* icon prefixes are stripped before
lookup, non-ASCII is often written as \x escapes, and menu/tab labels reach
TR() through a table field rather than as a literal (resolved by harvesting the
table's initialiser).

Current state: 910 TR() keys; every language carries ~57 dead rows and is
missing ~53 keys (hu: 77 dead, 52 missing).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 09:53:31 +02:00
Kaj SchittecatandClaude Opus 5 335a64c118 touch: core-v1.17.1 (beta_60 boot loop + unreachable contacts) + release firmware-data gate
Core (core-v1.17.1, meshcomod 5406093): 1.17 reserved MAX_ANON_CONTACTS slots
at the head of contacts[], which broke two things in beta_60 —

- resetContacts() claimed those slots while the lazily-allocated PSRAM table was
  still NULL, so the new bootstrapRTCfromContacts() NULL-deref'd at boot on any
  device whose contact store loaded nothing: fresh install, erase-flash, or SD
  not mounted yet (#249). Boards with saved contacts booted fine, which is how
  it passed bench testing.
- getContactByIdx() stayed raw while getNumContacts() excludes the reserved
  slots, so every pairing of the two — contact list, action sheets, phone-app
  sync, getContactForSave — read empty slots and could not reach the newest 8
  real contacts. A just-added contact was invisible and its action-sheet
  operations resolved to a blank slot (#252).

Fork side:
- loadContacts() skips blank records, clearing the placeholder contacts beta_60
  wrote into the contacts file (the next save drops them permanently).
- Chat threads follow a peer's rename. The thread is matched by key but its name
  was never updated, while inbound messages are filed by sender name — so the
  first message after a rename created a duplicate thread (#252).
- release.sh derives FIRMWARE_VERSION / build date / core version from the tag
  and the pinned core, keeps the in-tree dev default in step, and ABORTS the
  release if any staged image does not embed its own tag. beta_60 shipped
  reporting v1.16.0-touch because that value was hand-maintained.

All 8 S3 envs build green on core-v1.17.1.

Reported-by: Pierre747, rustinmyeye, myshoeisonfire

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 08:20:00 +02:00
39 changed files with 61234 additions and 26928 deletions

No files matched your search

+6
View File
@@ -44,6 +44,12 @@ Noto Color Emoji (emoji glyph artwork, baked to image data)
SIL Open Font License 1.1 — https://github.com/googlefonts/noto-emoji
Used as bundled image data with attribution.
Touch UI bitmap fonts (generated LVGL font data)
Montserrat Project Authors and Noto Project Authors
SIL Open Font License 1.1 — see src/ui-touch/FONT_LICENSES.md
Generated reproducibly by scripts/build/gen-touch-fonts.sh from pinned,
hash-verified Montserrat and Noto font releases.
ed25519 (bundled in lib/ed25519)
Orson Peters / orlp — public domain (Creative Commons Zero / zlib)
https://github.com/orlp/ed25519
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Авто ретранслатор
Auto room Авто стая
Auto sensor Авто сензор
Auto-Join Авто-присъединяване
Auto-add
Auto-add contacts Автоматично добавяне на контакти
Auto-add saved Авто-добавянето е запазено
Auto-add settings Настройки за автодобавяне
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Синьо — батерия Оран
Bluetooth Bluetooth
Bluetooth already off Bluetooth вече е изкл
Bluetooth already on Bluetooth вече е вкл
Bluetooth deferred; retry from Settings
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 също работи.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Хост / IP на брокера
Buffered receive (experimental) Буфериран прием (експериментално)
Built-in Вграден
@@ -153,6 +157,7 @@ Clear battery history? Изчистване на историята на бат
Clear history Изчисти историята
Clear telemetry history for this node? Изчистване на телеметрията за този възел?
Client repeat Повтаряне от клиент
Clock & time
Clock synced Часовникът е синхронизиран
Clock: 12-hour Часовник: 12-часов
Clock: 24-hour Часовник: 24-часов
@@ -161,6 +166,7 @@ Colourful chat bubbles Цветни чат балончета
Commands Команди
Community Preset Готова настройка на общността
Community preset (meshcomod web) Пресет на общността (meshcomod web)
Compact
Compact messages Компактни съобщения
Compact messages (IRC style) Компактни съобщения (IRC стил)
Connect Свързване
@@ -189,10 +195,17 @@ Control this device from a browser Управлявай устройството
Copied %s %s копирано
Copied - Paste in a folder Копирано - поставете в папка
Copy Копирай
Copy blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Копирането не успя (няма вътрешна идентичност)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Копирай данните на SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Копирай тайната
Copying internal data to SD... Копиране на вътрешните данни към SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Неуспешно добавяне
Could not save the crash report Докладът за срив не се записа
Couldn't delete Изтриването неуспешно
@@ -206,6 +219,7 @@ Create QR Създай QR
Create a private channel Създай частен канал
Create failed Създаването неуспешно
Create private channel Създай частен канал
Current tile transfer is busy - retry
Custom UTC offset (hours) Собствено UTC отместване (часове)
Cut Изрежи
Cut - Paste in a folder Изрязано - поставете в папка
@@ -245,6 +259,7 @@ Distance: miles Разстояние: мили
Do Not Disturb Не безпокой
Do Not Disturb off «Не безпокой» изкл.
Do Not Disturb on «Не безпокой» вкл.
Down
Download failed Изтеглянето се провали
Download failed (network?) Изтеглянето се провали (мрежа?)
Download mode Режим за изтегляне
@@ -287,6 +302,9 @@ Export settings Експорт на настройки
Exporting settings… Експортиране на настройки…
External antenna selected Избрана е външна антена
Factory reset Фабрични настройки
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ GPS: fix GPS: фикс
GPS: off GPS: изкл
GPS: searching GPS: търсене
Game over — score %d (tap to restart) Край на играта — точки %d (докоснете за рестарт)
General
Get Изтегли
Get Started Започни
Get test builds (beta) Получаване на тестови версии (бета)
@@ -336,6 +355,7 @@ 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 Лимитът на историята е изключен
Home
Hotkey saved Клавишът е запазен
How you'll appear to other nodes. You can change this later in Settings. Как ще изглеждате за други възли. Промяна в Настройки.
Humidity Влажност
@@ -386,6 +406,7 @@ Keyboard light on Подсветката на клавиатурата е вкл
Keyboard nav: WASDZ on Клавиатурна навиг.: WASDZ вкл.
Keyboard nav: off Клавиатурна навиг.: изкл.
Keyboard navigation Навигация с клавиатура
Keys
LOS → %s Пряка видимост → %s
Landscape (desktop) Пейзаж (десктоп)
Landscape set - applies when remote mode starts. Пейзажът е зададен - прилага се при стартиране на отдалечения режим.
@@ -393,9 +414,11 @@ Language Език
Language catalog unavailable - check Wi-Fi, then reopen this tab. Каталогът с езици е недостъпен - провери Wi-Fi и отвори раздела отново.
Language updated - restarting to apply it… Езикът е обновен - рестартиране за прилагане…
Languages Езици
Large (bigger icons)
Latitude Географска ширина
Leave empty if not required Оставете празно, ако не е нужно
Leaving remote mode - rebooting... Излизане от отдалечен режим - рестартиране...
Left
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)
@@ -455,6 +478,7 @@ Message deleted Съобщението е изтрито
Message didn't get through.\nResend it? Съобщението не стигна.\nДа го изпратя ли пак?
Message info Информация за съобщението
Message sound Звук на съобщения
Messages
Min zoom for this pack Мин. мащаб за този пакет
Mode: BLE starting / low memory Режим: BLE стартира / малко памет
Model: Модел:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Нулиране
Reset path Нулирай маршрута
Restarting to apply the language… Рестартиране за прилагане на езика…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Повтаряй изпращането, докато бъде чуто
Reverse scrollball Обръщане на скролбол
Right
Roll to highlight • click to insert Превъртете за маркиране • щракнете за вмъкване
Room is read-only for you.\nJoin with the room password to post. Стаята е само за четене за вас.\nВлезте с паролата на стаята, за да публикувате.
Rotating - reconnecting... Завъртане - повторно свързване...
@@ -659,8 +687,14 @@ SD card inserted SD картата е поставена
SD card lost - reinsert to recover SD картата е изгубена - поставете я отново
SD card remounted SD картата е монтирана отново
SD card removed SD картата е извадена
SD data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Изтеглянето на SD е неуспешно: %s
SD formatted - %s (MESHCOMOD) SD форматирана - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB използвани
@@ -684,6 +718,7 @@ Saved backups Запазени копия
Saved network Запазена мрежа
Saved profiles Запазени профили
Saved to slot %d Запазено в слот %d
Saved — applying…
Saved — rebooting Запазено — рестарт
Saved — reconnecting… Запазено — повторно свързване…
Saved: %s\nFlash it from the Launcher. Запазено: %s\nФлашнете го от Launcher.
@@ -692,6 +727,7 @@ Saving to SD… 0% Запис на SD… 0%
Scan to open on phone Сканирай, за да отвориш на телефона
Scanning… Сканиране…
Scope direct msgs to region Ограничи директните съобщения до региона
Screen
Screen locked Екранът е заключен
Screen timeout (s, 0 = never) Изключване на екрана (с, 0 = никога)
Screen timeout (s, 0 = never, min 10) Изключване на екрана (с, 0 = никога, мин 10)
@@ -702,6 +738,8 @@ Screenshot needs an SD card Екранната снимка изисква SD к
Screenshot: low memory Екранна снимка: малко памет
Screenshot: no SD card Екранна снимка: няма SD карта
Screenshot: write failed Екранна снимка: записът е неуспешен
Scroll down
Scroll up
Scrollball: normal Скролбол: нормален
Scrollball: reversed Скролбол: обърнат
Search Търсене
@@ -710,6 +748,7 @@ 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
Select a DM thread Изберете ЛС разговор
Select all Избери всичко
Select network Избери мрежа
@@ -718,6 +757,7 @@ Send advert now Изпрати advert
Send an advert now, or set how often you re-advertise. Изпратете advert сега или задайте колко често го повтаряте.
Send failed Изпращането неуспешно
Sender blocked Подателят е блокиран
Sensors
Sensors tab: off (restart to apply) Раздел сензори: изключен (рестарт за прилагане)
Sensors tab: on (restart to apply) Раздел сензори: включен (рестарт за прилагане)
Sent Изпратено
@@ -749,6 +789,7 @@ Sleep ready Готов за заспиване
Slot %d cleared Слот %d изчистен
Slot empty Слотът е празен
Small\nMedium\nLarge Малък\nСреден\nГолям
Snake
Snake — swipe or roll the trackball Snake — плъзни или завърти трекбола
Sort Сортирай
Sound Звук
@@ -843,6 +884,7 @@ 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)
Up
Update Обнови
Update bin saved to SD Файлът за обновяване е записан на SD
Update complete.\nRebooting... Обновяването завърши.\nРестартиране...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ Wi-Fi not connected Wi-Fi не е свързан
Wi-Fi off Wi-Fi изкл
Wi-Fi on Wi-Fi вкл
Wi-Fi on, scanning… Wi-Fi вкл, сканиране…
Wi-Fi paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi запазен (радио изкл)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi запазен, повторно свързване
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
Yesterday Вчера
You can run setup later in Settings → Device Можете да стартирате настройката по-късно в Настройки → Устройство
Your location is unknown.\nSet GPS / position in\nSettings → Profile first. Местоположението е неизвестно.\nПърво задайте GPS / позиция в\nНастройки → Профил.
@@ -894,6 +941,7 @@ hold the d-pad to unlock задръж d-pad за отключване
hold the trackball to unlock задръжте топчето за отключване
kHz kHz
keep holding задръжте
last wake:
last wake: последно събуждане:
leave empty to generate оставете празно за генериране
lights the keyboard + wakes the screen on an incoming message осветява клавиатурата + събужда екрана при входящо съобщение
+49 -1
View File
@@ -1,7 +1,7 @@
# wadamesh language file
# canonical source - translators: edit this file and PR it
# code: de
# ver: 8
# ver: 9
# name: Deutsch
# base: de
(device behind) (Gerät geht nach)
@@ -69,6 +69,7 @@ Auto repeater Auto-Repeater
Auto room Auto-Raum
Auto sensor Auto-Sensor
Auto-Join Auto-Beitritt
Auto-add Auto hinzufügen
Auto-add contacts Kontakte automatisch hinzufügen
Auto-add saved Auto-Hinzufügen gespeichert
Auto-add settings Auto-Hinzufügen-Einstellungen
@@ -106,9 +107,12 @@ 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 deferred; retry from Settings Bluetooth zurückgestellt; erneut über Einstellungen versuchen
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.
Bluetooth unavailable; retry from Settings Bluetooth nicht verfügbar; erneut über Einstellungen versuchen
Bluetooth will start after Wi-Fi connects or times out. Bluetooth startet nach WLAN-Verbindung oder Timeout.
Broker host / IP Broker-Host / IP
Buffered receive (experimental) Gepufferter Empfang (experimentell)
Built-in Integriert
@@ -153,6 +157,7 @@ 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 & time Uhrzeit & Datum
Clock synced Uhr synchronisiert
Clock: 12-hour Uhr: 12-Stunden
Clock: 24-hour Uhr: 24-Stunden
@@ -161,6 +166,7 @@ Colourful chat bubbles Bunte Chat-Blasen
Commands Befehle
Community Preset Community-Voreinstellung
Community preset (meshcomod web) Community-Vorgabe (meshcomod web)
Compact Kompakt
Compact messages Kompakte Nachrichten
Compact messages (IRC style) Kompakte Nachrichten (IRC-Stil)
Connect Verbinden
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile Kopieren blockiert: Die SD-Karte enthält ein anderes oder nicht lesbares Profil
Copy blocked: SD profile could not be prepared safely Kopieren blockiert: SD-Profil konnte nicht sicher vorbereitet werden
Copy blocked: internal data is busy Kopieren blockiert: Interne Daten sind beschäftigt
Copy blocked: migration guard unavailable Kopieren blockiert: Migrationsschutz nicht verfügbar
Copy failed (no internal identity) Kopieren fehlgeschlagen (keine interne Identität)
Copy incomplete: SD data may be mixed. Retry before reboot. Kopieren unvollständig: SD-Daten können gemischt sein. Vor Neustart erneut versuchen.
Copy internal data to SD Interne Daten auf SD kopieren
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot? Nur fehlende interne Dateien auf ein passendes SD-Profil kopieren,\nbestehende SD-Daten behalten und dann neu starten?
Copy secret Geheimnis kopieren
Copying internal data to SD... Interne Daten werden auf SD kopiert...
Copying internal data to SD...\nThis may take a few minutes; keep powered. Interne Daten werden auf die SD-Karte kopiert...\nDies kann einige Minuten dauern; Gerät eingeschaltet lassen.
Could not add Hinzufügen fehlgeschlagen
Could not save the crash report Absturzbericht konnte nicht gespeichert werden
Couldn't delete Löschen fehlgeschlagen
@@ -206,6 +219,7 @@ Create QR QR erstellen
Create a private channel Privaten Kanal erstellen
Create failed Erstellen fehlgeschlagen
Create private channel Privaten Kanal erstellen
Current tile transfer is busy - retry Aktuelle Kachelübertragung läuft – erneut versuchen
Custom UTC offset (hours) Eigener UTC-Versatz (Stunden)
Cut Ausschneiden
Cut - Paste in a folder Ausgeschnitten - in einen Ordner einfügen
@@ -245,6 +259,7 @@ 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
Down Nach unten
Download failed Download fehlgeschlagen
Download failed (network?) Download fehlgeschlagen (Netzwerk?)
Download mode Download-Modus
@@ -287,6 +302,9 @@ Export settings Einstellungen exportieren
Exporting settings… Einstellungen werden exportiert…
External antenna selected Externe Antenne gewählt
Factory reset Werksreset
Factory reset blocked: SD activity is still running; close tools and retry. Zurücksetzen blockiert: SD-Aktivität läuft noch; Tools schließen und erneut versuchen.
Factory reset blocked: storage is busy Zurücksetzen blockiert: Speicher ist belegt
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data. Zurücksetzen unvollständig: SD-Daten wurden möglicherweise teilweise gelöscht. Erneut versuchen oder Karte vor dem Zurücksetzen der internen Daten entfernen.
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)
@@ -322,6 +340,7 @@ 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)
General Allgemein
Get Laden
Get Started Loslegen
Get test builds (beta) Test-Builds erhalten (Beta)
@@ -336,6 +355,7 @@ 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
Home Startseite
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
@@ -386,6 +406,7 @@ Keyboard light on Tastaturlicht ein
Keyboard nav: WASDZ on Tastaturnav.: WASDZ an
Keyboard nav: off Tastaturnav.: aus
Keyboard navigation Tastaturnavigation
Keys Tasten
LOS → %s Sichtlinie → %s
Landscape (desktop) Querformat (Desktop)
Landscape set - applies when remote mode starts. Querformat gesetzt - gilt beim Start des Fernmodus.
@@ -393,9 +414,11 @@ 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
Large (bigger icons) Groß (größere Symbole)
Latitude Breitengrad
Leave empty if not required Leer lassen, wenn nicht nötig
Leaving remote mode - rebooting... Fernmodus wird beendet - Neustart...
Left Links
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)
@@ -455,6 +478,7 @@ Message deleted Nachricht gelöscht
Message didn't get through.\nResend it? Nachricht kam nicht an.\nErneut senden?
Message info Nachrichteninfo
Message sound Nachrichtenton
Messages Nachrichten
Min zoom for this pack Min. Zoom für dieses Paket
Mode: BLE starting / low memory Modus: BLE startet / wenig Speicher
Model: Modell:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Zurücksetzen
Reset path Pfad zurücksetzen
Restarting to apply the language… Neustart, um die Sprache anzuwenden…
Restarting to enable Bluetooth Neustart zum Aktivieren von Bluetooth
Resume Fortsetzen
Resuming missing files to SD...\nThis may take a few minutes; keep powered. Fehlende Dateien werden auf die SD-Karte kopiert...\nDies kann einige Minuten dauern; Gerät eingeschaltet lassen.
Retry sends until heard Erneut senden, bis gehört
Reverse scrollball Scrollball umkehren
Right Rechts
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted. SD-Daten nicht verfügbar – Kontakte und Kanäle können erst nach Einsetzen der Karte gespeichert werden.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted. SD-Daten nicht verfügbar – Identität, Einstellungen, Kontakte und Kanäle können erst nach Einsetzen der Karte gespeichert werden.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry. SD-Datenübertragung unvollständig. Identität und Einstellungen bleiben intern; „Interne Daten auf SD kopieren“ zum erneuten Versuch verwenden.
SD download failed: %s SD-Download fehlgeschlagen: %s
SD formatted - %s (MESHCOMOD) SD formatiert - %s (MESHCOMOD)
SD is busy - close tools and retry SD ist belegt – Tools schließen und erneut versuchen
SD removed - card-backed data cannot be saved SD entfernt – Kartendaten können nicht gespeichert werden
SD stayed busy - format cancelled, retry SD blieb belegt – Formatierung abgebrochen, erneut versuchen
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB belegt
@@ -684,6 +718,7 @@ Saved backups Gespeicherte Backups
Saved network Gespeichertes Netzwerk
Saved profiles Gespeicherte Profile
Saved to slot %d In Slot %d gespeichert
Saved — applying… Gespeichert – wird angewendet …
Saved — rebooting Gespeichert — Neustart
Saved — reconnecting… Gespeichert — verbinde neu…
Saved: %s\nFlash it from the Launcher. Gespeichert: %s\nFlashe es über den Launcher.
@@ -692,6 +727,7 @@ 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 Bildschirm
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)
@@ -702,6 +738,8 @@ 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
Scroll down Nach unten scrollen
Scroll up Nach oben scrollen
Scrollball: normal Scrollball: normal
Scrollball: reversed Scrollball: umgekehrt
Search Suchen
@@ -710,6 +748,7 @@ 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 Auswählen
Select a DM thread DN-Unterhaltung wählen
Select all Alles auswählen
Select network Netzwerk wählen
@@ -718,6 +757,7 @@ 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 Sensoren
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
@@ -749,6 +789,7 @@ Sleep ready Bereit zum Schlafen
Slot %d cleared Slot %d gelöscht
Slot empty Slot leer
Small\nMedium\nLarge Klein\nMittel\nGroß
Snake Snake
Snake — swipe or roll the trackball Snake — wischen oder Trackball rollen
Sort Sortieren
Sound Ton
@@ -843,6 +884,7 @@ 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)
Up Nach oben
Update Update
Update bin saved to SD Update-Bin auf SD gespeichert
Update complete.\nRebooting... Update fertig.\nNeustart...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings Wi-Fi und Bluetooth nicht verfügbar; in den Einstellungen erneut versuchen
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out Wi-Fi pausiert; Bluetooth-Trennung hat das Zeitlimit überschritten
Wi-Fi saved (radio off) WLAN gespeichert (Funk aus)
Wi-Fi saved, applying Wi-Fi gespeichert, wird angewendet
Wi-Fi saved, reconnecting WLAN gespeichert, verbinde neu
Wi-Fi unavailable; Bluetooth restored Wi-Fi nicht verfügbar; Bluetooth wiederhergestellt
Wi-Fi unavailable; retry from Settings Wi-Fi nicht verfügbar; in den Einstellungen erneut versuchen
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.
@@ -894,6 +941,7 @@ 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 Aufwachen:
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
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Αυτόματος αναμεταδότης
Auto room Αυτόματο δωμάτιο
Auto sensor Αυτόματος αισθητήρας
Auto-Join Αυτόματη συμμετοχή
Auto-add
Auto-add contacts Αυτόματη προσθήκη επαφών
Auto-add saved Η αυτόματη προσθήκη αποθηκεύτηκε
Auto-add settings Ρυθμίσεις αυτόματης προσθήκης
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Μπλε μπαταρία Πορτοκ
Bluetooth Bluetooth
Bluetooth already off Το Bluetooth είναι ήδη ανενεργό
Bluetooth already on Το Bluetooth είναι ήδη ενεργό
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Host / IP του broker
Buffered receive (experimental) Λήψη με buffer (πειραματικό)
Built-in Ενσωματωμένο
@@ -153,6 +157,7 @@ Clear battery history? Διαγραφή ιστορικού μπαταρίας;
Clear history Εκκαθάριση ιστορικού
Clear telemetry history for this node? Διαγραφή ιστορικού τηλεμετρίας του κόμβου;
Client repeat Επανάληψη πελάτη
Clock & time
Clock synced Το ρολόι συγχρονίστηκε
Clock: 12-hour Ρολόι: 12ωρο
Clock: 24-hour Ρολόι: 24ωρο
@@ -161,6 +166,7 @@ Colourful chat bubbles Χρωματιστές φούσκες
Commands Εντολές
Community Preset Προεπιλογή κοινότητας
Community preset (meshcomod web) Προεπιλογή κοινότητας (meshcomod web)
Compact
Compact messages Συμπαγή μηνύματα
Compact messages (IRC style) Συμπαγή μηνύματα (στυλ IRC)
Connect Σύνδεση
@@ -189,10 +195,17 @@ Control this device from a browser Ελέγξτε τη συσκευή από π
Copied %s Αντιγράφηκε %s
Copied - Paste in a folder Αντιγράφηκε - επικολλήστε σε φάκελο
Copy Αντιγραφή
Copy blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Αποτυχία αντιγραφής (χωρίς εσωτερική ταυτότητα)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Αντιγραφή δεδομένων στην SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Αντιγραφή μυστικού
Copying internal data to SD... Αντιγραφή εσωτερικών δεδομένων στην SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Αδύνατη η προσθήκη
Could not save the crash report Η αναφορά σφάλματος δεν αποθηκεύτηκε
Couldn't delete Αδυναμία διαγραφής
@@ -206,6 +219,7 @@ Create QR Δημιουργία QR
Create a private channel Δημιουργία ιδιωτικού καναλιού
Create failed Αποτυχία δημιουργίας
Create private channel Δημιουργία ιδιωτικού καναλιού
Current tile transfer is busy - retry
Custom UTC offset (hours) Προσαρμοσμένη μετατόπιση UTC (ώρες)
Cut Αποκοπή
Cut - Paste in a folder Αποκόπηκε - επικολλήστε σε φάκελο
@@ -245,6 +259,7 @@ Distance: miles Απόσταση: μίλια
Do Not Disturb Μην ενοχλείτε
Do Not Disturb off Μην ενοχλείτε: ανενεργό
Do Not Disturb on Μην ενοχλείτε: ενεργό
Down
Download failed Η λήψη απέτυχε
Download failed (network?) Η λήψη απέτυχε (δίκτυο;)
Download mode Λειτουργία λήψης
@@ -287,6 +302,9 @@ Export settings Εξαγωγή ρυθμίσεων
Exporting settings… Εξαγωγή ρυθμίσεων…
External antenna selected Επιλέχθηκε εξωτερική κεραία
Factory reset Επαναφορά εργοστ.
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ GPS: fix GPS: στίγμα
GPS: off GPS: ανενεργό
GPS: searching GPS: αναζήτηση
Game over — score %d (tap to restart) Τέλος παιχνιδιού — σκορ %d (πατήστε για επανεκκίνηση)
General
Get Λήψη
Get Started Ξεκινήστε
Get test builds (beta) Λήψη δοκιμαστικών εκδόσεων (beta)
@@ -336,6 +355,7 @@ 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 Όριο ιστορικού ανενεργό
Home
Hotkey saved Το πλήκτρο αποθηκεύτηκε
How you'll appear to other nodes. You can change this later in Settings. Πώς θα εμφανίζεστε σε άλλους κόμβους. Αλλαγή στις Ρυθμίσεις.
Humidity Υγρασία
@@ -386,6 +406,7 @@ Keyboard light on Φωτισμός πληκτρολογίου ενεργός
Keyboard nav: WASDZ on Πλοήγηση πληκτρ.: WASDZ ενεργό
Keyboard nav: off Πλοήγηση πληκτρ.: κλειστό
Keyboard navigation Πλοήγηση με πληκτρολόγιο
Keys
LOS → %s Οπτική επαφή → %s
Landscape (desktop) Οριζόντια (desktop)
Landscape set - applies when remote mode starts. Ορίστηκε οριζόντια - ισχύει όταν ξεκινήσει η απομακρυσμένη λειτουργία.
@@ -393,9 +414,11 @@ Language Γλώσσα
Language catalog unavailable - check Wi-Fi, then reopen this tab. Ο κατάλογος γλωσσών δεν είναι διαθέσιμος - ελέγξτε το Wi-Fi και ξανανοίξτε την καρτέλα.
Language updated - restarting to apply it… Η γλώσσα ενημερώθηκε - επανεκκίνηση για εφαρμογή…
Languages Γλώσσες
Large (bigger icons)
Latitude Γεωγραφικό πλάτος
Leave empty if not required Αφήστε κενό αν δεν απαιτείται
Leaving remote mode - rebooting... Έξοδος από απομακρυσμένη λειτουργία - επανεκκίνηση...
Left
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)
@@ -455,6 +478,7 @@ Message deleted Το μήνυμα διαγράφηκε
Message didn't get through.\nResend it? Το μήνυμα δεν έφτασε.\nΝα σταλεί ξανά;
Message info Πληροφορίες μηνύματος
Message sound Ήχος μηνυμάτων
Messages
Min zoom for this pack Ελάχ. ζουμ για αυτό το πακέτο
Mode: BLE starting / low memory Λειτουργία: BLE εκκινεί / λίγη μνήμη
Model: Μοντέλο:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Επαναφορά
Reset path Επαναφορά διαδρομής
Restarting to apply the language… Επανεκκίνηση για εφαρμογή της γλώσσας…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Επανάληψη αποστολής μέχρι να ακουστεί
Reverse scrollball Αντιστροφή scrollball
Right
Roll to highlight • click to insert Κυλήστε για επισήμανση • κλικ για εισαγωγή
Room is read-only for you.\nJoin with the room password to post. Το δωμάτιο είναι μόνο για ανάγνωση για εσάς.\nΣυνδεθείτε με τον κωδικό του δωματίου για δημοσίευση.
Rotating - reconnecting... Περιστροφή - επανασύνδεση...
@@ -659,8 +687,14 @@ SD card inserted Η κάρτα SD εισήχθη
SD card lost - reinsert to recover Η κάρτα SD χάθηκε - επανατοποθετήστε
SD card remounted Η κάρτα SD επανασυνδέθηκε
SD card removed Η κάρτα SD αφαιρέθηκε
SD data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Η λήψη στην SD απέτυχε: %s
SD formatted - %s (MESHCOMOD) SD διαμορφώθηκε - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB σε χρήση
@@ -684,6 +718,7 @@ Saved backups Αποθηκευμένα αντίγραφα
Saved network Αποθηκευμένο δίκτυο
Saved profiles Αποθηκευμένα προφίλ
Saved to slot %d Αποθηκεύτηκε στη θέση %d
Saved — applying…
Saved — rebooting Αποθηκεύτηκε — επανεκκίνηση
Saved — reconnecting… Αποθηκεύτηκε — επανασύνδεση…
Saved: %s\nFlash it from the Launcher. Αποθηκεύτηκε: %s\nΕγκαταστήστε το από τον Launcher.
@@ -692,6 +727,7 @@ Saving to SD… 0% Αποθήκευση στην SD… 0%
Scan to open on phone Σαρώστε για άνοιγμα στο κινητό
Scanning… Σάρωση…
Scope direct msgs to region Περιορισμός άμεσων μηνυμάτων στην περιοχή
Screen
Screen locked Η οθόνη κλειδώθηκε
Screen timeout (s, 0 = never) Λήξη οθόνης (s, 0 = ποτέ)
Screen timeout (s, 0 = never, min 10) Λήξη οθόνης (δ, 0 = ποτέ, ελάχ 10)
@@ -702,6 +738,8 @@ Screenshot needs an SD card Το στιγμιότυπο χρειάζεται κ
Screenshot: low memory Στιγμιότυπο: λίγη μνήμη
Screenshot: no SD card Στιγμιότυπο: καμία κάρτα SD
Screenshot: write failed Στιγμιότυπο: αποτυχία εγγραφής
Scroll down
Scroll up
Scrollball: normal Scrollball: κανονικό
Scrollball: reversed Scrollball: αντεστραμμένο
Search Αναζήτηση
@@ -710,6 +748,7 @@ 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
Select a DM thread Επιλέξτε νήμα ΠΜ
Select all Επιλογή όλων
Select network Επιλογή δικτύου
@@ -718,6 +757,7 @@ Send advert now Αποστολή advert
Send an advert now, or set how often you re-advertise. Στείλτε ένα advert τώρα ή ορίστε πόσο συχνά επαναλαμβάνετε.
Send failed Αποτυχία αποστολής
Sender blocked Ο αποστολέας αποκλείστηκε
Sensors
Sensors tab: off (restart to apply) Καρτέλα αισθητήρων: κλειστή (επανεκκίνηση για εφαρμογή)
Sensors tab: on (restart to apply) Καρτέλα αισθητήρων: ανοιχτή (επανεκκίνηση για εφαρμογή)
Sent Στάλθηκε
@@ -749,6 +789,7 @@ Sleep ready Έτοιμο για ύπνο
Slot %d cleared Η θέση %d εκκαθαρίστηκε
Slot empty Κενή θέση
Small\nMedium\nLarge Μικρό\nΜεσαίο\nΜεγάλο
Snake
Snake — swipe or roll the trackball Snake — σύρετε ή κυλήστε το trackball
Sort Ταξινόμηση
Sound Ήχος
@@ -843,6 +884,7 @@ 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)
Up
Update Ενημέρωση
Update bin saved to SD Το αρχείο ενημέρωσης αποθηκεύτηκε στη SD
Update complete.\nRebooting... Η ενημέρωση ολοκληρώθηκε.\nΕπανεκκίνηση...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ Wi-Fi not connected Το Wi-Fi δεν συνδέθηκε
Wi-Fi off Wi-Fi όχι
Wi-Fi on Wi-Fi ναι
Wi-Fi on, scanning… Wi-Fi ενεργό, σάρωση…
Wi-Fi paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Το Wi-Fi αποθηκεύτηκε (ράδιο off)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Το Wi-Fi αποθηκεύτηκε, επανασύνδεση
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
Yesterday Χθες
You can run setup later in Settings → Device Μπορείτε να εκτελέσετε τη ρύθμιση αργότερα στις Ρυθμίσεις → Συσκευή
Your location is unknown.\nSet GPS / position in\nSettings → Profile first. Η τοποθεσία σας είναι άγνωστη.\nΟρίστε GPS / θέση στις\nΡυθμίσεις → Προφίλ πρώτα.
@@ -894,6 +941,7 @@ hold the d-pad to unlock κρατήστε το d-pad για ξεκλείδωμα
hold the trackball to unlock κρατήστε το trackball για ξεκλείδωμα
kHz kHz
keep holding κρατήστε πατημένο
last wake:
last wake: τελευταία αφύπνιση:
leave empty to generate κενό για δημιουργία
lights the keyboard + wakes the screen on an incoming message φωτίζει το πληκτρολόγιο + ξυπνά την οθόνη σε εισερχόμενο μήνυμα
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Repetidor auto
Auto room Sala auto
Auto sensor Sensor auto
Auto-Join Auto-unirse
Auto-add
Auto-add contacts Auto-añadir contactos
Auto-add saved Auto-añadir guardado
Auto-add settings Ajustes de añadido automático
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Azul batería Naranja temp. Cian hume
Bluetooth Bluetooth
Bluetooth already off Bluetooth ya apagado
Bluetooth already on Bluetooth ya activado
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Host / IP del broker
Buffered receive (experimental) Recepción con búfer (experimental)
Built-in Integrado
@@ -153,6 +157,7 @@ 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 & time
Clock synced Reloj sincronizado
Clock: 12-hour Reloj: 12 horas
Clock: 24-hour Reloj: 24 horas
@@ -161,6 +166,7 @@ Colourful chat bubbles Burbujas de chat coloridas
Commands Comandos
Community Preset Preajuste comunitario
Community preset (meshcomod web) Preajuste comunidad (meshcomod web)
Compact
Compact messages Mensajes compactos
Compact messages (IRC style) Mensajes compactos (estilo IRC)
Connect Conectar
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Error al copiar (sin identidad interna)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Copiar datos internos a SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Copiar secreto
Copying internal data to SD... Copiando datos internos a la SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
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
@@ -206,6 +219,7 @@ Create QR Crear QR
Create a private channel Crear un canal privado
Create failed Error al crear
Create private channel Crear canal privado
Current tile transfer is busy - retry
Custom UTC offset (hours) Desfase UTC personalizado (horas)
Cut Cortar
Cut - Paste in a folder Cortado - pega en una carpeta
@@ -245,6 +259,7 @@ Distance: miles Distancia: millas
Do Not Disturb No molestar
Do Not Disturb off No molestar desactivado
Do Not Disturb on No molestar activado
Down
Download failed Falló la descarga
Download failed (network?) Falló la descarga (¿red?)
Download mode Modo descarga
@@ -287,6 +302,9 @@ Export settings Exportar ajustes
Exporting settings… Exportando ajustes…
External antenna selected Antena externa seleccionada
Factory reset Rest. de fábrica
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ 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)
General
Get Obtener
Get Started Empezar
Get test builds (beta) Recibir versiones de prueba (beta)
@@ -336,6 +355,7 @@ 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
Home
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
@@ -386,6 +406,7 @@ 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
Keys
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.
@@ -393,9 +414,11 @@ 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
Large (bigger icons)
Latitude Latitud
Leave empty if not required Dejar vacío si no es necesario
Leaving remote mode - rebooting... Saliendo del modo remoto - reiniciando...
Left
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)
@@ -455,6 +478,7 @@ 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
Messages
Min zoom for this pack Zoom mín para este paquete
Mode: BLE starting / low memory Modo: BLE iniciando / poca memoria
Model: Modelo:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Restablecer
Reset path Restablecer ruta
Restarting to apply the language… Reiniciando para aplicar el idioma…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Reenviar hasta ser oído
Reverse scrollball Invertir la bola de desplazamiento
Right
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Fallo al descargar en SD: %s
SD formatted - %s (MESHCOMOD) SD formateada - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB usados
@@ -684,6 +718,7 @@ Saved backups Copias guardadas
Saved network Red guardada
Saved profiles Perfiles guardados
Saved to slot %d Guardado en ranura %d
Saved — applying…
Saved — rebooting Guardado — reiniciando
Saved — reconnecting… Guardado — reconectando…
Saved: %s\nFlash it from the Launcher. Guardado: %s\nFlashéalo desde el Launcher.
@@ -692,6 +727,7 @@ 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
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)
@@ -702,6 +738,8 @@ 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
Scroll down
Scroll up
Scrollball: normal Bola de desplazamiento: normal
Scrollball: reversed Bola de desplazamiento: invertida
Search Buscar
@@ -710,6 +748,7 @@ 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
Select a DM thread Selecciona un hilo de MD
Select all Seleccionar todo
Select network Seleccionar red
@@ -718,6 +757,7 @@ 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
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
@@ -749,6 +789,7 @@ Sleep ready Listo para dormir
Slot %d cleared Ranura %d borrada
Slot empty Ranura vacía
Small\nMedium\nLarge Pequeño\nMediano\nGrande
Snake
Snake — swipe or roll the trackball Snake — desliza o gira el trackball
Sort Ordenar
Sound Sonido
@@ -843,6 +884,7 @@ 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)
Up
Update Actualizar
Update bin saved to SD Bin de actualización guardado en SD
Update complete.\nRebooting... Actualización completa.\nReiniciando...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi guardado (radio off)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi guardado, reconectando
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
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.
@@ -894,6 +941,7 @@ 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:
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
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Répéteur auto
Auto room Salon auto
Auto sensor Capteur auto
Auto-Join Rejoindre auto
Auto-add
Auto-add contacts Ajout auto de contacts
Auto-add saved Ajout auto enregistré
Auto-add settings Réglages d'ajout auto
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Bleu batterie Orange temp. Cyan humid
Bluetooth Bluetooth
Bluetooth already off Bluetooth déjà désactivé
Bluetooth already on Bluetooth déjà activé
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Hôte / IP du broker
Buffered receive (experimental) Réception tamponnée (expérimental)
Built-in Intégré
@@ -153,6 +157,7 @@ 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 & time
Clock synced Horloge synchronisée
Clock: 12-hour Horloge : 12 h
Clock: 24-hour Horloge : 24 h
@@ -161,6 +166,7 @@ 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
Compact messages Messages compacts
Compact messages (IRC style) Messages compacts (style IRC)
Connect Connecter
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Échec de la copie (aucune identité interne)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Copier les données internes sur SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Copier le secret
Copying internal data to SD... Copie des données internes vers la SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Ajout impossible
Could not save the crash report Impossible d'enregistrer le rapport de plantage
Couldn't delete Suppression impossible
@@ -206,6 +219,7 @@ 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é
Current tile transfer is busy - retry
Custom UTC offset (hours) Décalage UTC personnalisé (heures)
Cut Couper
Cut - Paste in a folder Coupé - collez dans un dossier
@@ -245,6 +259,7 @@ 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é
Down
Download failed Échec du téléchargement
Download failed (network?) Échec du téléchargement (réseau ?)
Download mode Mode téléchargement
@@ -287,6 +302,9 @@ 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 blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ 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)
General
Get Obtenir
Get Started Commencer
Get test builds (beta) Recevoir les versions test (bêta)
@@ -336,6 +355,7 @@ 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
Home
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é
@@ -386,6 +406,7 @@ 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
Keys
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.
@@ -393,9 +414,11 @@ 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
Large (bigger icons)
Latitude Latitude
Leave empty if not required Laisser vide si non requis
Leaving remote mode - rebooting... Sortie du mode distant - redémarrage...
Left
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)
@@ -455,6 +478,7 @@ 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
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 :
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Réinitialiser
Reset path Réinitialiser le chemin
Restarting to apply the language… Redémarrage pour appliquer la langue…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Renvoyer jusqu'à réception
Reverse scrollball Inverser la boule de défilement
Right
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Échec du téléchargement SD : %s
SD formatted - %s (MESHCOMOD) SD formatée - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u Ko utilisés
@@ -684,6 +718,7 @@ 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 — applying…
Saved — rebooting Enregistré — redémarrage
Saved — reconnecting… Enregistré — reconnexion…
Saved: %s\nFlash it from the Launcher. Enregistré : %s\nFlashez-le depuis le Launcher.
@@ -692,6 +727,7 @@ 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
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)
@@ -702,6 +738,8 @@ 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
Scroll down
Scroll up
Scrollball: normal Boule de défilement : normale
Scrollball: reversed Boule de défilement : inversée
Search Rechercher
@@ -710,6 +748,7 @@ 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
Select a DM thread Choisir une conversation MP
Select all Tout sélectionner
Select network Choisir le réseau
@@ -718,6 +757,7 @@ 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
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é
@@ -749,6 +789,7 @@ Sleep ready Prêt pour veille
Slot %d cleared Emplacement %d effacé
Slot empty Emplacement vide
Small\nMedium\nLarge Petit\nMoyen\nGrand
Snake
Snake — swipe or roll the trackball Snake — glissez ou roulez le trackball
Sort Trier
Sound Son
@@ -843,6 +884,7 @@ 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)
Up
Update Mettre à jour
Update bin saved to SD Fichier de mise à jour enregistré sur SD
Update complete.\nRebooting... Mise à jour terminée.\nRedémarrage...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi enregistré (radio off)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi enregistré, reconnexion
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
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.
@@ -894,6 +941,7 @@ 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:
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
+48 -1
View File
@@ -1,7 +1,7 @@
# wadamesh language file
# canonical source - translators: edit this file and PR it
# code: hu
# ver: 9
# ver: 10
# name: Magyar
# base: hu
(device behind) (készülék hátulján)
@@ -107,9 +107,12 @@ Blue battery Orange temp Cyan humidity Kék akkumulátor Narancssárga hőmé
Bluetooth Bluetooth
Bluetooth already off Bluetooth már ki van kapcsolva
Bluetooth already on Bluetooth már be van kapcsolva
Bluetooth deferred; retry from Settings Bluetooth késleltetve; próbálja újra a Beállításokból
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.
Bluetooth unavailable; retry from Settings Bluetooth nem elérhető; próbálja újra a Beállításokból
Bluetooth will start after Wi-Fi connects or times out. A Bluetooth a Wi-Fi csatlakozása vagy időtúllépés után elindul.
Broker host / IP Broker host / IP
Buffered receive (experimental) Pufferelt fogadás (kísérleti)
Built-in Beépített
@@ -156,6 +159,7 @@ 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 & time Idő és dátum
Clock synced Óra szinkronizálva
Clock: 12-hour Óra: 12 órás
Clock: 24-hour Óra: 24 órás
@@ -164,6 +168,7 @@ 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 Kompakt
Compact messages Kompakt üzenetek
Compact messages (IRC style) Kompakt üzenetek (IRC stílus)
Connect Csatlakozás
@@ -192,10 +197,17 @@ 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 blocked: SD card holds a different or unreadable profile Másik vagy nem olvasható profil van az SD-kártyán, ezért a másolás letiltva.
Copy blocked: SD profile could not be prepared safely Biztonsági előkészítés sikertelen, ezért a másolás letiltva.
Copy blocked: internal data is busy Másolás letiltva: a belső adatok használatban vannak.
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Másolás sikertelen (nincs belső identitás)
Copy incomplete: SD data may be mixed. Retry before reboot. Másolás nem teljes: az SD-kártyán lévő adatok keveredhetnek. Indítsd újra a másolást a készülék újraindítása előtt.
Copy internal data to SD Belső adatok másolása SD-re
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot? Csak a hiányzó belső fájlokat másolja egy megfelelő SD-profilba,\ntartsa meg a meglévő SD-adatokat, majd indítsa újra?
Copy secret Secret másolása
Copying internal data to SD... Belső adatok másolása SD-kártyára...
Copying internal data to SD...\nThis may take a few minutes; keep powered. Belső adatok másolása az SD-kártyára…\nEz eltarthat néhány percig; tartsd bekapcsolva a készüléket.
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
@@ -209,6 +221,7 @@ 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
Current tile transfer is busy - retry Az aktuális csempeátvitel folyamatban van – próbáld újra később.
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
@@ -250,6 +263,7 @@ Direct (DM) sound Közvetlen (DM) hang
Do Not Disturb Ne zavarj
Do Not Disturb off Ne zavarj kikapcsolva
Do Not Disturb on Ne zavarj bekapcsolva
Down Le
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
@@ -293,6 +307,9 @@ Export crash report Hibajelentés 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 blocked: SD activity is still running; close tools and retry. Gyári visszaállítás letiltva: az SD-kártya művelete még folyamatban van. Zárd be az eszközöket, majd próbáld újra.
Factory reset blocked: storage is busy Gyári visszaállítás letiltva: a tárhely használatban van.
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data. Gyári visszaállítás nem teljes: az SD-kártya adatai részben már törlődhettek. Próbáld újra a befejezéshez, vagy távolítsd el a kártyát a belső adatok visszaállítása előtt.
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)
@@ -328,6 +345,7 @@ 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)
General Általános
Get Letölt
Get Started Kezdés
Get test builds (beta) Tesztverziók beszerzése (béta)
@@ -342,6 +360,7 @@ 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
Home Kezdőlap
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
@@ -392,6 +411,7 @@ 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ó
Keys Kulcsok
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.
@@ -399,9 +419,11 @@ 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
Large (bigger icons) Nagy (nagyobb ikonok)
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...
Left Balra
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)
@@ -462,6 +484,7 @@ 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
Messages Üzenetek
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
@@ -655,8 +678,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
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…
Restarting to enable Bluetooth Újraindítás a Bluetooth engedélyezéséhez
Resume Folytatás
Resuming missing files to SD...\nThis may take a few minutes; keep powered. Hiányzó fájlok folytatása az SD-kártyára…\nEz eltarthat néhány percig; tartsd bekapcsolva a készüléket.
Retry sends until heard Újraküldés, míg meg nem hallják
Reverse scrollball Fordított görgetőgolyó
Right Jobbra
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...
@@ -669,8 +696,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted. Az SD-kártya adatai nem érhetők el – a névjegyek és a csatornák nem menthetők a kártya újbóli behelyezéséig.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted. Az SD-kártya adatai nem érhetők el – az azonosító, a beállítások, a névjegyek és a csatornák nem menthetők a kártya újbóli behelyezéséig.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry. Az SD-kártya adatainak áthelyezése nem teljes. Az azonosító és a beállítások továbbra is a belső tárhelyen vannak; a folytatáshoz használd a „Belső adatok másolása SD-kártyára” lehetőséget.
SD download failed: %s SD-letöltés sikertelen: %s
SD formatted - %s (MESHCOMOD) SD formázás - %s (MESHCOMOD)
SD is busy - close tools and retry Az SD-kártya foglalt – zárd be az eszközöket, majd próbáld újra.
SD removed - card-backed data cannot be saved SD-kártya eltávolítva – az SD-kártyán tárolt adatok nem menthetők.
SD stayed busy - format cancelled, retry Az SD-kártya továbbra is foglalt – a formázás megszakítva, próbáld újra.
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB felhasználva
@@ -696,6 +729,7 @@ Saved network Mentett hálózat
Saved networks Mentett hálózatok
Saved profiles Profil mentve
Saved to slot %d Mentve a(z) %d helyre
Saved — applying… Mentve — alkalmazás folyamatban…
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.
@@ -706,6 +740,7 @@ Scan Keres
Scan again Újrakeresés
Scanning… Keresés…
Scope direct msgs to region Közvetlen üzenet a régiónak
Screen Kijelző
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)
@@ -716,6 +751,8 @@ 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
Scroll down Görgetés le
Scroll up Görgetés fel
Scrollball: normal Scrollball: normális
Scrollball: reversed Scrollbar: megfordítva
Search Keresés
@@ -724,6 +761,7 @@ 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 Kiválasztás
Select a DM thread Válassz egy DM-szálat
Select all Összes kijelölése
Select network Hálózat kiválasztása
@@ -732,6 +770,7 @@ Send advert now Advert küldés 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 Szenzorok
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
@@ -765,6 +804,7 @@ 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 Snake
Snake — swipe or roll the trackball Kígyó – pöccintsd vagy görgesd a görgetőgolyót
Sort Sort
Sound Hang
@@ -863,6 +903,7 @@ 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)
Up Fel
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...
@@ -883,6 +924,7 @@ 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 and Bluetooth unavailable; retry from Settings A Wi-Fi és a Bluetooth nem érhető el; próbáld újra a Beállításokban.
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.
@@ -890,8 +932,12 @@ 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 paused; Bluetooth disconnect timed out Wi-Fi szüneteltetve; a Bluetooth bontása időtúllépés miatt meghiúsult.
Wi-Fi saved (radio off) Wi-Fi mentve (rádió kikapcsolva)
Wi-Fi saved, applying Wi-Fi mentve, alkalmazás folyamatban.
Wi-Fi saved, reconnecting Wi-Fi mentve, újracsatlakozás
Wi-Fi unavailable; Bluetooth restored Wi-Fi nem érhető el; a Bluetooth helyreállítva.
Wi-Fi unavailable; retry from Settings Wi-Fi nem érhető el; próbáld újra a Beállításokban.
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.
@@ -915,6 +961,7 @@ 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ó ébresztés:
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
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Ripetitore auto
Auto room Stanza auto
Auto sensor Sensore auto
Auto-Join Auto-join
Auto-add
Auto-add contacts Aggiunta automatica contatti
Auto-add saved Auto-aggiunta salvata
Auto-add settings Impostazioni aggiunta automatica
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Blu batteria Arancio temp. Ciano umid
Bluetooth Bluetooth
Bluetooth already off Bluetooth già spento
Bluetooth already on Bluetooth già acceso
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Host / IP del broker
Buffered receive (experimental) Ricezione bufferizzata (sperimentale)
Built-in Integrato
@@ -153,6 +157,7 @@ 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 & time
Clock synced Orologio sincronizzato
Clock: 12-hour Orologio: 12 ore
Clock: 24-hour Orologio: 24 ore
@@ -161,6 +166,7 @@ Colourful chat bubbles Fumetti chat colorati
Commands Comandi
Community Preset Preset della community
Community preset (meshcomod web) Preset community (meshcomod web)
Compact
Compact messages Messaggi compatti
Compact messages (IRC style) Messaggi compatti (stile IRC)
Connect Connetti
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Copia non riuscita (nessuna identità interna)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Copia dati interni su SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Copia segreto
Copying internal data to SD... Copia dei dati interni su SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Impossibile aggiungere
Could not save the crash report Impossibile salvare il rapporto di crash
Couldn't delete Impossibile eliminare
@@ -206,6 +219,7 @@ Create QR Crea QR
Create a private channel Crea un canale privato
Create failed Creazione non riuscita
Create private channel Crea canale privato
Current tile transfer is busy - retry
Custom UTC offset (hours) Offset UTC personalizzato (ore)
Cut Taglia
Cut - Paste in a folder Tagliato - incolla in una cartella
@@ -245,6 +259,7 @@ Distance: miles Distanza: miglia
Do Not Disturb Non disturbare
Do Not Disturb off Non disturbare disattivo
Do Not Disturb on Non disturbare attivo
Down
Download failed Download non riuscito
Download failed (network?) Download non riuscito (rete?)
Download mode Modalità download
@@ -287,6 +302,9 @@ Export settings Esporta impostazioni
Exporting settings… Esportazione impostazioni…
External antenna selected Antenna esterna selezionata
Factory reset Ripristino fabbrica
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ 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)
General
Get Scarica
Get Started Inizia
Get test builds (beta) Ricevi build di test (beta)
@@ -336,6 +355,7 @@ 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
Home
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à
@@ -386,6 +406,7 @@ 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
Keys
LOS → %s Vista diretta → %s
Landscape (desktop) Orizzontale (desktop)
Landscape set - applies when remote mode starts. Orizzontale impostato - vale all'avvio della modalità remota.
@@ -393,9 +414,11 @@ 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
Large (bigger icons)
Latitude Latitudine
Leave empty if not required Lascia vuoto se non richiesto
Leaving remote mode - rebooting... Uscita dalla modalità remota - riavvio...
Left
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)
@@ -455,6 +478,7 @@ 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
Messages
Min zoom for this pack Zoom min per questo pacchetto
Mode: BLE starting / low memory Modalità: BLE avvio / memoria scarsa
Model: Modello:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Ripristina
Reset path Reimposta percorso
Restarting to apply the language… Riavvio per applicare la lingua…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Reinvia finché non ricevuto
Reverse scrollball Inverti scrollball
Right
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Download su SD non riuscito: %s
SD formatted - %s (MESHCOMOD) SD formattata - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB usati
@@ -684,6 +718,7 @@ Saved backups Backup salvati
Saved network Rete salvata
Saved profiles Profili salvati
Saved to slot %d Salvato nello slot %d
Saved — applying…
Saved — rebooting Salvato — riavvio
Saved — reconnecting… Salvato — riconnessione…
Saved: %s\nFlash it from the Launcher. Salvato: %s\nFlashalo dal Launcher.
@@ -692,6 +727,7 @@ 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
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)
@@ -702,6 +738,8 @@ 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
Scroll down
Scroll up
Scrollball: normal Scrollball: normale
Scrollball: reversed Scrollball: invertita
Search Cerca
@@ -710,6 +748,7 @@ 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
Select a DM thread Seleziona una conversazione MD
Select all Seleziona tutto
Select network Seleziona rete
@@ -718,6 +757,7 @@ 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
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
@@ -749,6 +789,7 @@ Sleep ready Pronto per lo standby
Slot %d cleared Slot %d cancellato
Slot empty Slot vuoto
Small\nMedium\nLarge Piccolo\nMedio\nGrande
Snake
Snake — swipe or roll the trackball Snake — scorri o gira la trackball
Sort Ordina
Sound Suono
@@ -843,6 +884,7 @@ 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)
Up
Update Aggiorna
Update bin saved to SD Bin di aggiornamento salvato su SD
Update complete.\nRebooting... Aggiornamento completato.\nRiavvio...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi salvato (radio off)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi salvato, riconnessione
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
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.
@@ -894,6 +941,7 @@ 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:
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
+49 -1
View File
@@ -1,7 +1,7 @@
# wadamesh language file
# canonical source - translators: edit this file and PR it
# code: nl
# ver: 8
# ver: 9
# name: Nederlands
# base: nl
(device behind) (apparaat loopt achter)
@@ -69,6 +69,7 @@ Auto repeater Auto repeater
Auto room Auto room
Auto sensor Auto sensor
Auto-Join Auto-deelnemen
Auto-add Auto toevoegen
Auto-add contacts Contacten automatisch toevoegen
Auto-add saved Auto-toevoegen opgeslagen
Auto-add settings Auto-toevoegen instellingen
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Blauw batterij Oranje temp Cyaan voch
Bluetooth Bluetooth
Bluetooth already off Bluetooth al uit
Bluetooth already on Bluetooth al aan
Bluetooth deferred; retry from Settings Bluetooth uitgesteld; opnieuw proberen via Instellingen
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.
Bluetooth unavailable; retry from Settings Bluetooth niet beschikbaar; opnieuw proberen via Instellingen
Bluetooth will start after Wi-Fi connects or times out. Bluetooth start na verbinding met Wi-Fi of na time-out.
Broker host / IP Broker-host / IP
Buffered receive (experimental) Gebufferde ontvangst (experimenteel)
Built-in Ingebouwd
@@ -153,6 +157,7 @@ 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 & time Klok & tijd
Clock synced Klok gesynchroniseerd
Clock: 12-hour Klok: 12-uurs
Clock: 24-hour Klok: 24-uurs
@@ -161,6 +166,7 @@ Colourful chat bubbles Kleurrijke chatbubbels
Commands Opdrachten
Community Preset Community-preset
Community preset (meshcomod web) Community-preset (meshcomod web)
Compact Compact
Compact messages Compacte berichten
Compact messages (IRC style) Compacte berichten (IRC-stijl)
Connect Verbinden
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile Kopiëren geblokkeerd: SD-kaart heeft een ander of onleesbaar profiel
Copy blocked: SD profile could not be prepared safely Kopiëren geblokkeerd: SD-profiel kon niet veilig worden voorbereid
Copy blocked: internal data is busy Kopiëren geblokkeerd: interne data is bezig
Copy blocked: migration guard unavailable Kopiëren geblokkeerd: migratiebeveiliging niet beschikbaar
Copy failed (no internal identity) Kopiëren mislukt (geen interne identiteit)
Copy incomplete: SD data may be mixed. Retry before reboot. Kopiëren onvolledig: SD-data kan gemengd zijn. Opnieuw proberen vóór herstart.
Copy internal data to SD Interne data naar SD kopiëren
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot? Alleen ontbrekende interne bestanden naar een passend SD-profiel kopiëren,\nbestaande SD-data behouden en daarna herstarten?
Copy secret Geheim kopiëren
Copying internal data to SD... Interne data naar SD kopiëren...
Copying internal data to SD...\nThis may take a few minutes; keep powered. Interne data wordt naar SD gekopieerd...\nDit kan enkele minuten duren; apparaat ingeschakeld laten
Could not add Toevoegen mislukt
Could not save the crash report Kon het crashrapport niet opslaan
Couldn't delete Verwijderen mislukt
@@ -206,6 +219,7 @@ Create QR QR maken
Create a private channel Privékanaal aanmaken
Create failed Aanmaken mislukt
Create private channel Privékanaal aanmaken
Current tile transfer is busy - retry Huidige tegeloverdracht is bezig - opnieuw proberen
Custom UTC offset (hours) Aangepaste UTC-offset (uren)
Cut Knippen
Cut - Paste in a folder Geknipt - plak in een map
@@ -245,6 +259,7 @@ Distance: miles Afstand: mijlen
Do Not Disturb Niet storen
Do Not Disturb off Niet storen uit
Do Not Disturb on Niet storen aan
Down Omlaag
Download failed Download mislukt
Download failed (network?) Download mislukt (netwerk?)
Download mode Downloadmodus
@@ -287,6 +302,9 @@ Export settings Instellingen exporteren
Exporting settings… Instellingen exporteren…
External antenna selected Externe antenne geselecteerd
Factory reset Fabrieksreset
Factory reset blocked: SD activity is still running; close tools and retry. Fabrieksreset geblokkeerd: SD-activiteit loopt nog; sluit tools en probeer opnieuw.
Factory reset blocked: storage is busy Fabrieksreset geblokkeerd: opslag is bezig
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data. Fabrieksreset onvolledig: SD-data kan al deels gewist zijn. Opnieuw proberen om te voltooien, of kaart verwijderen voordat interne data wordt gereset.
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)
@@ -322,6 +340,7 @@ 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)
General Algemeen
Get Ophalen
Get Started Aan de slag
Get test builds (beta) Testversies ontvangen (bèta)
@@ -336,6 +355,7 @@ 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
Home Start
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
@@ -386,6 +406,7 @@ Keyboard light on Toetsenbordverlichting aan
Keyboard nav: WASDZ on Toetsenbordnav.: WASDZ aan
Keyboard nav: off Toetsenbordnav.: uit
Keyboard navigation Toetsenbordnavigatie
Keys Toetsen
LOS → %s Zichtlijn → %s
Landscape (desktop) Liggend (desktop)
Landscape set - applies when remote mode starts. Liggend ingesteld - geldt zodra de externe modus start.
@@ -393,9 +414,11 @@ 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
Large (bigger icons) Groot (grotere pictogrammen)
Latitude Breedtegraad
Leave empty if not required Leeg laten indien niet vereist
Leaving remote mode - rebooting... Externe modus verlaten - herstarten...
Left Links
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)
@@ -455,6 +478,7 @@ Message deleted Bericht verwijderd
Message didn't get through.\nResend it? Bericht is niet aangekomen.\nOpnieuw versturen?
Message info Berichtinfo
Message sound Berichtgeluid
Messages Berichten
Min zoom for this pack Min zoom voor dit pakket
Mode: BLE starting / low memory Modus: BLE start / weinig geheugen
Model: Model:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Herstellen
Reset path Pad resetten
Restarting to apply the language… Opnieuw opstarten om de taal toe te passen…
Restarting to enable Bluetooth Herstarten om Bluetooth te activeren
Resume Hervatten
Resuming missing files to SD...\nThis may take a few minutes; keep powered. Ontbrekende bestanden worden naar SD hervat...\nDit kan enkele minuten duren; apparaat ingeschakeld laten.
Retry sends until heard Opnieuw verzenden tot gehoord
Reverse scrollball Scrollball omkeren
Right Rechts
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted. SD-data niet beschikbaar - contacten en kanalen kunnen pas na opnieuw plaatsen van de kaart worden opgeslagen.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted. SD-data niet beschikbaar - identiteit, instellingen, contacten en kanalen kunnen pas na opnieuw plaatsen van de kaart worden opgeslagen.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry. SD-datamigratie onvolledig. Identiteit en instellingen blijven intern; gebruik Interne data naar SD kopiëren om opnieuw te proberen.
SD download failed: %s SD-download mislukt: %s
SD formatted - %s (MESHCOMOD) SD geformatteerd - %s (MESHCOMOD)
SD is busy - close tools and retry SD is bezig - sluit tools en probeer opnieuw
SD removed - card-backed data cannot be saved SD verwijderd - kaartgegevens kunnen niet worden opgeslagen
SD stayed busy - format cancelled, retry SD bleef bezig - formatteren geannuleerd, opnieuw proberen
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB gebruikt
@@ -684,6 +718,7 @@ Saved backups Opgeslagen back-ups
Saved network Opgeslagen netwerk
Saved profiles Opgeslagen profielen
Saved to slot %d Opgeslagen in slot %d
Saved — applying… Opgeslagen — wordt toegepast…
Saved — rebooting Opgeslagen — opnieuw opstarten
Saved — reconnecting… Opgeslagen — opnieuw verbinden…
Saved: %s\nFlash it from the Launcher. Opgeslagen: %s\nFlash het vanuit de Launcher.
@@ -692,6 +727,7 @@ 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 Scherm
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)
@@ -702,6 +738,8 @@ 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
Scroll down Omlaag scrollen
Scroll up Omhoog scrollen
Scrollball: normal Scrollball: normaal
Scrollball: reversed Scrollball: omgekeerd
Search Zoeken
@@ -710,6 +748,7 @@ 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 Selecteren
Select a DM thread Kies een DM-gesprek
Select all Alles selecteren
Select network Netwerk kiezen
@@ -718,6 +757,7 @@ 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 Sensoren
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
@@ -749,6 +789,7 @@ Sleep ready Klaar voor slaap
Slot %d cleared Slot %d gewist
Slot empty Slot leeg
Small\nMedium\nLarge Klein\nMiddel\nGroot
Snake Snake
Snake — swipe or roll the trackball Snake — veeg of rol de trackball
Sort Sorteer
Sound Geluid
@@ -843,6 +884,7 @@ 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)
Up Omhoog
Update Bijwerken
Update bin saved to SD Update-bin opgeslagen op SD
Update complete.\nRebooting... Update voltooid.\nOpnieuw opstarten...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings Wi-Fi en Bluetooth niet beschikbaar; opnieuw proberen via Instellingen
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out Wi-Fi gepauzeerd; Bluetooth-verbinding verbreken mislukt door time-out
Wi-Fi saved (radio off) Wi-Fi opgeslagen (radio uit)
Wi-Fi saved, applying Wi-Fi opgeslagen, wordt toegepast
Wi-Fi saved, reconnecting Wi-Fi opgeslagen, opnieuw verbinden
Wi-Fi unavailable; Bluetooth restored Wi-Fi niet beschikbaar; Bluetooth hersteld
Wi-Fi unavailable; retry from Settings Wi-Fi niet beschikbaar; opnieuw proberen via Instellingen
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.
@@ -894,6 +941,7 @@ 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: laatste ontwaken:
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
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Auto repetidor
Auto room Auto sala
Auto sensor Auto sensor
Auto-Join Entrada automática
Auto-add
Auto-add contacts Auto-adicionar contatos
Auto-add saved Auto-adição salva
Auto-add settings Ajustes de adição automática
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Azul bateria Laranja temp. Ciano umid
Bluetooth Bluetooth
Bluetooth already off Bluetooth já desligado
Bluetooth already on Bluetooth já ligado
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Host / IP do broker
Buffered receive (experimental) Recepção com buffer (experimental)
Built-in Integrado
@@ -153,6 +157,7 @@ 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 & time
Clock synced Relógio sincronizado
Clock: 12-hour Relógio: 12 horas
Clock: 24-hour Relógio: 24 horas
@@ -161,6 +166,7 @@ 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
Compact messages Mensagens compactas
Compact messages (IRC style) Mensagens compactas (estilo IRC)
Connect Conectar
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Falha na cópia (sem identidade interna)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Copiar dados internos para o SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Copiar segredo
Copying internal data to SD... Copiando dados internos para o SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
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
@@ -206,6 +219,7 @@ Create QR Criar QR
Create a private channel Criar um canal privado
Create failed Falha ao criar
Create private channel Criar canal privado
Current tile transfer is busy - retry
Custom UTC offset (hours) Deslocamento UTC personalizado (horas)
Cut Recortar
Cut - Paste in a folder Recortado - cole numa pasta
@@ -245,6 +259,7 @@ 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
Down
Download failed Falha no download
Download failed (network?) Falha no download (rede?)
Download mode Modo download
@@ -287,6 +302,9 @@ Export settings Exportar ajustes
Exporting settings… Exportando ajustes…
External antenna selected Antena externa selecionada
Factory reset Restauração de fábrica
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ 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)
General
Get Baixar
Get Started Começar
Get test builds (beta) Receber versões de teste (beta)
@@ -336,6 +355,7 @@ 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
Home
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
@@ -386,6 +406,7 @@ 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
Keys
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.
@@ -393,9 +414,11 @@ 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
Large (bigger icons)
Latitude Latitude
Leave empty if not required Deixe vazio se não for necessário
Leaving remote mode - rebooting... Saindo do modo remoto - reiniciando...
Left
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)
@@ -455,6 +478,7 @@ 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
Messages
Min zoom for this pack Zoom mín. para este pacote
Mode: BLE starting / low memory Modo: BLE iniciando / pouca memória
Model: Modelo:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Redefinir
Reset path Redefinir caminho
Restarting to apply the language… Reiniciando para aplicar o idioma…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Reenviar até ser ouvido
Reverse scrollball Inverter o scrollball
Right
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Falha ao baixar no SD: %s
SD formatted - %s (MESHCOMOD) SD formatado - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB usados
@@ -684,6 +718,7 @@ Saved backups Backups salvos
Saved network Rede salva
Saved profiles Perfis salvos
Saved to slot %d Salvo no slot %d
Saved — applying…
Saved — rebooting Salvo — reiniciando
Saved — reconnecting… Salvo — reconectando…
Saved: %s\nFlash it from the Launcher. Salvo: %s\nInstale pelo Launcher.
@@ -692,6 +727,7 @@ 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
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)
@@ -702,6 +738,8 @@ 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
Scroll down
Scroll up
Scrollball: normal Scrollball: normal
Scrollball: reversed Scrollball: invertido
Search Buscar
@@ -710,6 +748,7 @@ 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
Select a DM thread Selecione uma conversa de DM
Select all Selecionar tudo
Select network Selecionar rede
@@ -718,6 +757,7 @@ 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
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
@@ -749,6 +789,7 @@ Sleep ready Pronto para dormir
Slot %d cleared Slot %d limpo
Slot empty Slot vazio
Small\nMedium\nLarge Pequeno\nMédio\nGrande
Snake
Snake — swipe or roll the trackball Snake — deslize ou gire o trackball
Sort Ordenar
Sound Som
@@ -843,6 +884,7 @@ 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)
Up
Update Atualizar
Update bin saved to SD Bin de atualização salvo no SD
Update complete.\nRebooting... Atualização concluída.\nReiniciando...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi salvo (rádio desligado)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi salvo, reconectando
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
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.
@@ -894,6 +941,7 @@ 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:
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
+49
View File
@@ -69,6 +69,7 @@ Auto repeater Repetor auto
Auto room Cameră auto
Auto sensor Senzor auto
Auto-Join Auto-intrare
Auto-add
Auto-add contacts Auto-adăugare contacte
Auto-add saved Auto-adăugare salvată
Auto-add settings Setări adăugare automată
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Albastru baterie Portocaliu temp Cyan
Bluetooth Bluetooth
Bluetooth already off Bluetooth deja oprit
Bluetooth already on Bluetooth deja pornit
Bluetooth deferred; retry from Settings
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.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Gazdă broker / IP
Buffered receive (experimental) Recepţie cu buffer (experimental)
Built-in Încorporat
@@ -153,6 +157,7 @@ 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 & time
Clock synced Ceas sincronizat
Clock: 12-hour Ceas: 12 ore
Clock: 24-hour Ceas: 24 ore
@@ -161,6 +166,7 @@ Colourful chat bubbles Baloane de chat colorate
Commands Comenzi
Community Preset Presetare comunitară
Community preset (meshcomod web) Presetare comunitate (meshcomod web)
Compact
Compact messages Mesaje compacte
Compact messages (IRC style) Mesaje compacte (stil IRC)
Connect Conectează
@@ -189,10 +195,17 @@ 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 blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Copiere eşuată (fără identitate internă)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Copiază datele interne pe SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Copiază secretul
Copying internal data to SD... Se copiază datele interne pe SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
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
@@ -206,6 +219,7 @@ Create QR Creează QR
Create a private channel Creează un canal privat
Create failed Creare eşuată
Create private channel Creează canal privat
Current tile transfer is busy - retry
Custom UTC offset (hours) Decalaj UTC personalizat (ore)
Cut Decupează
Cut - Paste in a folder Decupat - lipeşte într-un folder
@@ -245,6 +259,7 @@ Distance: miles Distanţă: mile
Do Not Disturb Nu deranja
Do Not Disturb off Nu deranja oprit
Do Not Disturb on Nu deranja pornit
Down
Download failed Descărcarea a eşuat
Download failed (network?) Descărcarea a eşuat (reţea?)
Download mode Mod descărcare
@@ -287,6 +302,9 @@ Export settings Exportă setările
Exporting settings… Se exportă setările…
External antenna selected Antenă externă selectată
Factory reset Resetare din fabrică
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ 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)
General
Get Descarcă
Get Started Începe
Get test builds (beta) Primeşte versiuni de test (beta)
@@ -336,6 +355,7 @@ 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ă
Home
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
@@ -386,6 +406,7 @@ 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
Keys
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ţă.
@@ -393,9 +414,11 @@ 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
Large (bigger icons)
Latitude Latitudine
Leave empty if not required Lasă gol dacă nu e necesar
Leaving remote mode - rebooting... Se iese din modul la distanţă - repornire...
Left
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)
@@ -455,6 +478,7 @@ 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
Messages
Min zoom for this pack Zoom minim pentru acest pachet
Mode: BLE starting / low memory Mod: BLE porneşte / memorie redusă
Model: Model:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Resetează
Reset path Resetează ruta
Restarting to apply the language… Repornire pentru aplicarea limbii…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Retrimite până e auzit
Reverse scrollball Inversează scrollball-ul
Right
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...
@@ -659,8 +687,14 @@ 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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Descărcare SD eşuată: %s
SD formatted - %s (MESHCOMOD) SD formatat - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB folosiţi
@@ -684,6 +718,7 @@ Saved backups Backupuri salvate
Saved network Reţea salvată
Saved profiles Profiluri salvate
Saved to slot %d Salvat în slotul %d
Saved — applying…
Saved — rebooting Salvat — se reporneşte
Saved — reconnecting… Salvat — se reconectează…
Saved: %s\nFlash it from the Launcher. Salvat: %s\nInstalează-l din Launcher.
@@ -692,6 +727,7 @@ 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
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)
@@ -702,6 +738,8 @@ 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ă
Scroll down
Scroll up
Scrollball: normal Scrollball: normal
Scrollball: reversed Scrollball: inversat
Search Căutare
@@ -710,6 +748,7 @@ 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
Select a DM thread Selectează o conversaţie DM
Select all Selectează tot
Select network Selectează reţeaua
@@ -718,6 +757,7 @@ 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
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
@@ -749,6 +789,7 @@ Sleep ready Pregătit de somn
Slot %d cleared Slot %d golit
Slot empty Slot gol
Small\nMedium\nLarge Mic\nMediu\nMare
Snake
Snake — swipe or roll the trackball Snake — glisează sau roteşte trackball-ul
Sort Sortează
Sound Sunet
@@ -843,6 +884,7 @@ 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)
Up
Update Actualizează
Update bin saved to SD Bin de actualizare salvat pe SD
Update complete.\nRebooting... Actualizare completă.\nSe reporneşte...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ 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 paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi salvat (radio oprit)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi salvat, se reconectează
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
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.
@@ -894,6 +941,7 @@ 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:
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
@@ -920,4 +968,5 @@ 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.
© OpenStreetMap
© OpenTopoMap © OpenTopoMap
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Авто ретранслятор
Auto room Авто комната
Auto sensor Авто датчик
Auto-Join Автовход
Auto-add
Auto-add contacts Автодобавление контактов
Auto-add saved Автодобавление сохранено
Auto-add settings Настройки автодобавления
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Синий — батарея Оран
Bluetooth Bluetooth
Bluetooth already off Bluetooth уже выкл
Bluetooth already on Bluetooth уже вкл
Bluetooth deferred; retry from Settings
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 тоже работает.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Хост / IP брокера
Buffered receive (experimental) Буферизованный приём (экспериментально)
Built-in Встроенный
@@ -153,6 +157,7 @@ Clear battery history? Очистить историю батареи?
Clear history Очистить историю
Clear telemetry history for this node? Очистить историю телеметрии этого узла?
Client repeat Повтор клиента
Clock & time
Clock synced Часы синхронизированы
Clock: 12-hour Часы: 12-часовые
Clock: 24-hour Часы: 24-часовые
@@ -161,6 +166,7 @@ Colourful chat bubbles Цветные пузыри чата
Commands Команды
Community Preset Пресет сообщества
Community preset (meshcomod web) Пресет сообщества (meshcomod web)
Compact
Compact messages Компактные сообщения
Compact messages (IRC style) Компактные сообщения (стиль IRC)
Connect Подключить
@@ -189,10 +195,17 @@ Control this device from a browser Управляйте устройством
Copied %s %s скопировано
Copied - Paste in a folder Скопировано - вставьте в папку
Copy Копировать
Copy blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Ошибка копирования (нет внутренней идентичности)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Скопировать данные на SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Копировать секрет
Copying internal data to SD... Копирование внутренних данных на SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Не удалось добавить
Could not save the crash report Не удалось сохранить отчёт о сбое
Couldn't delete Не удалось удалить
@@ -206,6 +219,7 @@ Create QR Создать QR
Create a private channel Создать приватный канал
Create failed Не удалось создать
Create private channel Создать приватный канал
Current tile transfer is busy - retry
Custom UTC offset (hours) Свой сдвиг UTC (часы)
Cut Вырезать
Cut - Paste in a folder Вырезано - вставьте в папку
@@ -245,6 +259,7 @@ Distance: miles Расстояние: мили
Do Not Disturb Не беспокоить
Do Not Disturb off «Не беспокоить» выкл.
Do Not Disturb on «Не беспокоить» вкл.
Down
Download failed Загрузка не удалась
Download failed (network?) Загрузка не удалась (сеть?)
Download mode Режим загрузки
@@ -287,6 +302,9 @@ Export settings Экспорт настроек
Exporting settings… Экспорт настроек…
External antenna selected Выбрана внешняя антенна
Factory reset Сброс настроек
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ GPS: fix GPS: есть
GPS: off GPS: выкл
GPS: searching GPS: поиск
Game over — score %d (tap to restart) Игра окончена — счёт %d (нажмите для рестарта)
General
Get Скачать
Get Started Начать
Get test builds (beta) Получать тестовые сборки (бета)
@@ -336,6 +355,7 @@ 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 Лимит истории выключен
Home
Hotkey saved Горячая клавиша сохранена
How you'll appear to other nodes. You can change this later in Settings. Как вы будете видны другим узлам. Можно изменить в Настройках.
Humidity Влажность
@@ -386,6 +406,7 @@ Keyboard light on Подсветка клавиатуры вкл.
Keyboard nav: WASDZ on Навигация клавиатурой: WASDZ вкл.
Keyboard nav: off Навигация клавиатурой: выкл.
Keyboard navigation Навигация клавиатурой
Keys
LOS → %s Прямая видимость → %s
Landscape (desktop) Альбомная (десктоп)
Landscape set - applies when remote mode starts. Альбомная выбрана - применится при запуске удалённого режима.
@@ -393,9 +414,11 @@ Language Язык
Language catalog unavailable - check Wi-Fi, then reopen this tab. Каталог языков недоступен - проверьте Wi-Fi и откройте вкладку снова.
Language updated - restarting to apply it… Язык обновлён - перезагрузка для применения…
Languages Языки
Large (bigger icons)
Latitude Широта
Leave empty if not required Оставьте пустым, если не нужно
Leaving remote mode - rebooting... Выход из удалённого режима - перезагрузка...
Left
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)
@@ -455,6 +478,7 @@ Message deleted Сообщение удалено
Message didn't get through.\nResend it? Сообщение не дошло.\nОтправить снова?
Message info Информация о сообщении
Message sound Звук сообщений
Messages
Min zoom for this pack Мин. зум для этого пакета
Mode: BLE starting / low memory Режим: BLE запускается / мало памяти
Model: Модель:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Сброс
Reset path Сбросить маршрут
Restarting to apply the language… Перезагрузка для применения языка…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Повторять отправку, пока не услышат
Reverse scrollball Инвертировать трекбол
Right
Roll to highlight • click to insert Прокрутите для выбора • нажмите для вставки
Room is read-only for you.\nJoin with the room password to post. Комната только для чтения.\nВойдите с паролем комнаты, чтобы писать.
Rotating - reconnecting... Поворот - переподключение...
@@ -659,8 +687,14 @@ SD card inserted SD-карта вставлена
SD card lost - reinsert to recover SD-карта потеряна - переставьте её
SD card remounted SD-карта перемонтирована
SD card removed SD-карта извлечена
SD data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Не удалось загрузить на SD: %s
SD formatted - %s (MESHCOMOD) SD отформатирована - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u КБ занято
@@ -684,6 +718,7 @@ Saved backups Сохранённые копии
Saved network Сохранённая сеть
Saved profiles Сохранённые профили
Saved to slot %d Сохранено в слот %d
Saved — applying…
Saved — rebooting Сохранено — перезагрузка
Saved — reconnecting… Сохранено — переподключение…
Saved: %s\nFlash it from the Launcher. Сохранено: %s\nПрошейте из Launcher.
@@ -692,6 +727,7 @@ Saving to SD… 0% Сохранение на SD… 0%
Scan to open on phone Отсканируйте, чтобы открыть на телефоне
Scanning… Сканирование…
Scope direct msgs to region Ограничить личные сообщения регионом
Screen
Screen locked Экран заблокирован
Screen timeout (s, 0 = never) Тайм-аут экрана (с, 0 = никогда)
Screen timeout (s, 0 = never, min 10) Тайм-аут экрана (с, 0 = никогда, мин 10)
@@ -702,6 +738,8 @@ Screenshot needs an SD card Для скриншота нужна SD-карта
Screenshot: low memory Скриншот: мало памяти
Screenshot: no SD card Скриншот: нет SD-карты
Screenshot: write failed Скриншот: ошибка записи
Scroll down
Scroll up
Scrollball: normal Трекбол: обычный
Scrollball: reversed Трекбол: инвертирован
Search Поиск
@@ -710,6 +748,7 @@ 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
Select a DM thread Выберите тему ЛС
Select all Выбрать всё
Select network Выбрать сеть
@@ -718,6 +757,7 @@ Send advert now Отправить advert
Send an advert now, or set how often you re-advertise. Отправить advert сейчас или задать частоту повторной отправки.
Send failed Не удалось отправить
Sender blocked Отправитель заблокирован
Sensors
Sensors tab: off (restart to apply) Вкладка датчиков: выкл (перезагрузите для применения)
Sensors tab: on (restart to apply) Вкладка датчиков: вкл (перезагрузите для применения)
Sent Отправлено
@@ -749,6 +789,7 @@ Sleep ready Готов ко сну
Slot %d cleared Слот %d очищен
Slot empty Слот пуст
Small\nMedium\nLarge Малый\nСредний\nБольшой
Snake
Snake — swipe or roll the trackball Snake — проведите или крутите трекбол
Sort Сортировка
Sound Звук
@@ -843,6 +884,7 @@ 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)
Up
Update Обновить
Update bin saved to SD Файл обновления сохранён на SD
Update complete.\nRebooting... Обновление завершено.\nПерезагрузка...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ Wi-Fi not connected Wi-Fi не подключён
Wi-Fi off Wi-Fi выкл
Wi-Fi on Wi-Fi вкл
Wi-Fi on, scanning… Wi-Fi вкл, поиск…
Wi-Fi paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi сохранён (радио выкл)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi сохранён, переподключение
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
Yesterday Вчера
You can run setup later in Settings → Device Настройку можно запустить позже в Настройки → Устройство
Your location is unknown.\nSet GPS / position in\nSettings → Profile first. Местоположение неизвестно.\nСначала задайте GPS / позицию в\nНастройки → Профиль.
@@ -894,6 +941,7 @@ hold the d-pad to unlock удерживайте d-pad для разблокир
hold the trackball to unlock удерживайте трекбол для разблокировки
kHz kHz
keep holding удерживайте
last wake:
last wake: последнее пробуждение:
leave empty to generate оставьте пустым для генерации
lights the keyboard + wakes the screen on an incoming message подсвечивает клавиатуру + будит экран при входящем сообщении
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Ауто репетитор
Auto room Ауто соба
Auto sensor Ауто сензор
Auto-Join Ауто-придруживање
Auto-add
Auto-add contacts Аутоматско додавање контаката
Auto-add saved Аутододавање сачувано
Auto-add settings Подешавања ауто-додавања
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Плаво — батерија Нар
Bluetooth Bluetooth
Bluetooth already off Bluetooth већ искључен
Bluetooth already on Bluetooth већ укључен
Bluetooth deferred; retry from Settings
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 такође ради.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Хост / IP брокера
Buffered receive (experimental) Баферовани пријем (експериментално)
Built-in Уграђен
@@ -153,6 +157,7 @@ Clear battery history? Обрисати историју батерије?
Clear history Обриши историју
Clear telemetry history for this node? Обрисати историју телеметрије овог чвора?
Client repeat Понављање клијента
Clock & time
Clock synced Сат синхронизован
Clock: 12-hour Сат: 12-часовни
Clock: 24-hour Сат: 24-часовни
@@ -161,6 +166,7 @@ Colourful chat bubbles Шарени облачићи ћаскања
Commands Команде
Community Preset Претподешавање заједнице
Community preset (meshcomod web) Унапред (meshcomod web)
Compact
Compact messages Компактне поруке
Compact messages (IRC style) Компактне поруке (IRC стил)
Connect Повежи
@@ -189,10 +195,17 @@ Control this device from a browser Управљај уређајем из пре
Copied %s %s копирано
Copied - Paste in a folder Копирано - налепи у фасциклу
Copy Копирај
Copy blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Копирање није успело (нема интерног идентитета)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Копирај податке на SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Копирај тајну
Copying internal data to SD... Копирање интерних података на SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Додавање није успело
Could not save the crash report Извештај о паду није сачуван
Couldn't delete Брисање није успело
@@ -206,6 +219,7 @@ Create QR Направи QR
Create a private channel Направи приватни канал
Create failed Креирање није успело
Create private channel Направи приватни канал
Current tile transfer is busy - retry
Custom UTC offset (hours) Прилагођени UTC померај (сати)
Cut Исеци
Cut - Paste in a folder Исечено - налепи у фасциклу
@@ -245,6 +259,7 @@ Distance: miles Растојање: миље
Do Not Disturb Не узнемиравај
Do Not Disturb off «Не узнемиравај» искљ.
Do Not Disturb on «Не узнемиравај» укљ.
Down
Download failed Преузимање није успело
Download failed (network?) Преузимање није успело (мрежа?)
Download mode Режим преузимања
@@ -287,6 +302,9 @@ Export settings Извези подешавања
Exporting settings… Извоз подешавања…
External antenna selected Изабрана спољна антена
Factory reset Фабричко ресет.
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ GPS: fix GPS: фикс
GPS: off GPS: искљ
GPS: searching GPS: тражење
Game over — score %d (tap to restart) Крај игре — резултат %d (додирните за рестарт)
General
Get Преузми
Get Started Започни
Get test builds (beta) Преузми тест верзије (бета)
@@ -336,6 +355,7 @@ 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 Ограничење историје искључено
Home
Hotkey saved Пречица сачувана
How you'll appear to other nodes. You can change this later in Settings. Како ћете изгледати другим чворовима. У Подешавањима.
Humidity Влажност
@@ -386,6 +406,7 @@ Keyboard light on Осветљење тастатуре укљ.
Keyboard nav: WASDZ on Навиг. тастатуром: WASDZ укљ.
Keyboard nav: off Навиг. тастатуром: искљ.
Keyboard navigation Навигација тастатуром
Keys
LOS → %s Оптичка видљивост → %s
Landscape (desktop) Положено (десктоп)
Landscape set - applies when remote mode starts. Положено подешено - важи кад крене даљински режим.
@@ -393,9 +414,11 @@ Language Језик
Language catalog unavailable - check Wi-Fi, then reopen this tab. Каталог језика није доступан - провери Wi-Fi па поново отвори картицу.
Language updated - restarting to apply it… Језик ажуриран - рестартовање ради примене…
Languages Језици
Large (bigger icons)
Latitude Географска ширина
Leave empty if not required Оставите празно ако није потребно
Leaving remote mode - rebooting... Излазак из даљинског режима - рестартовање...
Left
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)
@@ -455,6 +478,7 @@ Message deleted Порука обрисана
Message didn't get through.\nResend it? Порука није стигла.\nПослати поново?
Message info Подаци о поруци
Message sound Звук порука
Messages
Min zoom for this pack Мин. зум за овај пакет
Mode: BLE starting / low memory Режим: BLE стартује / мало меморије
Model: Модел:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Ресетуј
Reset path Ресетуј путању
Restarting to apply the language… Рестартовање ради примене језика…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Понављај слање док се не чује
Reverse scrollball Обрни scrollball
Right
Roll to highlight • click to insert Котрљајте за истицање • кликните за уметање
Room is read-only for you.\nJoin with the room password to post. Соба је само за читање за вас.\nПридружите се лозинком собе да објавите.
Rotating - reconnecting... Ротација - поновно повезивање...
@@ -659,8 +687,14 @@ SD card inserted SD картица убачена
SD card lost - reinsert to recover SD картица изгубљена - убаците поново
SD card remounted SD картица поново монтирана
SD card removed SD картица уклоњена
SD data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Преузимање на SD није успело: %s
SD formatted - %s (MESHCOMOD) SD форматирана - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u KB заузето
@@ -684,6 +718,7 @@ Saved backups Сачуване копије
Saved network Сачувана мрежа
Saved profiles Сачувани профили
Saved to slot %d Сачувано у слот %d
Saved — applying…
Saved — rebooting Сачувано — рестарт
Saved — reconnecting… Сачувано — поновно повезивање…
Saved: %s\nFlash it from the Launcher. Сачувано: %s\nФлешујте га из Launcher-а.
@@ -692,6 +727,7 @@ Saving to SD… 0% Чување на SD… 0%
Scan to open on phone Скенирај да отвориш на телефону
Scanning… Скенирање…
Scope direct msgs to region Ограничи директне поруке на регион
Screen
Screen locked Екран закључан
Screen timeout (s, 0 = never) Истек екрана (с, 0 = никад)
Screen timeout (s, 0 = never, min 10) Истек екрана (с, 0 = никад, мин 10)
@@ -702,6 +738,8 @@ Screenshot needs an SD card Снимак екрана захтева SD карт
Screenshot: low memory Снимак екрана: мало меморије
Screenshot: no SD card Снимак екрана: нема SD картице
Screenshot: write failed Снимак екрана: упис није успео
Scroll down
Scroll up
Scrollball: normal Scrollball: нормалан
Scrollball: reversed Scrollball: обрнут
Search Претрага
@@ -710,6 +748,7 @@ 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
Select a DM thread Изаберите ДП разговор
Select all Изабери све
Select network Изабери мрежу
@@ -718,6 +757,7 @@ Send advert now Пошаљи advert
Send an advert now, or set how often you re-advertise. Пошаљите advert сада или подесите колико често га понављате.
Send failed Слање није успело
Sender blocked Пошиљалац блокиран
Sensors
Sensors tab: off (restart to apply) Картица сензора: искључено (рестарт за примену)
Sensors tab: on (restart to apply) Картица сензора: укључено (рестарт за примену)
Sent Послато
@@ -749,6 +789,7 @@ Sleep ready Спреман за спавање
Slot %d cleared Слот %d обрисан
Slot empty Слот празан
Small\nMedium\nLarge Мали\nСредњи\nВелики
Snake
Snake — swipe or roll the trackball Snake — превуци или заврти трекбол
Sort Сортирај
Sound Звук
@@ -843,6 +884,7 @@ 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)
Up
Update Ажурирај
Update bin saved to SD Датотека ажурирања сачувана на SD
Update complete.\nRebooting... Ажурирање завршено.\nПоновно покретање...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ Wi-Fi not connected Wi-Fi није повезан
Wi-Fi off Wi-Fi искљ
Wi-Fi on Wi-Fi укљ
Wi-Fi on, scanning… Wi-Fi укључен, тражим…
Wi-Fi paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi сачуван (радио искљ)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi сачуван, поновно повезивање
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
Yesterday Јуче
You can run setup later in Settings → Device Подешавање можете покренути касније у Подешавања → Уређај
Your location is unknown.\nSet GPS / position in\nSettings → Profile first. Локација је непозната.\nПрво поставите GPS / позицију у\nПодешавања → Профил.
@@ -894,6 +941,7 @@ hold the d-pad to unlock држи d-pad за откључавање
hold the trackball to unlock држите куглицу да откључате
kHz kHz
keep holding држите
last wake:
last wake: последње буђење:
leave empty to generate оставите празно за генерисање
lights the keyboard + wakes the screen on an incoming message осветљава тастатуру + буди екран при долазној поруци
+48
View File
@@ -69,6 +69,7 @@ Auto repeater Авто ретранслятор
Auto room Авто кімната
Auto sensor Авто датчик
Auto-Join Автоприєднання
Auto-add
Auto-add contacts Автододавання контактів
Auto-add saved Автододавання збережено
Auto-add settings Налаштування автододавання
@@ -106,9 +107,12 @@ Blue battery Orange temp Cyan humidity Синій — батарея Пома
Bluetooth Bluetooth
Bluetooth already off Bluetooth вже вимк
Bluetooth already on Bluetooth вже увімк
Bluetooth deferred; retry from Settings
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 теж працює.
Bluetooth unavailable; retry from Settings
Bluetooth will start after Wi-Fi connects or times out.
Broker host / IP Хост / IP брокера
Buffered receive (experimental) Буферизований прийом (експериментально)
Built-in Вбудований
@@ -153,6 +157,7 @@ Clear battery history? Очистити історію батареї?
Clear history Очистити історію
Clear telemetry history for this node? Очистити історію телеметрії цього вузла?
Client repeat Повтор клієнта
Clock & time
Clock synced Годинник синхронізовано
Clock: 12-hour Годинник: 12-годинний
Clock: 24-hour Годинник: 24-годинний
@@ -161,6 +166,7 @@ Colourful chat bubbles Кольорові бульбашки чату
Commands Команди
Community Preset Пресет спільноти
Community preset (meshcomod web) Пресет спільноти (meshcomod web)
Compact
Compact messages Компактні повідомлення
Compact messages (IRC style) Компактні повідомлення (стиль IRC)
Connect Підключити
@@ -189,10 +195,17 @@ Control this device from a browser Керуйте пристроєм із бра
Copied %s %s скопійовано
Copied - Paste in a folder Скопійовано - вставте в теку
Copy Копіювати
Copy blocked: SD card holds a different or unreadable profile
Copy blocked: SD profile could not be prepared safely
Copy blocked: internal data is busy
Copy blocked: migration guard unavailable
Copy failed (no internal identity) Помилка копіювання (немає внутрішньої ідентичності)
Copy incomplete: SD data may be mixed. Retry before reboot.
Copy internal data to SD Скопіювати дані на SD
Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?
Copy secret Копіювати секрет
Copying internal data to SD... Копіювання внутрішніх даних на SD...
Copying internal data to SD...\nThis may take a few minutes; keep powered.
Could not add Не вдалося додати
Could not save the crash report Не вдалося зберегти звіт про збій
Couldn't delete Не вдалося видалити
@@ -206,6 +219,7 @@ Create QR Створити QR
Create a private channel Створити приватний канал
Create failed Не вдалося створити
Create private channel Створити приватний канал
Current tile transfer is busy - retry
Custom UTC offset (hours) Власний зсув UTC (години)
Cut Вирізати
Cut - Paste in a folder Вирізано - вставте в теку
@@ -245,6 +259,7 @@ Distance: miles Відстань: милі
Do Not Disturb Не турбувати
Do Not Disturb off «Не турбувати» вимк.
Do Not Disturb on «Не турбувати» увімк.
Down
Download failed Завантаження не вдалося
Download failed (network?) Завантаження не вдалося (мережа?)
Download mode Режим завантаження
@@ -287,6 +302,9 @@ Export settings Експорт налаштувань
Exporting settings… Експорт налаштувань…
External antenna selected Вибрано зовнішню антену
Factory reset Скидання налашт.
Factory reset blocked: SD activity is still running; close tools and retry.
Factory reset blocked: storage is busy
Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.
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)
@@ -322,6 +340,7 @@ GPS: fix GPS: фікс
GPS: off GPS: вимк
GPS: searching GPS: пошук
Game over — score %d (tap to restart) Гру завершено — рахунок %d (торкніться для рестарту)
General
Get Отримати
Get Started Почати
Get test builds (beta) Отримувати тестові збірки (бета)
@@ -336,6 +355,7 @@ 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 Ліміт історії вимкнено
Home
Hotkey saved Гарячу клавішу збережено
How you'll appear to other nodes. You can change this later in Settings. Як вас бачитимуть інші вузли. Можна змінити в Налаштуваннях.
Humidity Вологість
@@ -386,6 +406,7 @@ Keyboard light on Підсвітка клавіатури увімк.
Keyboard nav: WASDZ on Навігація клавіатурою: WASDZ увімк.
Keyboard nav: off Навігація клавіатурою: вимк.
Keyboard navigation Навігація клавіатурою
Keys
LOS → %s Пряма видимість → %s
Landscape (desktop) Альбомна (десктоп)
Landscape set - applies when remote mode starts. Альбомну вибрано - застосується під час запуску віддаленого режиму.
@@ -393,9 +414,11 @@ Language Мова
Language catalog unavailable - check Wi-Fi, then reopen this tab. Каталог мов недоступний - перевірте Wi-Fi і відкрийте вкладку знову.
Language updated - restarting to apply it… Мову оновлено - перезавантаження для застосування…
Languages Мови
Large (bigger icons)
Latitude Широта
Leave empty if not required Залиште порожнім, якщо не потрібно
Leaving remote mode - rebooting... Вихід із віддаленого режиму - перезавантаження...
Left
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)
@@ -455,6 +478,7 @@ Message deleted Повідомлення видалено
Message didn't get through.\nResend it? Повідомлення не дійшло.\nНадіслати знову?
Message info Інформація про повідомлення
Message sound Звук повідомлень
Messages
Min zoom for this pack Мін. зум для цього пакета
Mode: BLE starting / low memory Режим: BLE запускається / мало пам'яті
Model: Модель:
@@ -645,8 +669,12 @@ Resends a message until a repeater echoes it or the recipient ACKs. Turn off to
Reset Скинути
Reset path Скинути маршрут
Restarting to apply the language… Перезавантаження для застосування мови…
Restarting to enable Bluetooth
Resume
Resuming missing files to SD...\nThis may take a few minutes; keep powered.
Retry sends until heard Повторювати надсилання, поки не почують
Reverse scrollball Інвертувати трекбол
Right
Roll to highlight • click to insert Прокрутіть для вибору • натисніть для вставки
Room is read-only for you.\nJoin with the room password to post. Кімната лише для читання.\nУвійдіть з паролем кімнати, щоб писати.
Rotating - reconnecting... Поворот - повторне підключення...
@@ -659,8 +687,14 @@ SD card inserted SD-картку вставлено
SD card lost - reinsert to recover SD-картку втрачено - вставте знову
SD card remounted SD-картку перемонтовано
SD card removed SD-картку вилучено
SD data is unavailable - contacts and channels cannot be saved until the card is reinserted.
SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.
SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.
SD download failed: %s Не вдалося завантажити на SD: %s
SD formatted - %s (MESHCOMOD) SD відформатовано - %s (MESHCOMOD)
SD is busy - close tools and retry
SD removed - card-backed data cannot be saved
SD stayed busy - format cancelled, retry
SF SF
SF / CR / TX / AF SF / CR / TX / AF
SPIFFS %u/%u KB used SPIFFS %u/%u КБ використано
@@ -684,6 +718,7 @@ Saved backups Збережені копії
Saved network Збережена мережа
Saved profiles Збережені профілі
Saved to slot %d Збережено в слот %d
Saved — applying…
Saved — rebooting Збережено — перезавантаження
Saved — reconnecting… Збережено — перепідключення…
Saved: %s\nFlash it from the Launcher. Збережено: %s\nПрошийте з Launcher.
@@ -692,6 +727,7 @@ Saving to SD… 0% Збереження на SD… 0%
Scan to open on phone Відскануйте, щоб відкрити на телефоні
Scanning… Сканування…
Scope direct msgs to region Обмежити особисті повідомлення регіоном
Screen
Screen locked Екран заблоковано
Screen timeout (s, 0 = never) Тайм-аут екрана (с, 0 = ніколи)
Screen timeout (s, 0 = never, min 10) Тайм-аут екрана (с, 0 = ніколи, мін 10)
@@ -702,6 +738,8 @@ Screenshot needs an SD card Для скриншота потрібна SD-кар
Screenshot: low memory Скриншот: мало пам'яті
Screenshot: no SD card Скриншот: немає SD-картки
Screenshot: write failed Скриншот: помилка запису
Scroll down
Scroll up
Scrollball: normal Трекбол: звичайний
Scrollball: reversed Трекбол: інвертований
Search Пошук
@@ -710,6 +748,7 @@ 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
Select a DM thread Виберіть гілку ПП
Select all Вибрати все
Select network Вибрати мережу
@@ -718,6 +757,7 @@ Send advert now Надіслати advert
Send an advert now, or set how often you re-advertise. Надіслати advert зараз або задати частоту повторної відправки.
Send failed Не вдалося надіслати
Sender blocked Відправника заблоковано
Sensors
Sensors tab: off (restart to apply) Вкладка датчиків: вимк (перезавантажте для застосування)
Sensors tab: on (restart to apply) Вкладка датчиків: увімк (перезавантажте для застосування)
Sent Надіслано
@@ -749,6 +789,7 @@ Sleep ready Готовий до сну
Slot %d cleared Слот %d очищено
Slot empty Слот порожній
Small\nMedium\nLarge Малий\nСередній\nВеликий
Snake
Snake — swipe or roll the trackball Snake — проведіть або крутіть трекбол
Sort Сортувати
Sound Звук
@@ -843,6 +884,7 @@ 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)
Up
Update Оновити
Update bin saved to SD Файл оновлення збережено на SD
Update complete.\nRebooting... Оновлення завершено.\nПерезавантаження...
@@ -862,6 +904,7 @@ 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 and Bluetooth unavailable; retry from Settings
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.
@@ -869,8 +912,12 @@ Wi-Fi not connected Wi-Fi не під'єднано
Wi-Fi off Wi-Fi вимк
Wi-Fi on Wi-Fi увімк
Wi-Fi on, scanning… Wi-Fi увімк, пошук…
Wi-Fi paused; Bluetooth disconnect timed out
Wi-Fi saved (radio off) Wi-Fi збережено (радіо вимк)
Wi-Fi saved, applying
Wi-Fi saved, reconnecting Wi-Fi збережено, перепідключення
Wi-Fi unavailable; Bluetooth restored
Wi-Fi unavailable; retry from Settings
Yesterday Вчора
You can run setup later in Settings → Device Налаштування можна запустити пізніше в Налаштування → Пристрій
Your location is unknown.\nSet GPS / position in\nSettings → Profile first. Місцезнаходження невідоме.\nСпочатку задайте GPS / позицію в\nНалаштування → Профіль.
@@ -894,6 +941,7 @@ hold the d-pad to unlock утримуйте d-pad для розблокуван
hold the trackball to unlock утримуйте трекбол для розблокування
kHz kHz
keep holding утримуйте
last wake:
last wake: останнє пробудження:
leave empty to generate залиште порожнім для генерації
lights the keyboard + wakes the screen on an incoming message підсвічує клавіатуру + будить екран при вхідному повідомленні
+7 -7
View File
@@ -183,7 +183,7 @@ lib_deps =
; MeshCore core = the meshcomod monorepo built as a lib, pinned by tag.
; Touch-app files (TouchPrefsStore, WifiRuntimeStore, transports, ...) are
; vendored in this app's src/ and dropped from the lib via -DMC_VENDORED_TOUCH_APP.
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -451,7 +451,7 @@ build_src_filter =
+<../variants/attaky_mesh_series/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -626,7 +626,7 @@ build_src_filter =
+<../variants/lilygo_tdeck/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -847,7 +847,7 @@ build_src_filter =
+<../variants/lilygo_tlora_pager/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -1073,7 +1073,7 @@ build_src_filter =
+<../variants/lilygo_tlora_pager/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -1311,7 +1311,7 @@ build_src_filter =
+<../variants/thinknode_m9/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
@@ -1505,7 +1505,7 @@ build_src_filter =
+<../variants/rak_tap_v2/*.cpp>
lib_deps =
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.0
https://github.com/ALLFATHER-BV/meshcomod.git#core-v1.17.4
SPI
Wire
jgromes/RadioLib @ ^7.6.0
+13
View File
@@ -0,0 +1,13 @@
# beta_61 - fixes two contact-table regressions from the 1.17 rebase
# One user-facing note per non-blank, non-# line; # lines are section comments.
# --- The headline ---------------------------------------------------------------------
Fixes a boot loop introduced by beta_60. A device whose contact list was empty - a fresh install, an erase-and-flash, or a card that had not mounted yet - crashed during startup and rebooted forever. Devices that already had contacts saved were unaffected, which is why it reached release: every board on the bench had a populated contact list. If you are stuck on beta_60, flashing beta_61 over it is enough; nothing needs erasing.
Fixes contacts becoming unreachable on beta_60. MeshCore 1.17 reserved eight slots at the start of the contact table, and our contact list, action sheets and phone-app sync were still counting from the old start, so the eight most recently added contacts could not be shown or acted on. A contact you had just added was invisible, and buttons like a room server's Log in silently did nothing because they resolved to an empty reserved slot. Nothing was ever lost - those contacts were in the table the whole time and reappear on this build. Reported by myshoeisonfire.
Upgrading from beta_60 also cleans up the empty placeholder contacts it wrote into the contacts file; they are dropped on load and gone for good after the next save.
The T-Display P4 receives again. On beta_60 it could send but heard nothing at all - no channel messages, no delivery confirmations, no adverts - while the Monitor app still showed signal. The P4 is the one board whose radio interrupt line is not wired to the processor, so it has to ask the radio over SPI whether a packet arrived; that polling code was never in the repository (it lived only in a generated directory that gets rebuilt), so the 1.17 rebase erased it. It is rewritten and now version-controlled. Reported by D-Melhede.
# --- Also fixed -------------------------------------------------------------------------
A contact that changes its node name no longer leaves two chat threads behind. The thread is matched by key, but its title was never updated, while incoming messages are filed by sender name - so the next message after a rename started a second thread. The thread now follows the rename. Duplicates you already have can be deleted as before. Reported by myshoeisonfire.
Release builds now derive the firmware version, build date and core version from the release itself, and a release aborts if any board's image does not carry its own tag. beta_60 shipped reporting v1.16.0-touch in About because that value was maintained by hand; it now cannot drift.
+15
View File
@@ -0,0 +1,15 @@
# beta_62 - large-UI pass on the Pager (PixPMusic), open-licensed fonts, V4 lockup fix
# One user-facing note per non-blank, non-# line; # lines are section comments.
# --- The headline ---------------------------------------------------------------------
Most of this build is community work: PixPMusic contributed 22 of its 30 changes as PR #198, a pass over the enlarged-UI presets on the T-Lora Pager that also relicenses the bundled fonts.
The large font presets are usable across the whole interface now, not just in chat. Chat rows, the composer and the Pager's line spacing size themselves from the font's real metrics instead of fixed pixel heights, so nothing clips or overlaps at the bigger presets; contact detail menus, the contact share panel, mentions, the overview header and its action buttons and the QR panel all scale with the preset instead of overflowing; the discovered-count badge is centred, the close button and signal poll no longer leave a focus outline behind, and app pages close from the back gesture. There is a new full-width traffic detail chart, Jumbo chat text is properly distinct from Large, and the preset names stay the ones you already know. All by PixPMusic (PR #198).
The bundled fonts are rebuilt from their open-licensed OFL sources. The set we shipped before was generated from a proprietary system font, which was never ours to redistribute - the firmware is GPL, so that had to be corrected regardless of whether anyone noticed. Glyph shapes shift very slightly as a result; nothing else about the text changes. Also PixPMusic, in the same PR.
Accented and non-Latin characters render everywhere again. The rebuilt fonts carry their extended coverage in a fallback chain, and around eighty labels across the interface pinned a base font directly instead of the chained one - so on those, an a-umlaut, a Hungarian long umlaut or a Cyrillic character came out as an empty box while the same text was fine elsewhere. Every label now uses the chained font. Reported by Kaj against the German and Hungarian translations, then by pisti87.
# --- Fixed ------------------------------------------------------------------------------
The Heltec V4 no longer locks up when its contact list is full. Once the table is full, every advert from an unknown node evicts the oldest contact, and the firmware deleted that contact's stored record on the spot, on the receive path. On the V4 that store is internal flash, where a delete can trigger a garbage-collection pass, and such a pass suspends the flash cache and stalls both processor cores - the whole device goes dead, Bluetooth and TCP drop, the screen will not wake, and it comes back on its own a moment later. It got steadily worse the fuller the list was. The delete is now queued and done between packets, no more than one every half second, so a stream of adverts can no longer chain those pauses together. Reported by Yoss101 and pisti87.
Downloading a firmware image to the SD card checks the card's free space first and says so, instead of failing partway through the write with a bare "SD write failed". Reported by Kaj.
# --- Translations -----------------------------------------------------------------------
German, Dutch and Hungarian are complete again: all 48 interface strings that had no translation in any language are now translated in those three, by pisti87. The other ten languages have the strings listed and still fall back to English - contributions welcome, the files are in deploy/apps/lang.
+112
View File
@@ -0,0 +1,112 @@
#!/usr/bin/env python3
"""Audit a .lang file against the TR() keys the firmware actually looks up.
Nothing validated this before: the .lang files are hand-maintained and
i18n_builtin.h is generated FROM them, so a row whose English text no longer
appears in any TR() call is translated for nothing and silently stays that way
(and a TR() key with no row silently renders English). This diffs both ways.
Matching mirrors TR() (src/ui-touch/i18n.cpp) exactly, which is the whole
trick — a naive grep gets this wrong three ways:
* adjacent C literals are concatenated by the compiler ("a" "b" -> "ab"),
* LV_SYMBOL_* icon prefixes are part of the source literal but TR() strips
the glyph and following spaces before looking up,
* non-ASCII is often written as \\x hex escapes, which must be decoded to the
same UTF-8 bytes the .lang file stores literally.
Usage: scripts/build/audit-lang.py [deploy/apps/lang/hu.lang ...]
(no args = every .lang file)
"""
import re, sys, glob, os
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
def c_unescape(s: str) -> str:
"""Decode a C string literal body to the bytes TR() receives, as UTF-8 text."""
out = bytearray(); i = 0
while i < len(s):
if s[i] != '\\':
out += s[i].encode('utf-8'); i += 1; continue
i += 1
if i >= len(s): break
c = s[i]
if c == 'x': # \xNN
j = i + 1
while j < len(s) and j <= i + 2 and s[j] in '0123456789abcdefABCDEF': j += 1
out.append(int(s[i+1:j], 16)); i = j
else:
out += {'n': b'\n', 't': b'\t', 'r': b'\r', '\\': b'\\',
'"': b'"', "'": b"'", '0': b'\0'}.get(c, ('\\' + c).encode())
i += 1
return out.decode('utf-8', 'replace')
def strip_icon(s: str) -> str:
"""TR()'s prefix strip: drop leading 3-byte 0xEE/0xEF glyphs, then spaces."""
b = s.encode('utf-8'); i = 0
while i + 2 < len(b) and b[i] in (0xEE, 0xEF): i += 3
if i:
while i < len(b) and b[i:i+1] == b' ': i += 1
return b[i:].decode('utf-8', 'replace') or s
return s
# --- every TR( ... ) argument in the UI sources, concatenation-aware ----------
LIT = r'"((?:[^"\\]|\\.)*)"'
def tr_keys():
keys = set()
for f in glob.glob(f'{ROOT}/src/**/*.cpp', recursive=True) + \
glob.glob(f'{ROOT}/src/**/*.h', recursive=True):
if 'i18n' in os.path.basename(f): # the generated table + engine itself
continue
src = open(f, encoding='utf-8', errors='ignore').read()
for m in re.finditer(r'TR\(\s*((?:(?:LV_SYMBOL_\w+|' + LIT + r')\s*)+)', src):
parts = re.findall(LIT, m.group(1))
if parts:
keys.add(strip_icon(c_unescape(''.join(parts))).strip())
# Labels reached through a variable — TR(kSettingsCats[c].label), TR(d->name).
# The literals live in the table's initialiser, so resolve the base
# identifier and harvest every string in its definition block. Without
# this the whole tab/category/menu vocabulary looks untranslated.
for ident in set(re.findall(r'TR\(\s*([A-Za-z_]\w*)\s*[\[.\-]', src)):
for tm in re.finditer(re.escape(ident) + r'\s*(?:\[[^\]]*\])?\s*=\s*\{', src):
depth, i = 0, tm.end() - 1
while i < len(src): # walk to the matching brace
if src[i] == '{': depth += 1
elif src[i] == '}':
depth -= 1
if depth == 0: break
i += 1
for lit in re.findall(LIT, src[tm.end():i]):
keys.add(strip_icon(c_unescape(lit)).strip())
return keys
def audit(path, keys):
rows = []
for line in open(path, encoding='utf-8'):
line = line.rstrip('\n')
# A line is a header/comment only when it has NO tab — same rule as the
# loader. Testing for a leading '#' would drop every key that starts with
# LVGL recolor markup ("#7A7F87 Wardrive: …#"), which are real keys.
if '\t' not in line: continue
en, tr = line.split('\t', 1)
rows.append((c_unescape(en), tr))
dead = [en for en, tr in rows if en not in keys]
# Keys with no letters (a lone emoji, a glyph-only button) translate to
# themselves — not worth a row, and not a gap.
missing = sorted(k for k in keys
if k and k not in {en for en, _ in rows} and re.search(r'[A-Za-z]', k))
name = os.path.basename(path)
print(f'\n=== {name} — {len(rows)} rows vs {len(keys)} TR() keys ===')
print(f' translated but NEVER looked up : {len(dead)}')
print(f' looked up but NOT translated : {len(missing)}')
for e in dead: print(' dead ', repr(e)[:110])
for e in missing: print(' missing ', repr(e)[:110])
return len(dead), len(missing)
if __name__ == '__main__':
keys = tr_keys()
files = sys.argv[1:] or sorted(glob.glob(f'{ROOT}/deploy/apps/lang/*.lang'))
worst = 0
for f in files:
d, m = audit(f, keys)
worst = max(worst, d)
print(f'\n{len(keys)} distinct TR() keys in the UI.')
+241
View File
@@ -0,0 +1,241 @@
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "usage: $0 [--check]" >&2
}
mode=write
if [[ ${1:-} == "--check" ]]; then
mode=check
shift
fi
if [[ $# -ne 0 ]]; then
usage
exit 2
fi
repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
work_dir=$(mktemp -d "${TMPDIR:-/tmp}/wadamesh-touch-fonts.XXXXXX")
trap 'rm -rf "$work_dir"' EXIT
download() {
local url=$1
local output=$2
local expected=$3
curl -fsSL --retry 3 "$url" -o "$output"
verify_sha256 "$output" "$expected"
}
verify_sha256() {
local path=$1
local expected=$2
local actual
if command -v shasum >/dev/null 2>&1; then
actual=$(shasum -a 256 "$path" | awk '{print $1}')
else
actual=$(sha256sum "$path" | awk '{print $1}')
fi
if [[ $actual != "$expected" ]]; then
echo "SHA-256 mismatch for $path" >&2
echo "expected: $expected" >&2
echo "actual: $actual" >&2
exit 1
fi
}
montserrat="$work_dir/Montserrat-Medium.ttf"
noto_sans_zip="$work_dir/NotoSans-v2.015.zip"
noto_sans="$work_dir/NotoSans-Regular.ttf"
noto_arabic_zip="$work_dir/NotoSansArabicUI-v2.011.zip"
noto_arabic="$work_dir/NotoSansArabicUI-Regular.ttf"
noto_symbols_zip="$work_dir/NotoSansSymbols2-v2.008.zip"
noto_symbols="$work_dir/NotoSansSymbols2-Regular.ttf"
download \
"https://raw.githubusercontent.com/lvgl/lvgl/v8.4.0/scripts/built_in_font/Montserrat-Medium.ttf" \
"$montserrat" \
"421f26b23e2be6b98373d32acd3cb2897b154d4bf0a77d26534ce476e4cbed53"
download \
"https://github.com/notofonts/latin-greek-cyrillic/releases/download/NotoSans-v2.015/NotoSans-v2.015.zip" \
"$noto_sans_zip" \
"0c34df072a3fa7efbb7cbf34950e1f971a4447cffe365d3a359e2d4089b958f5"
download \
"https://github.com/notofonts/arabic/releases/download/NotoSansArabicUI-v2.011/NotoSansArabicUI-v2.011.zip" \
"$noto_arabic_zip" \
"f775ee259557195721466e99ec0316bbcd897f0429e25955f5d9582ca1202ce7"
download \
"https://github.com/notofonts/symbols/releases/download/NotoSansSymbols2-v2.008/NotoSansSymbols2-v2.008.zip" \
"$noto_symbols_zip" \
"346c930bbe8eb946701a05c54e9c11a2094dee1d93c387bf1771c0a3e335688f"
unzip -p "$noto_sans_zip" \
"NotoSans/hinted/ttf/NotoSans-Regular.ttf" > "$noto_sans"
unzip -p "$noto_arabic_zip" \
"NotoSansArabicUI/hinted/ttf/NotoSansArabicUI-Regular.ttf" > "$noto_arabic"
unzip -p "$noto_symbols_zip" \
"NotoSansSymbols2/hinted/ttf/NotoSansSymbols2-Regular.ttf" > "$noto_symbols"
verify_sha256 "$noto_sans" \
"478c558ea716033cd60c03438f628dfa75694dcf6b5f6d505a2f05fd2b4f3823"
verify_sha256 "$noto_arabic" \
"c56275c744ded6ff6df13de04963e6174632f0405a54a83f44d0fe5395f45ae6"
verify_sha256 "$noto_symbols" \
"c4a0a80f0041ce4be81e2478faad22776d23edb98ae3f0d19bd37044820ecf9d"
font_conv=(npx --yes lv_font_conv@1.5.3)
if [[ $("${font_conv[@]}" --version) != "1.5.3" ]]; then
echo "lv_font_conv 1.5.3 is required" >&2
exit 1
fi
symbols='•·–—‘’“”…→←↑↓°±×÷€£¥§©®™≠≤≥½¼¾℃℉'
stage="$work_dir/stage"
mkdir -p "$stage/src/ui-touch"
normalise() {
local raw=$1
local output=$2
local sources=$3
local guard=${4:-}
awk -v sources="$sources" -v guard="$guard" '
BEGIN {
if (guard != "") {
print "#include \"device_caps.h\""
print "#if defined(" guard ")"
print ""
}
}
/^ \* Opts:/ {
print " * Generated by scripts/build/gen-touch-fonts.sh with lv_font_conv 1.5.3"
print " * Sources: " sources
next
}
/^#ifdef LV_LVGL_H_INCLUDE_SIMPLE$/ {
print "#if 1"
next
}
{ print }
END {
if (guard != "") {
print ""
print "#endif /* " guard " */"
}
}
' "$raw" > "$output"
perl -0pi -e 's/\s+\z/\n/' "$output"
}
generate_extras() {
local size=$1
local guard=${2:-}
local raw="$work_dir/extras_font_${size}.c"
local output="$stage/src/ui-touch/extras_font_${size}.c"
"${font_conv[@]}" \
--size "$size" \
--bpp 4 \
--format lvgl \
--font "$montserrat" \
-r 0x00C0-0x00FF \
-r 0x0100-0x017F \
-r 0x0400-0x04FF \
--font "$noto_sans" \
-r 0x0370-0x03FF \
--symbols "$symbols" \
--font "$noto_arabic" \
-r 0x0600-0x06FF \
-r 0xFE70-0xFEFF \
--lv-font-name "extras_${size}" \
-o "$raw"
normalise "$raw" "$output" \
"Montserrat Medium (LVGL v8.4.0), Noto Sans 2.015, Noto Sans Arabic UI 2.011" \
"$guard"
}
generate_latin_extras() {
local size=$1
local raw="$work_dir/extras_lat_${size}.c"
local output="$stage/src/ui-touch/extras_lat_${size}.c"
"${font_conv[@]}" \
--size "$size" \
--bpp 4 \
--format lvgl \
--font "$montserrat" \
-r 0x00C0-0x00FF \
-r 0x0100-0x017F \
--lv-font-name "extras_lat_${size}" \
-o "$raw"
normalise "$raw" "$output" \
"Montserrat Medium (LVGL v8.4.0)" \
"HAS_TANMATSU"
}
generate_star() {
local size=$1
local raw="$work_dir/star_font_${size}.c"
local output="$stage/src/ui-touch/star_font_${size}.c"
"${font_conv[@]}" \
--size "$size" \
--bpp 4 \
--no-compress \
--format lvgl \
--font "$noto_symbols" \
-r 0x2605 \
--lv-font-name "star_font_${size}" \
-o "$raw"
normalise "$raw" "$output" \
"Noto Sans Symbols 2.008"
}
for size in 12 14 16; do
generate_extras "$size"
done
for size in 20 24; do
generate_extras "$size" "TLORA_PAGER"
done
for size in 20 24 28; do
generate_latin_extras "$size"
done
for size in 14 28; do
generate_star "$size"
done
files=(
src/ui-touch/extras_font_12.c
src/ui-touch/extras_font_14.c
src/ui-touch/extras_font_16.c
src/ui-touch/extras_font_20.c
src/ui-touch/extras_font_24.c
src/ui-touch/extras_lat_20.c
src/ui-touch/extras_lat_24.c
src/ui-touch/extras_lat_28.c
src/ui-touch/star_font_14.c
src/ui-touch/star_font_28.c
)
if [[ $mode == check ]]; then
stale=0
for file in "${files[@]}"; do
if ! cmp -s "$stage/$file" "$repo_root/$file"; then
echo "stale generated font: $file" >&2
stale=1
fi
done
exit "$stale"
fi
for file in "${files[@]}"; do
cp "$stage/$file" "$repo_root/$file"
done
echo "Regenerated ${#files[@]} touch font assets."
+37 -1
View File
@@ -47,7 +47,22 @@ mkdir -p "$ARCH/$TAG" "$FEED"
if [ "$MODE" = "beta" ]; then
# 2b. TEST build: compile both boards (tag + version embedded) into the beta archive + feed.
export PLATFORMIO_BUILD_FLAGS="-DFIRMWARE_RELEASE_TAG='\"${TAG}\"' -DFIRMWARE_VERSION='\"wadamesh ${TAG}\"'"
# Firmware data (About screen + the app's device info) is derived here, never
# hand-maintained: the tag, the core version actually pinned in platformio.ini,
# and today's build date. Every staged binary is verified to carry them below —
# beta_60 shipped with a stale in-tree default and About read "v1.16.0-touch".
CORE_VER="$(grep -oE 'meshcomod\.git#core-v[0-9.]+' platformio.ini | head -1 | sed 's/.*#core-//')"
[ -n "$CORE_VER" ] || { echo "ERROR: no core-v* pin found in platformio.ini"; exit 1; }
# Hyphens, NOT spaces: PLATFORMIO_BUILD_FLAGS is whitespace-split, so a date
# like "10 Aug 2026" tears the flag string apart and every -D after it is lost
# — including the release tag, which is how a build silently ships untagged.
BUILD_DATE="$(date '+%d-%b-%Y')"
echo "firmware data: tag=$TAG core=$CORE_VER date=$BUILD_DATE"
export PLATFORMIO_BUILD_FLAGS="-DFIRMWARE_RELEASE_TAG='\"${TAG}\"' -DFIRMWARE_VERSION='\"wadamesh ${TAG}\"' -DFIRMWARE_BUILD_DATE='\"${BUILD_DATE}\"' -DFIRMWARE_CORE_VERSION='\"${CORE_VER}\"'"
# Keep the in-tree default (what DEV flashes show) in step with the pinned core,
# so a bench build never reports a version the firmware no longer is.
sed -i '' -E "s/^#define FIRMWARE_VERSION \"v[0-9.]+-touch\"/#define FIRMWARE_VERSION \"${CORE_VER}-touch\"/" src/MyMesh.h
git diff --quiet src/MyMesh.h || echo "note: refreshed the dev FIRMWARE_VERSION default in src/MyMesh.h -> ${CORE_VER}-touch (commit it)"
for pair in $ENVS; do
env="${pair%%:*}"; name="${pair##*:}"
"$PIO" run -t mergebin -e "$env"
@@ -89,6 +104,27 @@ print(json.dumps([{"name": b, "type": "dir"} for b in betas], indent=2))
PY
echo "listing ($MODE): $(python3 -c 'import json,sys;print(", ".join(x["name"] for x in json.load(open(sys.argv[1]))))' "$ARCH/index.json")"
# 3a2. FIRMWARE DATA GATE — every staged app image must carry this tag, or the
# release ships binaries whose About screen / update check disagree with the
# release they are published under. Covers the out-of-band IDF boards
# (T-Display P4) too: they are injected into $ARCH/$TAG before this runs, so
# forgetting to rebuild them with WADA_FW_TAG fails here instead of shipping.
missing=""
for f in "$ARCH/$TAG"/*.bin; do
case "$f" in *-merged.bin) continue;; esac # merged images embed the same app
# grep -c, not grep -q: this script runs under `set -o pipefail`, and grep -q
# exits at the first match, which SIGPIPEs `strings` and makes the whole
# pipeline "fail" — reporting every image as untagged even when it is fine.
n="$(strings "$f" | grep -c "$TAG" || true)"
[ "${n:-0}" -gt 0 ] || missing="$missing $(basename "$f")"
done
if [ -n "$missing" ]; then
echo "ERROR: these staged images do not embed $TAG:$missing"
echo " rebuild them with the tag (S3: release.sh does it; P4: WADA_FW_TAG=$TAG ./build.sh build)"
exit 1
fi
echo "firmware data verified: every staged image embeds $TAG"
# 3b. Web-flasher metadata for THIS channel (version.json + manifests -> the channel feed).
python3 "$ROOT/scripts/build/gen-flasher-meta.py" "$TAG" "$FEED" "$ROOT/release-notes/$TAG.txt" "$MODE"
+7
View File
@@ -1,6 +1,7 @@
#include <Arduino.h>
#include <string.h>
#include "DataStore.h"
#include <helpers/AdvertDataHelpers.h> // ADV_TYPE_NONE (blank-record skip in loadContacts)
#if defined(ESP32)
#include <SD.h>
#include "helpers/esp32/WdtHeavyGuard.h" // suspend core-0 idle WDT during the (SPIFFS-GC-prone) contact write
@@ -482,6 +483,12 @@ File file = openRead(_getContactsChannelsFS(), "/contacts3");
if (!success) break; // EOF
// Skip blank records. beta_60 saved the core's reserved anon slots (the
// save walked the raw table, which 1.17 had shifted), so an upgrade from
// it carries up to MAX_ANON_CONTACTS empty entries that would otherwise
// load as real, nameless contacts. The next save drops them for good.
if (c.type == ADV_TYPE_NONE || !c.name[0]) continue;
c.id = mesh::Identity(pub_key);
if (!host->onContactLoaded(c)) full = true;
}
+34 -1
View File
@@ -15,6 +15,7 @@
#endif
#include <helpers/AdvertDataHelpers.h>
#include "helpers/CompanionRetryPolicy.h"
#include "helpers/esp32/WdtHeavyGuard.h" // eviction blob deletes are SPIFFS-GC-prone (#222)
#include <helpers/HttpOtaDisplayState.h>
#include <helpers/RepeaterTcpOtaEmit.h>
#include "WiFiConfig.h"
@@ -2296,8 +2297,39 @@ bool MyMesh::shouldOverwriteWhenFull() const {
return (_prefs.autoadd_config & AUTO_ADD_OVERWRITE_OLDEST) != 0;
}
// Drained from loop(), one blob per tick and never faster than every 500 ms, so a
// burst of evictions (a busy mesh against a full contact table is a steady stream
// of them) cannot chain garbage-collection passes back to back. The guard is the
// same one saveContacts uses: a GC pass here starves the idle task, and without it
// the watchdog turns a stall into a reboot.
void MyMesh::drainPendingBlobDeletes() {
if (_pending_del_n == 0) return;
uint32_t now = millis();
if (_next_pending_del_at != 0 && (int32_t)(now - _next_pending_del_at) < 0) return;
_next_pending_del_at = now + 500;
uint8_t key[PUB_KEY_SIZE];
memcpy(key, _pending_del[0], PUB_KEY_SIZE);
if (--_pending_del_n > 0) {
memmove(_pending_del[0], _pending_del[1], (size_t)_pending_del_n * PUB_KEY_SIZE);
}
WdtHeavyGuard _wdt;
_store->deleteBlobByKey(key, PUB_KEY_SIZE);
}
void MyMesh::onContactOverwrite(const uint8_t* pub_key) {
_store->deleteBlobByKey(pub_key, PUB_KEY_SIZE); // delete from storage
// QUEUE the blob delete, never do it here (#222). This runs from the
// advert-receive path when the contact table is full, and on a Heltec V4 the
// store is internal SPIFFS: an unlink can trigger garbage collection, and
// SPIFFS GC suspends the flash cache, which stalls BOTH cores. The device
// froze solid for the duration — Bluetooth and TCP dropped, the screen would
// not wake — every single time a new contact evicted the oldest, and it got
// worse the fuller the volume (reports at ~350, ~600 and ~2000 contacts).
// Draining from loop() instead keeps it out of packet handling and rate-caps
// it, so a burst of evictions cannot chain GC passes back to back.
if (_pending_del_n < PENDING_DEL_MAX) {
memcpy(_pending_del[_pending_del_n++], pub_key, PUB_KEY_SIZE);
} // queue full: the blob is orphaned, harmless — reclaimed on the next wipe
if (_serial->isConnected()) {
out_frame[0] = PUSH_CODE_CONTACT_DELETED;
memcpy(&out_frame[1], pub_key, PUB_KEY_SIZE);
@@ -5107,6 +5139,7 @@ void MyMesh::checkSerialInterface() {
void MyMesh::loop() {
BaseChatMesh::loop();
companionRetryService();
drainPendingBlobDeletes(); // evicted contacts' blobs, off the packet path (#222)
// Session keep-alives for logged-in servers (rooms). The core pinger sends the
// 9-byte REQ_TYPE_KEEP_ALIVE (+ our sync_since) a room server expects; the ACK
+8 -1
View File
@@ -38,7 +38,7 @@
#endif
#ifndef FIRMWARE_VERSION
#define FIRMWARE_VERSION "v1.17.0-touch"
#define FIRMWARE_VERSION "v1.17.4-touch"
#endif
#if defined(NRF52_PLATFORM) || defined(STM32_PLATFORM)
@@ -263,6 +263,13 @@ protected:
bool shouldOverwriteWhenFull() const override;
void onContactsFull() override;
void onContactOverwrite(const uint8_t* pub_key) override;
// Blob deletes queued by onContactOverwrite and drained from loop() — never
// from packet handling, see #222 (SPIFFS GC stalls both cores).
static const uint8_t PENDING_DEL_MAX = 8;
uint8_t _pending_del[PENDING_DEL_MAX][PUB_KEY_SIZE];
uint8_t _pending_del_n = 0;
uint32_t _next_pending_del_at = 0;
void drainPendingBlobDeletes();
bool onContactPathRecv(ContactInfo& from, uint8_t* in_path, uint8_t in_path_len, uint8_t* out_path, uint8_t out_path_len, uint8_t extra_type, uint8_t* extra, uint8_t extra_len) override;
void onDiscoveredContact(ContactInfo &contact, bool is_new, uint8_t path_len, const uint8_t* path) override;
void onContactPathUpdated(const ContactInfo &contact) override;
+8
View File
@@ -1015,11 +1015,19 @@ bool touchPrefsSetAppGridLarge(bool on) {
uint8_t touchPrefsGetUiScale() {
if (!s_begun) touchPrefsBegin();
#if defined(TLORA_PAGER)
return s_cfg.ui_scale > 3 ? 0 : s_cfg.ui_scale;
#else
return s_cfg.ui_scale > 2 ? 0 : s_cfg.ui_scale;
#endif
}
bool touchPrefsSetUiScale(uint8_t scale) {
if (!s_begun) touchPrefsBegin();
#if defined(TLORA_PAGER)
s_cfg.ui_scale = scale > 3 ? 0 : scale;
#else
s_cfg.ui_scale = scale > 2 ? 0 : scale;
#endif
return cfgFlush();
}
+2 -2
View File
@@ -155,8 +155,8 @@ bool touchPrefsSetAppGridLarge(bool on);
bool touchPrefsGetSleepIdle();
bool touchPrefsSetSleepIdle(bool on);
/* UI-size preset, 0..2. Large-screen boards retain their percentage mapping;
* the T-Pager exposes Small/Medium/Large font presets. Reboot to apply. */
/* UI-size preset. Large-screen boards retain their 0..2 percentage mapping;
* the T-Pager exposes four 0..3 semantic font presets. Reboot to apply. */
uint8_t touchPrefsGetUiScale();
bool touchPrefsSetUiScale(uint8_t scale);
+132
View File
@@ -0,0 +1,132 @@
# Touch UI font assets
The generated `extras_font_*`, `extras_lat_*`, and `star_font_*` C files use
font software from the following projects:
- Montserrat Medium from LVGL v8.4.0
- Copyright 2011 The Montserrat Project Authors
- https://github.com/JulietaUla/Montserrat
- Noto Sans 2.015
- Copyright 2022 The Noto Project Authors
- https://github.com/notofonts/latin-greek-cyrillic
- Noto Sans Arabic UI 2.011
- Copyright 2022 The Noto Project Authors
- https://github.com/notofonts/arabic
- Noto Sans Symbols 2.008
- Copyright 2022 The Noto Project Authors
- https://github.com/notofonts/symbols
The exact source releases, SHA-256 hashes, glyph ranges, converter version,
and output procedure are pinned in `scripts/build/gen-touch-fonts.sh`.
## Regenerating the assets
The generator requires Bash, curl, unzip, Node.js/npx, Perl, and either
`shasum` or `sha256sum`. From the repository root, run:
```sh
scripts/build/gen-touch-fonts.sh
```
To verify that the checked-in C files match a clean regeneration without
changing them, run:
```sh
scripts/build/gen-touch-fonts.sh --check
```
The script downloads the pinned source releases into a temporary directory,
verifies both the archives and extracted font files, invokes the pinned
converter, and replaces all ten generated touch UI font files together.
All four fonts are licensed under the SIL Open Font License, Version 1.1:
---
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply to any
document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may include
source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical writer or
other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font Software,
subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in
Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be included
either as stand-alone text files, human-readable headers or in the
appropriate machine-readable metadata fields within text or binary files as
long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any Modified
Version, except to acknowledge the contribution(s) of the Copyright
Holder(s) and the Author(s) or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be
distributed entirely under this license, and must not be distributed under
any other license. The requirement for fonts to remain under this license
does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not
met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS
IN THE FONT SOFTWARE.
+689 -156
View File
File diff suppressed because it is too large. Load diff
+7402 -5576
View File
File diff suppressed because it is too large. Load diff
+8351 -6675
View File
File diff suppressed because it is too large. Load diff
+8933 -7029
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+2322 -2048
View File
File diff suppressed because it is too large. Load diff
+2912 -2610
View File
File diff suppressed because it is too large. Load diff
+3170 -2773
View File
File diff suppressed because it is too large. Load diff
+142
View File
@@ -108,9 +108,12 @@ static const I18nPair kBuiltin_hu[] = {
{ "Bluetooth", "Bluetooth" },
{ "Bluetooth already off", "Bluetooth már ki van kapcsolva" },
{ "Bluetooth already on", "Bluetooth már be van kapcsolva" },
{ "Bluetooth deferred; retry from Settings", "Bluetooth késleltetve; próbálja újra a Beállításokból" },
{ "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." },
{ "Bluetooth unavailable; retry from Settings", "Bluetooth nem elérhető; próbálja újra a Beállításokból" },
{ "Bluetooth will start after Wi-Fi connects or times out.", "A Bluetooth a Wi-Fi csatlakozása vagy időtúllépés után elindul." },
{ "Broker host / IP", "Broker host / IP" },
{ "Buffered receive (experimental)", "Pufferelt fogadás (kísérleti)" },
{ "Built-in", "Beépített" },
@@ -157,6 +160,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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 & time", "Idő és dátum" },
{ "Clock synced", "Óra szinkronizálva" },
{ "Clock: 12-hour", "Óra: 12 órás" },
{ "Clock: 24-hour", "Óra: 24 órás" },
@@ -165,6 +169,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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", "Kompakt" },
{ "Compact messages", "Kompakt üzenetek" },
{ "Compact messages (IRC style)", "Kompakt üzenetek (IRC stílus)" },
{ "Connect", "Csatlakozás" },
@@ -193,10 +198,16 @@ static const I18nPair kBuiltin_hu[] = {
{ "Copied %s", "%s másolva" },
{ "Copied - Paste in a folder", "Másolt - Beillesztés egy mappába" },
{ "Copy", "Másolás" },
{ "Copy blocked: SD card holds a different or unreadable profile", "Másik vagy nem olvasható profil van az SD-kártyán, ezért a másolás letiltva." },
{ "Copy blocked: SD profile could not be prepared safely", "Biztonsági előkészítés sikertelen, ezért a másolás letiltva." },
{ "Copy blocked: internal data is busy", "Másolás letiltva: a belső adatok használatban vannak." },
{ "Copy failed (no internal identity)", "Másolás sikertelen (nincs belső identitás)" },
{ "Copy incomplete: SD data may be mixed. Retry before reboot.", "Másolás nem teljes: az SD-kártyán lévő adatok keveredhetnek. Indítsd újra a másolást a készülék újraindítása előtt." },
{ "Copy internal data to SD", "Belső adatok másolása SD-re" },
{ "Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?", "Csak a hiányzó belső fájlokat másolja egy megfelelő SD-profilba,\ntartsa meg a meglévő SD-adatokat, majd indítsa újra?" },
{ "Copy secret", "Secret másolása" },
{ "Copying internal data to SD...", "Belső adatok másolása SD-kártyára..." },
{ "Copying internal data to SD...\nThis may take a few minutes; keep powered.", "Belső adatok másolása az SD-kártyára…\nEz eltarthat néhány percig; tartsd bekapcsolva a készüléket." },
{ "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" },
@@ -210,6 +221,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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" },
{ "Current tile transfer is busy - retry", "Az aktuális csempeátvitel folyamatban van – próbáld újra később." },
{ "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" },
@@ -251,6 +263,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Do Not Disturb", "Ne zavarj" },
{ "Do Not Disturb off", "Ne zavarj kikapcsolva" },
{ "Do Not Disturb on", "Ne zavarj bekapcsolva" },
{ "Down", "Le" },
{ "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" },
@@ -294,6 +307,9 @@ static const I18nPair kBuiltin_hu[] = {
{ "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 blocked: SD activity is still running; close tools and retry.", "Gyári visszaállítás letiltva: az SD-kártya művelete még folyamatban van. Zárd be az eszközöket, majd próbáld újra." },
{ "Factory reset blocked: storage is busy", "Gyári visszaállítás letiltva: a tárhely használatban van." },
{ "Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.", "Gyári visszaállítás nem teljes: az SD-kártya adatai részben már törlődhettek. Próbáld újra a befejezéshez, vagy távolítsd el a kártyát a belső adatok visszaállítása előtt." },
{ "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)" },
@@ -329,6 +345,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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)" },
{ "General", "Általános" },
{ "Get", "Letölt" },
{ "Get Started", "Kezdés" },
{ "Get test builds (beta)", "Tesztverziók beszerzése (béta)" },
@@ -343,6 +360,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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" },
{ "Home", "Kezdőlap" },
{ "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" },
@@ -393,6 +411,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Keyboard nav: WASDZ on", "Billentyűzet navigáció: WASDZ bekapcsolva" },
{ "Keyboard nav: off", "Billentyűzetnavigáció: kikapcsolva" },
{ "Keyboard navigation", "Billentyűzetnavigáció" },
{ "Keys", "Kulcsok" },
{ "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." },
@@ -400,9 +419,11 @@ static const I18nPair kBuiltin_hu[] = {
{ "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" },
{ "Large (bigger icons)", "Nagy (nagyobb ikonok)" },
{ "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..." },
{ "Left", "Balra" },
{ "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)" },
@@ -463,6 +484,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Message didn't get through.\nResend it?", "Az üzenet nem érkezett meg.\nÚjraküldi?" },
{ "Message info", "Üzenet adatai" },
{ "Message sound", "Üzenet hangja" },
{ "Messages", "Üzenetek" },
{ "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" },
@@ -656,8 +678,12 @@ static const I18nPair kBuiltin_hu[] = {
{ "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…" },
{ "Restarting to enable Bluetooth", "Újraindítás a Bluetooth engedélyezéséhez" },
{ "Resume", "Folytatás" },
{ "Resuming missing files to SD...\nThis may take a few minutes; keep powered.", "Hiányzó fájlok folytatása az SD-kártyára…\nEz eltarthat néhány percig; tartsd bekapcsolva a készüléket." },
{ "Retry sends until heard", "Újraküldés, míg meg nem hallják" },
{ "Reverse scrollball", "Fordított görgetőgolyó" },
{ "Right", "Jobbra" },
{ "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..." },
@@ -670,8 +696,14 @@ static const I18nPair kBuiltin_hu[] = {
{ "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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.", "Az SD-kártya adatai nem érhetők el – a névjegyek és a csatornák nem menthetők a kártya újbóli behelyezéséig." },
{ "SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.", "Az SD-kártya adatai nem érhetők el – az azonosító, a beállítások, a névjegyek és a csatornák nem menthetők a kártya újbóli behelyezéséig." },
{ "SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.", "Az SD-kártya adatainak áthelyezése nem teljes. Az azonosító és a beállítások továbbra is a belső tárhelyen vannak; a folytatáshoz használd a „Belső adatok másolása SD-kártyára” lehetőséget." },
{ "SD download failed: %s", "SD-letöltés sikertelen: %s" },
{ "SD formatted - %s (MESHCOMOD)", "SD formázás - %s (MESHCOMOD)" },
{ "SD is busy - close tools and retry", "Az SD-kártya foglalt – zárd be az eszközöket, majd próbáld újra." },
{ "SD removed - card-backed data cannot be saved", "SD-kártya eltávolítva – az SD-kártyán tárolt adatok nem menthetők." },
{ "SD stayed busy - format cancelled, retry", "Az SD-kártya továbbra is foglalt – a formázás megszakítva, próbáld újra." },
{ "SF", "SF" },
{ "SF / CR / TX / AF", "SF / CR / TX / AF" },
{ "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB felhasználva" },
@@ -697,6 +729,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Saved networks", "Mentett hálózatok" },
{ "Saved profiles", "Profil mentve" },
{ "Saved to slot %d", "Mentve a(z) %d helyre" },
{ "Saved — applying…", "Mentve — alkalmazás folyamatban…" },
{ "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." },
@@ -707,6 +740,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Scan to open on phone", "Olvasd be a telefonos megnyitáshoz" },
{ "Scanning…", "Keresés…" },
{ "Scope direct msgs to region", "Közvetlen üzenet a régiónak" },
{ "Screen", "Kijelző" },
{ "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)" },
@@ -717,6 +751,8 @@ static const I18nPair kBuiltin_hu[] = {
{ "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" },
{ "Scroll down", "Görgetés le" },
{ "Scroll up", "Görgetés fel" },
{ "Scrollball: normal", "Scrollball: normális" },
{ "Scrollball: reversed", "Scrollbar: megfordítva" },
{ "Search", "Keresés" },
@@ -725,6 +761,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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", "Kiválasztás" },
{ "Select a DM thread", "Válassz egy DM-szálat" },
{ "Select all", "Összes kijelölése" },
{ "Select network", "Hálózat kiválasztása" },
@@ -733,6 +770,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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", "Szenzorok" },
{ "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" },
@@ -766,6 +804,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "Slot %d cleared", "%d hely kiürítve" },
{ "Slot empty", "Üres hely" },
{ "Small\nMedium\nLarge", "Kicsi\nKözepes\nNagy" },
{ "Snake", "Snake" },
{ "Snake — swipe or roll the trackball", "Kígyó – pöccintsd vagy görgesd a görgetőgolyót" },
{ "Sort", "Sort" },
{ "Sound", "Hang" },
@@ -864,6 +903,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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)" },
{ "Up", "Fel" },
{ "Up to date", "Naprakész" },
{ "Update", "Frissít" },
{ "Update bin saved to SD", "A frissítési láda SD-kártyára mentve" },
@@ -884,6 +924,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "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 and Bluetooth unavailable; retry from Settings", "A Wi-Fi és a Bluetooth nem érhető el; próbáld újra a Beállításokban." },
{ "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." },
@@ -891,8 +932,12 @@ static const I18nPair kBuiltin_hu[] = {
{ "Wi-Fi off", "WiFi kikapcsolva" },
{ "Wi-Fi on", "WiFi bekapcsolva" },
{ "Wi-Fi on, scanning…", "Wi-Fi bekapcsolva, szkennelés…" },
{ "Wi-Fi paused; Bluetooth disconnect timed out", "Wi-Fi szüneteltetve; a Bluetooth bontása időtúllépés miatt meghiúsult." },
{ "Wi-Fi saved (radio off)", "Wi-Fi mentve (rádió kikapcsolva)" },
{ "Wi-Fi saved, applying", "Wi-Fi mentve, alkalmazás folyamatban." },
{ "Wi-Fi saved, reconnecting", "Wi-Fi mentve, újracsatlakozás" },
{ "Wi-Fi unavailable; Bluetooth restored", "Wi-Fi nem érhető el; a Bluetooth helyreállítva." },
{ "Wi-Fi unavailable; retry from Settings", "Wi-Fi nem érhető el; próbáld újra a Beállításokban." },
{ "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." },
@@ -916,6 +961,7 @@ static const I18nPair kBuiltin_hu[] = {
{ "hold the trackball to unlock", "tartsa lenyomva a trackballt a feloldáshoz" },
{ "kHz", "kHz" },
{ "keep holding", "tartsd ki" },
{ "last wake:", "utolsó ébresztés:" },
{ "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" },
@@ -1011,6 +1057,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Auto room", "Auto room" },
{ "Auto sensor", "Auto sensor" },
{ "Auto-Join", "Auto-deelnemen" },
{ "Auto-add", "Auto toevoegen" },
{ "Auto-add contacts", "Contacten automatisch toevoegen" },
{ "Auto-add saved", "Auto-toevoegen opgeslagen" },
{ "Auto-add settings", "Auto-toevoegen instellingen" },
@@ -1048,9 +1095,12 @@ static const I18nPair kBuiltin_nl[] = {
{ "Bluetooth", "Bluetooth" },
{ "Bluetooth already off", "Bluetooth al uit" },
{ "Bluetooth already on", "Bluetooth al aan" },
{ "Bluetooth deferred; retry from Settings", "Bluetooth uitgesteld; opnieuw proberen via Instellingen" },
{ "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." },
{ "Bluetooth unavailable; retry from Settings", "Bluetooth niet beschikbaar; opnieuw proberen via Instellingen" },
{ "Bluetooth will start after Wi-Fi connects or times out.", "Bluetooth start na verbinding met Wi-Fi of na time-out." },
{ "Broker host / IP", "Broker-host / IP" },
{ "Buffered receive (experimental)", "Gebufferde ontvangst (experimenteel)" },
{ "Built-in", "Ingebouwd" },
@@ -1095,6 +1145,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Clear history", "Geschiedenis wissen" },
{ "Clear telemetry history for this node?", "Telemetriegeschiedenis van deze node wissen?" },
{ "Client repeat", "Client herhaling" },
{ "Clock & time", "Klok & tijd" },
{ "Clock synced", "Klok gesynchroniseerd" },
{ "Clock: 12-hour", "Klok: 12-uurs" },
{ "Clock: 24-hour", "Klok: 24-uurs" },
@@ -1103,6 +1154,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Commands", "Opdrachten" },
{ "Community Preset", "Community-preset" },
{ "Community preset (meshcomod web)", "Community-preset (meshcomod web)" },
{ "Compact", "Compact" },
{ "Compact messages", "Compacte berichten" },
{ "Compact messages (IRC style)", "Compacte berichten (IRC-stijl)" },
{ "Connect", "Verbinden" },
@@ -1131,10 +1183,17 @@ static const I18nPair kBuiltin_nl[] = {
{ "Copied %s", "%s gekopieerd" },
{ "Copied - Paste in a folder", "Gekopieerd - plak in een map" },
{ "Copy", "Kopiëren" },
{ "Copy blocked: SD card holds a different or unreadable profile", "Kopiëren geblokkeerd: SD-kaart heeft een ander of onleesbaar profiel" },
{ "Copy blocked: SD profile could not be prepared safely", "Kopiëren geblokkeerd: SD-profiel kon niet veilig worden voorbereid" },
{ "Copy blocked: internal data is busy", "Kopiëren geblokkeerd: interne data is bezig" },
{ "Copy blocked: migration guard unavailable", "Kopiëren geblokkeerd: migratiebeveiliging niet beschikbaar" },
{ "Copy failed (no internal identity)", "Kopiëren mislukt (geen interne identiteit)" },
{ "Copy incomplete: SD data may be mixed. Retry before reboot.", "Kopiëren onvolledig: SD-data kan gemengd zijn. Opnieuw proberen vóór herstart." },
{ "Copy internal data to SD", "Interne data naar SD kopiëren" },
{ "Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?", "Alleen ontbrekende interne bestanden naar een passend SD-profiel kopiëren,\nbestaande SD-data behouden en daarna herstarten?" },
{ "Copy secret", "Geheim kopiëren" },
{ "Copying internal data to SD...", "Interne data naar SD kopiëren..." },
{ "Copying internal data to SD...\nThis may take a few minutes; keep powered.", "Interne data wordt naar SD gekopieerd...\nDit kan enkele minuten duren; apparaat ingeschakeld laten" },
{ "Could not add", "Toevoegen mislukt" },
{ "Could not save the crash report", "Kon het crashrapport niet opslaan" },
{ "Couldn't delete", "Verwijderen mislukt" },
@@ -1148,6 +1207,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Create a private channel", "Privékanaal aanmaken" },
{ "Create failed", "Aanmaken mislukt" },
{ "Create private channel", "Privékanaal aanmaken" },
{ "Current tile transfer is busy - retry", "Huidige tegeloverdracht is bezig - opnieuw proberen" },
{ "Custom UTC offset (hours)", "Aangepaste UTC-offset (uren)" },
{ "Cut", "Knippen" },
{ "Cut - Paste in a folder", "Geknipt - plak in een map" },
@@ -1187,6 +1247,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Do Not Disturb", "Niet storen" },
{ "Do Not Disturb off", "Niet storen uit" },
{ "Do Not Disturb on", "Niet storen aan" },
{ "Down", "Omlaag" },
{ "Download failed", "Download mislukt" },
{ "Download failed (network?)", "Download mislukt (netwerk?)" },
{ "Download mode", "Downloadmodus" },
@@ -1229,6 +1290,9 @@ static const I18nPair kBuiltin_nl[] = {
{ "Exporting settings…", "Instellingen exporteren…" },
{ "External antenna selected", "Externe antenne geselecteerd" },
{ "Factory reset", "Fabrieksreset" },
{ "Factory reset blocked: SD activity is still running; close tools and retry.", "Fabrieksreset geblokkeerd: SD-activiteit loopt nog; sluit tools en probeer opnieuw." },
{ "Factory reset blocked: storage is busy", "Fabrieksreset geblokkeerd: opslag is bezig" },
{ "Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.", "Fabrieksreset onvolledig: SD-data kan al deels gewist zijn. Opnieuw proberen om te voltooien, of kaart verwijderen voordat interne data wordt gereset." },
{ "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)" },
@@ -1264,6 +1328,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "GPS: off", "GPS: uit" },
{ "GPS: searching", "GPS: zoeken" },
{ "Game over — score %d (tap to restart)", "Game over — score %d (tik om te herstarten)" },
{ "General", "Algemeen" },
{ "Get", "Ophalen" },
{ "Get Started", "Aan de slag" },
{ "Get test builds (beta)", "Testversies ontvangen (bèta)" },
@@ -1278,6 +1343,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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" },
{ "Home", "Start" },
{ "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" },
@@ -1328,6 +1394,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Keyboard nav: WASDZ on", "Toetsenbordnav.: WASDZ aan" },
{ "Keyboard nav: off", "Toetsenbordnav.: uit" },
{ "Keyboard navigation", "Toetsenbordnavigatie" },
{ "Keys", "Toetsen" },
{ "LOS → %s", "Zichtlijn → %s" },
{ "Landscape (desktop)", "Liggend (desktop)" },
{ "Landscape set - applies when remote mode starts.", "Liggend ingesteld - geldt zodra de externe modus start." },
@@ -1335,9 +1402,11 @@ static const I18nPair kBuiltin_nl[] = {
{ "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" },
{ "Large (bigger icons)", "Groot (grotere pictogrammen)" },
{ "Latitude", "Breedtegraad" },
{ "Leave empty if not required", "Leeg laten indien niet vereist" },
{ "Leaving remote mode - rebooting...", "Externe modus verlaten - herstarten..." },
{ "Left", "Links" },
{ "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)" },
@@ -1397,6 +1466,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Message didn't get through.\nResend it?", "Bericht is niet aangekomen.\nOpnieuw versturen?" },
{ "Message info", "Berichtinfo" },
{ "Message sound", "Berichtgeluid" },
{ "Messages", "Berichten" },
{ "Min zoom for this pack", "Min zoom voor dit pakket" },
{ "Mode: BLE starting / low memory", "Modus: BLE start / weinig geheugen" },
{ "Model:", "Model:" },
@@ -1587,8 +1657,12 @@ static const I18nPair kBuiltin_nl[] = {
{ "Reset", "Herstellen" },
{ "Reset path", "Pad resetten" },
{ "Restarting to apply the language…", "Opnieuw opstarten om de taal toe te passen…" },
{ "Restarting to enable Bluetooth", "Herstarten om Bluetooth te activeren" },
{ "Resume", "Hervatten" },
{ "Resuming missing files to SD...\nThis may take a few minutes; keep powered.", "Ontbrekende bestanden worden naar SD hervat...\nDit kan enkele minuten duren; apparaat ingeschakeld laten." },
{ "Retry sends until heard", "Opnieuw verzenden tot gehoord" },
{ "Reverse scrollball", "Scrollball omkeren" },
{ "Right", "Rechts" },
{ "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..." },
@@ -1601,8 +1675,14 @@ static const I18nPair kBuiltin_nl[] = {
{ "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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.", "SD-data niet beschikbaar - contacten en kanalen kunnen pas na opnieuw plaatsen van de kaart worden opgeslagen." },
{ "SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.", "SD-data niet beschikbaar - identiteit, instellingen, contacten en kanalen kunnen pas na opnieuw plaatsen van de kaart worden opgeslagen." },
{ "SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.", "SD-datamigratie onvolledig. Identiteit en instellingen blijven intern; gebruik Interne data naar SD kopiëren om opnieuw te proberen." },
{ "SD download failed: %s", "SD-download mislukt: %s" },
{ "SD formatted - %s (MESHCOMOD)", "SD geformatteerd - %s (MESHCOMOD)" },
{ "SD is busy - close tools and retry", "SD is bezig - sluit tools en probeer opnieuw" },
{ "SD removed - card-backed data cannot be saved", "SD verwijderd - kaartgegevens kunnen niet worden opgeslagen" },
{ "SD stayed busy - format cancelled, retry", "SD bleef bezig - formatteren geannuleerd, opnieuw proberen" },
{ "SF", "SF" },
{ "SF / CR / TX / AF", "SF / CR / TX / AF" },
{ "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB gebruikt" },
@@ -1626,6 +1706,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Saved network", "Opgeslagen netwerk" },
{ "Saved profiles", "Opgeslagen profielen" },
{ "Saved to slot %d", "Opgeslagen in slot %d" },
{ "Saved — applying…", "Opgeslagen — wordt toegepast…" },
{ "Saved — rebooting", "Opgeslagen — opnieuw opstarten" },
{ "Saved — reconnecting…", "Opgeslagen — opnieuw verbinden…" },
{ "Saved: %s\nFlash it from the Launcher.", "Opgeslagen: %s\nFlash het vanuit de Launcher." },
@@ -1634,6 +1715,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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", "Scherm" },
{ "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)" },
@@ -1644,6 +1726,8 @@ static const I18nPair kBuiltin_nl[] = {
{ "Screenshot: low memory", "Schermafbeelding: weinig geheugen" },
{ "Screenshot: no SD card", "Schermafbeelding: geen SD-kaart" },
{ "Screenshot: write failed", "Schermafbeelding: schrijven mislukt" },
{ "Scroll down", "Omlaag scrollen" },
{ "Scroll up", "Omhoog scrollen" },
{ "Scrollball: normal", "Scrollball: normaal" },
{ "Scrollball: reversed", "Scrollball: omgekeerd" },
{ "Search", "Zoeken" },
@@ -1652,6 +1736,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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", "Selecteren" },
{ "Select a DM thread", "Kies een DM-gesprek" },
{ "Select all", "Alles selecteren" },
{ "Select network", "Netwerk kiezen" },
@@ -1660,6 +1745,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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", "Sensoren" },
{ "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" },
@@ -1691,6 +1777,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "Slot %d cleared", "Slot %d gewist" },
{ "Slot empty", "Slot leeg" },
{ "Small\nMedium\nLarge", "Klein\nMiddel\nGroot" },
{ "Snake", "Snake" },
{ "Snake — swipe or roll the trackball", "Snake — veeg of rol de trackball" },
{ "Sort", "Sorteer" },
{ "Sound", "Geluid" },
@@ -1785,6 +1872,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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)" },
{ "Up", "Omhoog" },
{ "Update", "Bijwerken" },
{ "Update bin saved to SD", "Update-bin opgeslagen op SD" },
{ "Update complete.\nRebooting...", "Update voltooid.\nOpnieuw opstarten..." },
@@ -1804,6 +1892,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "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 and Bluetooth unavailable; retry from Settings", "Wi-Fi en Bluetooth niet beschikbaar; opnieuw proberen via Instellingen" },
{ "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." },
@@ -1811,8 +1900,12 @@ static const I18nPair kBuiltin_nl[] = {
{ "Wi-Fi off", "Wi-Fi uit" },
{ "Wi-Fi on", "Wi-Fi aan" },
{ "Wi-Fi on, scanning…", "Wi-Fi aan, scannen…" },
{ "Wi-Fi paused; Bluetooth disconnect timed out", "Wi-Fi gepauzeerd; Bluetooth-verbinding verbreken mislukt door time-out" },
{ "Wi-Fi saved (radio off)", "Wi-Fi opgeslagen (radio uit)" },
{ "Wi-Fi saved, applying", "Wi-Fi opgeslagen, wordt toegepast" },
{ "Wi-Fi saved, reconnecting", "Wi-Fi opgeslagen, opnieuw verbinden" },
{ "Wi-Fi unavailable; Bluetooth restored", "Wi-Fi niet beschikbaar; Bluetooth hersteld" },
{ "Wi-Fi unavailable; retry from Settings", "Wi-Fi niet beschikbaar; opnieuw proberen via Instellingen" },
{ "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." },
@@ -1836,6 +1929,7 @@ static const I18nPair kBuiltin_nl[] = {
{ "hold the trackball to unlock", "houd de trackball vast om te ontgrendelen" },
{ "kHz", "kHz" },
{ "keep holding", "blijf vasthouden" },
{ "last wake:", "laatste ontwaken:" },
{ "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" },
@@ -1931,6 +2025,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Auto room", "Auto-Raum" },
{ "Auto sensor", "Auto-Sensor" },
{ "Auto-Join", "Auto-Beitritt" },
{ "Auto-add", "Auto hinzufügen" },
{ "Auto-add contacts", "Kontakte automatisch hinzufügen" },
{ "Auto-add saved", "Auto-Hinzufügen gespeichert" },
{ "Auto-add settings", "Auto-Hinzufügen-Einstellungen" },
@@ -1968,9 +2063,12 @@ static const I18nPair kBuiltin_de[] = {
{ "Bluetooth", "Bluetooth" },
{ "Bluetooth already off", "Bluetooth bereits aus" },
{ "Bluetooth already on", "Bluetooth bereits ein" },
{ "Bluetooth deferred; retry from Settings", "Bluetooth zurückgestellt; erneut über Einstellungen versuchen" },
{ "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." },
{ "Bluetooth unavailable; retry from Settings", "Bluetooth nicht verfügbar; erneut über Einstellungen versuchen" },
{ "Bluetooth will start after Wi-Fi connects or times out.", "Bluetooth startet nach WLAN-Verbindung oder Timeout." },
{ "Broker host / IP", "Broker-Host / IP" },
{ "Buffered receive (experimental)", "Gepufferter Empfang (experimentell)" },
{ "Built-in", "Integriert" },
@@ -2015,6 +2113,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Clear history", "Verlauf löschen" },
{ "Clear telemetry history for this node?", "Telemetrieverlauf dieses Nodes löschen?" },
{ "Client repeat", "Client-Wiederholung" },
{ "Clock & time", "Uhrzeit & Datum" },
{ "Clock synced", "Uhr synchronisiert" },
{ "Clock: 12-hour", "Uhr: 12-Stunden" },
{ "Clock: 24-hour", "Uhr: 24-Stunden" },
@@ -2023,6 +2122,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Commands", "Befehle" },
{ "Community Preset", "Community-Voreinstellung" },
{ "Community preset (meshcomod web)", "Community-Vorgabe (meshcomod web)" },
{ "Compact", "Kompakt" },
{ "Compact messages", "Kompakte Nachrichten" },
{ "Compact messages (IRC style)", "Kompakte Nachrichten (IRC-Stil)" },
{ "Connect", "Verbinden" },
@@ -2051,10 +2151,17 @@ static const I18nPair kBuiltin_de[] = {
{ "Copied %s", "%s kopiert" },
{ "Copied - Paste in a folder", "Kopiert - in einen Ordner einfügen" },
{ "Copy", "Kopieren" },
{ "Copy blocked: SD card holds a different or unreadable profile", "Kopieren blockiert: Die SD-Karte enthält ein anderes oder nicht lesbares Profil" },
{ "Copy blocked: SD profile could not be prepared safely", "Kopieren blockiert: SD-Profil konnte nicht sicher vorbereitet werden" },
{ "Copy blocked: internal data is busy", "Kopieren blockiert: Interne Daten sind beschäftigt" },
{ "Copy blocked: migration guard unavailable", "Kopieren blockiert: Migrationsschutz nicht verfügbar" },
{ "Copy failed (no internal identity)", "Kopieren fehlgeschlagen (keine interne Identität)" },
{ "Copy incomplete: SD data may be mixed. Retry before reboot.", "Kopieren unvollständig: SD-Daten können gemischt sein. Vor Neustart erneut versuchen." },
{ "Copy internal data to SD", "Interne Daten auf SD kopieren" },
{ "Copy only missing internal files to a matching SD profile,\nkeep existing SD data, then reboot?", "Nur fehlende interne Dateien auf ein passendes SD-Profil kopieren,\nbestehende SD-Daten behalten und dann neu starten?" },
{ "Copy secret", "Geheimnis kopieren" },
{ "Copying internal data to SD...", "Interne Daten werden auf SD kopiert..." },
{ "Copying internal data to SD...\nThis may take a few minutes; keep powered.", "Interne Daten werden auf die SD-Karte kopiert...\nDies kann einige Minuten dauern; Gerät eingeschaltet lassen." },
{ "Could not add", "Hinzufügen fehlgeschlagen" },
{ "Could not save the crash report", "Absturzbericht konnte nicht gespeichert werden" },
{ "Couldn't delete", "Löschen fehlgeschlagen" },
@@ -2068,6 +2175,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Create a private channel", "Privaten Kanal erstellen" },
{ "Create failed", "Erstellen fehlgeschlagen" },
{ "Create private channel", "Privaten Kanal erstellen" },
{ "Current tile transfer is busy - retry", "Aktuelle Kachelübertragung läuft – erneut versuchen" },
{ "Custom UTC offset (hours)", "Eigener UTC-Versatz (Stunden)" },
{ "Cut", "Ausschneiden" },
{ "Cut - Paste in a folder", "Ausgeschnitten - in einen Ordner einfügen" },
@@ -2107,6 +2215,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Do Not Disturb", "Nicht stören" },
{ "Do Not Disturb off", "Nicht stören aus" },
{ "Do Not Disturb on", "Nicht stören ein" },
{ "Down", "Nach unten" },
{ "Download failed", "Download fehlgeschlagen" },
{ "Download failed (network?)", "Download fehlgeschlagen (Netzwerk?)" },
{ "Download mode", "Download-Modus" },
@@ -2149,6 +2258,9 @@ static const I18nPair kBuiltin_de[] = {
{ "Exporting settings…", "Einstellungen werden exportiert…" },
{ "External antenna selected", "Externe Antenne gewählt" },
{ "Factory reset", "Werksreset" },
{ "Factory reset blocked: SD activity is still running; close tools and retry.", "Zurücksetzen blockiert: SD-Aktivität läuft noch; Tools schließen und erneut versuchen." },
{ "Factory reset blocked: storage is busy", "Zurücksetzen blockiert: Speicher ist belegt" },
{ "Factory reset incomplete: SD data may already be partially erased. Retry to finish, or remove the card before resetting internal data.", "Zurücksetzen unvollständig: SD-Daten wurden möglicherweise teilweise gelöscht. Erneut versuchen oder Karte vor dem Zurücksetzen der internen Daten entfernen." },
{ "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)" },
@@ -2184,6 +2296,7 @@ static const I18nPair kBuiltin_de[] = {
{ "GPS: off", "GPS: aus" },
{ "GPS: searching", "GPS: Suche" },
{ "Game over — score %d (tap to restart)", "Game over — Punkte %d (tippen für Neustart)" },
{ "General", "Allgemein" },
{ "Get", "Laden" },
{ "Get Started", "Loslegen" },
{ "Get test builds (beta)", "Test-Builds erhalten (Beta)" },
@@ -2198,6 +2311,7 @@ static const I18nPair kBuiltin_de[] = {
{ "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" },
{ "Home", "Startseite" },
{ "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" },
@@ -2248,6 +2362,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Keyboard nav: WASDZ on", "Tastaturnav.: WASDZ an" },
{ "Keyboard nav: off", "Tastaturnav.: aus" },
{ "Keyboard navigation", "Tastaturnavigation" },
{ "Keys", "Tasten" },
{ "LOS → %s", "Sichtlinie → %s" },
{ "Landscape (desktop)", "Querformat (Desktop)" },
{ "Landscape set - applies when remote mode starts.", "Querformat gesetzt - gilt beim Start des Fernmodus." },
@@ -2255,9 +2370,11 @@ static const I18nPair kBuiltin_de[] = {
{ "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" },
{ "Large (bigger icons)", "Groß (größere Symbole)" },
{ "Latitude", "Breitengrad" },
{ "Leave empty if not required", "Leer lassen, wenn nicht nötig" },
{ "Leaving remote mode - rebooting...", "Fernmodus wird beendet - Neustart..." },
{ "Left", "Links" },
{ "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)" },
@@ -2317,6 +2434,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Message didn't get through.\nResend it?", "Nachricht kam nicht an.\nErneut senden?" },
{ "Message info", "Nachrichteninfo" },
{ "Message sound", "Nachrichtenton" },
{ "Messages", "Nachrichten" },
{ "Min zoom for this pack", "Min. Zoom für dieses Paket" },
{ "Mode: BLE starting / low memory", "Modus: BLE startet / wenig Speicher" },
{ "Model:", "Modell:" },
@@ -2507,8 +2625,12 @@ static const I18nPair kBuiltin_de[] = {
{ "Reset", "Zurücksetzen" },
{ "Reset path", "Pfad zurücksetzen" },
{ "Restarting to apply the language…", "Neustart, um die Sprache anzuwenden…" },
{ "Restarting to enable Bluetooth", "Neustart zum Aktivieren von Bluetooth" },
{ "Resume", "Fortsetzen" },
{ "Resuming missing files to SD...\nThis may take a few minutes; keep powered.", "Fehlende Dateien werden auf die SD-Karte kopiert...\nDies kann einige Minuten dauern; Gerät eingeschaltet lassen." },
{ "Retry sends until heard", "Erneut senden, bis gehört" },
{ "Reverse scrollball", "Scrollball umkehren" },
{ "Right", "Rechts" },
{ "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..." },
@@ -2521,8 +2643,14 @@ static const I18nPair kBuiltin_de[] = {
{ "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 data is unavailable - contacts and channels cannot be saved until the card is reinserted.", "SD-Daten nicht verfügbar – Kontakte und Kanäle können erst nach Einsetzen der Karte gespeichert werden." },
{ "SD data is unavailable - identity, settings, contacts and channels cannot be saved until the card is reinserted.", "SD-Daten nicht verfügbar – Identität, Einstellungen, Kontakte und Kanäle können erst nach Einsetzen der Karte gespeichert werden." },
{ "SD data migration is incomplete. Identity and settings remain internal; use Copy internal data to SD to retry.", "SD-Datenübertragung unvollständig. Identität und Einstellungen bleiben intern; „Interne Daten auf SD kopieren“ zum erneuten Versuch verwenden." },
{ "SD download failed: %s", "SD-Download fehlgeschlagen: %s" },
{ "SD formatted - %s (MESHCOMOD)", "SD formatiert - %s (MESHCOMOD)" },
{ "SD is busy - close tools and retry", "SD ist belegt – Tools schließen und erneut versuchen" },
{ "SD removed - card-backed data cannot be saved", "SD entfernt – Kartendaten können nicht gespeichert werden" },
{ "SD stayed busy - format cancelled, retry", "SD blieb belegt – Formatierung abgebrochen, erneut versuchen" },
{ "SF", "SF" },
{ "SF / CR / TX / AF", "SF / CR / TX / AF" },
{ "SPIFFS %u/%u KB used", "SPIFFS %u/%u KB belegt" },
@@ -2546,6 +2674,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Saved network", "Gespeichertes Netzwerk" },
{ "Saved profiles", "Gespeicherte Profile" },
{ "Saved to slot %d", "In Slot %d gespeichert" },
{ "Saved — applying…", "Gespeichert – wird angewendet …" },
{ "Saved — rebooting", "Gespeichert — Neustart" },
{ "Saved — reconnecting…", "Gespeichert — verbinde neu…" },
{ "Saved: %s\nFlash it from the Launcher.", "Gespeichert: %s\nFlashe es über den Launcher." },
@@ -2554,6 +2683,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Scan to open on phone", "Scannen, um am Handy zu öffnen" },
{ "Scanning…", "Suche…" },
{ "Scope direct msgs to region", "Direktnachrichten auf Region begrenzen" },
{ "Screen", "Bildschirm" },
{ "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)" },
@@ -2564,6 +2694,8 @@ static const I18nPair kBuiltin_de[] = {
{ "Screenshot: low memory", "Screenshot: wenig Speicher" },
{ "Screenshot: no SD card", "Screenshot: keine SD-Karte" },
{ "Screenshot: write failed", "Screenshot: Schreiben fehlgeschlagen" },
{ "Scroll down", "Nach unten scrollen" },
{ "Scroll up", "Nach oben scrollen" },
{ "Scrollball: normal", "Scrollball: normal" },
{ "Scrollball: reversed", "Scrollball: umgekehrt" },
{ "Search", "Suchen" },
@@ -2572,6 +2704,7 @@ static const I18nPair kBuiltin_de[] = {
{ "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", "Auswählen" },
{ "Select a DM thread", "DN-Unterhaltung wählen" },
{ "Select all", "Alles auswählen" },
{ "Select network", "Netzwerk wählen" },
@@ -2580,6 +2713,7 @@ static const I18nPair kBuiltin_de[] = {
{ "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", "Sensoren" },
{ "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" },
@@ -2611,6 +2745,7 @@ static const I18nPair kBuiltin_de[] = {
{ "Slot %d cleared", "Slot %d gelöscht" },
{ "Slot empty", "Slot leer" },
{ "Small\nMedium\nLarge", "Klein\nMittel\nGroß" },
{ "Snake", "Snake" },
{ "Snake — swipe or roll the trackball", "Snake — wischen oder Trackball rollen" },
{ "Sort", "Sortieren" },
{ "Sound", "Ton" },
@@ -2705,6 +2840,7 @@ static const I18nPair kBuiltin_de[] = {
{ "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)" },
{ "Up", "Nach oben" },
{ "Update", "Update" },
{ "Update bin saved to SD", "Update-Bin auf SD gespeichert" },
{ "Update complete.\nRebooting...", "Update fertig.\nNeustart..." },
@@ -2724,6 +2860,7 @@ static const I18nPair kBuiltin_de[] = {
{ "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 and Bluetooth unavailable; retry from Settings", "Wi-Fi und Bluetooth nicht verfügbar; in den Einstellungen erneut versuchen" },
{ "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." },
@@ -2731,8 +2868,12 @@ static const I18nPair kBuiltin_de[] = {
{ "Wi-Fi off", "WLAN aus" },
{ "Wi-Fi on", "WLAN ein" },
{ "Wi-Fi on, scanning…", "Wi-Fi an, suche…" },
{ "Wi-Fi paused; Bluetooth disconnect timed out", "Wi-Fi pausiert; Bluetooth-Trennung hat das Zeitlimit überschritten" },
{ "Wi-Fi saved (radio off)", "WLAN gespeichert (Funk aus)" },
{ "Wi-Fi saved, applying", "Wi-Fi gespeichert, wird angewendet" },
{ "Wi-Fi saved, reconnecting", "WLAN gespeichert, verbinde neu" },
{ "Wi-Fi unavailable; Bluetooth restored", "Wi-Fi nicht verfügbar; Bluetooth wiederhergestellt" },
{ "Wi-Fi unavailable; retry from Settings", "Wi-Fi nicht verfügbar; in den Einstellungen erneut versuchen" },
{ "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." },
@@ -2756,6 +2897,7 @@ static const I18nPair kBuiltin_de[] = {
{ "hold the trackball to unlock", "Trackball halten zum Entsperren" },
{ "kHz", "kHz" },
{ "keep holding", "weiter halten" },
{ "last wake:", "Letztes Aufwachen:" },
{ "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" },
+19 -15
View File
@@ -1,7 +1,8 @@
/*******************************************************************************
* Size: 14 px
* Bpp: 4
* Opts: --no-compress --bpp 4 --size 14 --font /Library/Fonts/Arial Unicode.ttf -r 0x2605 --format lvgl -o /tmp/star_14.c
* Generated by scripts/build/gen-touch-fonts.sh with lv_font_conv 1.5.3
* Sources: Noto Sans Symbols 2.008
******************************************************************************/
#if 1
@@ -10,11 +11,11 @@
#include "lvgl/lvgl.h"
#endif
#ifndef STAR_14
#define STAR_14 1
#ifndef STAR_FONT_14
#define STAR_FONT_14 1
#endif
#if STAR_14
#if STAR_FONT_14
/*-----------------
* BITMAPS
@@ -24,13 +25,16 @@
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+2605 "★" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x91, 0x0, 0x0, 0x0, 0x0, 0xe, 0x40, 0x0,
0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x37, 0x54,
0x7f, 0xc3, 0x56, 0x60, 0x9f, 0xff, 0xff, 0xff,
0xd3, 0x0, 0x3d, 0xff, 0xff, 0x70, 0x0, 0x0,
0x5f, 0xff, 0xc0, 0x0, 0x0, 0xc, 0xfb, 0xff,
0x20, 0x0, 0x2, 0xf8, 0x2, 0xe9, 0x0, 0x0,
0x75, 0x0, 0x1, 0xb0, 0x0
0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xe5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xb0,
0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x0, 0x0,
0x0, 0x7a, 0xaa, 0xef, 0xfb, 0xaa, 0x92, 0x0,
0x8f, 0xff, 0xff, 0xff, 0xd3, 0x0, 0x0, 0x3e,
0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0xef, 0xff,
0xf5, 0x0, 0x0, 0x0, 0x4f, 0xf9, 0xef, 0xb0,
0x0, 0x0, 0x9, 0xe4, 0x1, 0xaf, 0x10, 0x0,
0x0, 0xa1, 0x0, 0x0, 0x65, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0
};
@@ -40,7 +44,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 183, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}
{.bitmap_index = 0, .adv_w = 215, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1}
};
/*---------------------
@@ -102,8 +106,8 @@ lv_font_t star_font_14 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 11, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
.line_height = 13, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
@@ -120,4 +124,4 @@ lv_font_t star_font_14 = {
#endif /*#if STAR_14*/
#endif /*#if STAR_FONT_14*/
+43 -31
View File
@@ -1,12 +1,15 @@
/*******************************************************************************
* Size: 28 px
* Bpp: 4
* Opts: --no-compress --bpp 4 --size 28 --font /Library/Fonts/Arial Unicode.ttf -r 0x2605 --format lvgl -o star_font_28.c
* Generated by scripts/build/gen-touch-fonts.sh with lv_font_conv 1.5.3
* Sources: Noto Sans Symbols 2.008
******************************************************************************/
/* Build picks up <lvgl.h> from the library include path; the conditional
* the generator emits assumes a different layout. */
#if 1
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef STAR_FONT_28
#define STAR_FONT_28 1
@@ -21,34 +24,44 @@
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+2605 "★" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x6, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x9f, 0x80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xfb,
0x0, 0x0, 0x0, 0xaf, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x5f, 0xff, 0x30, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf7,
0x0, 0x0, 0x0, 0x0, 0xdf, 0xdc, 0xb9, 0x86,
0xdf, 0xff, 0xc7, 0x89, 0xbc, 0xdf, 0xa3, 0xdf,
0xaf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5, 0xff, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0,
0x1, 0x44, 0x44, 0x44, 0x44, 0xbf, 0xff, 0xff,
0xa4, 0x44, 0x44, 0x44, 0x41, 0x7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc2, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x60, 0x0, 0x0, 0x2c, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfa, 0x10, 0x0, 0x0, 0x0,
0x6, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x0,
0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xf6,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff,
0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x4f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0,
0x0, 0x0, 0xa, 0xff, 0xfb, 0x2c, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf9, 0x0,
0xa, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f,
0xf7, 0x0, 0x0, 0x8, 0xff, 0x50, 0x0, 0x0,
0x0, 0xd, 0xf5, 0x0, 0x0, 0x0, 0x6, 0xfb,
0x0, 0x0, 0x0, 0x1, 0xd3, 0x0, 0x0, 0x0,
0x0, 0x4, 0xe0, 0x0, 0x0
0xe6, 0x0, 0x2, 0xcf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xb1, 0x0, 0x0, 0x0,
0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x60, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfb, 0x10, 0x0, 0x0, 0x0,
0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf,
0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf7, 0x9,
0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf, 0xff, 0xe3, 0x0, 0x4, 0xef, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xa1, 0x0,
0x0, 0x1, 0xbf, 0xf4, 0x0, 0x0, 0x0, 0x0,
0x0, 0xaf, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7f,
0x90, 0x0, 0x0, 0x0, 0x0, 0xc, 0x20, 0x0,
0x0, 0x0, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0,
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0x0, 0x0
};
@@ -58,7 +71,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 366, .box_w = 21, .box_h = 21, .ofs_x = 1, .ofs_y = 0}
{.bitmap_index = 0, .adv_w = 430, .box_w = 25, .box_h = 24, .ofs_x = 1, .ofs_y = -1}
};
/*---------------------
@@ -120,8 +133,8 @@ lv_font_t star_font_28 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 21, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
.line_height = 24, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
@@ -139,4 +152,3 @@ lv_font_t star_font_28 = {
#endif /*#if STAR_FONT_28*/
+16
View File
@@ -167,3 +167,19 @@ sub(C, [
])
print("patched: SerialBLEInterface -> esp-nimble-cpp 2.x")
PYEOF
# --- Guard: the vendored tree is gitignored and this script rm -rf's it, so any
# hand-edit made in there is destroyed with no git history to recover it. That
# has now cost us twice: the esp-nimble-cpp 2.x BLE port, and the T-Display P4's
# polled receive (its DIO1 reaches no host GPIO, so polling is the ONLY way it
# ever sees a packet — losing it left the board able to transmit and completely
# unable to receive). Both are upstream in the core now; verify they survived the
# copy, so a regression fails here instead of on a user's device.
for probe in \
"components/meshcore/core/src/helpers/radiolib/RadioLibWrappers.cpp:pollRxIfNoIrq" \
"components/meshcore/core/src/helpers/radiolib/CustomSX1262Wrapper.h:pollRxDone" \
"components/meshcore/core/src/helpers/esp32/SerialBLEInterface.h:NimBLEConnInfo"; do
f="${probe%%:*}"; sym="${probe##*:}"
grep -q "$sym" "$f" || { echo "!! $f is missing '$sym' — the vendored core is stale or the core changed shape. FIX BEFORE BUILDING."; exit 1; }
done
echo "verified: polled-RX + BLE 2.x present in the vendored core"