Skip to content
1 change: 1 addition & 0 deletions .gitleaksignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22c8da1980e8c8e68e3a2aaaa6312599357f69fe:locale/no.yml:179
368 changes: 210 additions & 158 deletions locale/no.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,22 @@
no:
no new messages: Ingen nye meldinger
'no':
1 of 1 nodes online: 1 av 1 noder online
'uptime 00:00:00': oppetid 00:00:00
'Heap: 0\nLVGL: 0': 'Heap: 0\nLVGL: 0'
DEL: SLETT
'User name: ': 'Brukernavn: '
'Modem Preset: LONG FAST': 'Modem innstilling: LONG FAST'
Active Chat: Aktiv Chat
Backup & Restore: Sikkerhetskopi og gjenopprett
Backup: Sikkerhetskopi
Banner only: Bare banner
Banner & Sound: Banner & Lyd
'Brightness: 60%': 'Lysstyrke: 60%'
'Brightness: %d%%': 'Lysstyrke: %d%%'
Cancel: Avbryt
Channel: Kanal
'Channel: LongFast': 'Kanal: LongFast'
'Role: Client': 'Rolle: Klient'
'Screen Timeout: 60s': 'Skjermtidsavbrudd: 60s'
'Screen Lock: off': 'Skjermlås: av'
'Screen Brightness: 60%': 'Lysstyrke skjerm: 60%'
'Theme: Dark': 'Tema: Mørk'
'Screen Calibration: default': 'Skjermkalibering: standard'
'Input Control: none/none': 'Input kontroll: ingen/ingen'
'Message Alert Buzzer: on': 'Meldingsvarslingslyd: på'
'Language: English': 'Språk: Norsk Bokmål'
Configuration Reset: Farbrikkinstillinger
Reboot / Shutdown: Start på nytt / Skru av
Mesh Detector: Meshdetektor
Signal Scanner: Signalskanner
Trace Route: Spor rute
Neighbors: Naboer
Statistics: Statistikk
Packet Log: Pakke-logg
Meshtastic: Meshtastic
Group Channels: Kanaler
no messages: ingen meldinger
Settings & Tools: Innstillinger & Verktøy
Settings (advanced): Innstillinger (Avansert)
Locations Map: Kart
'Locations Map (%d/%d)': 'Kart (%d/%d)'
no chats: ingen chats
Node Search: Søk node
Packet Statistics: Statistikk på pakker
Node Options: Node alternativ
Short Name: Kort Navn
Long Name: Langt Navn
<unset>: <ikke satt>
"LONG FAST\nLONG SLOW\n-- deprecated --\nMEDIUM SLOW\nMEDIUM FAST\nSHORT SLOW\nSHORT FAST\nLONG MODERATE\nSHORT TURBO": |-
LONG FAST
LONG SLOW
-- utfaset --
MEDIUM SLOW
MEDIUM FAST
SHORT SLOW
SHORT FAST
LONG MODERATE
SHORT TURBO
Channel Name: Kanal Navn
'Channel: %s': 'Kanal: %s'
"choose\nnode": |-
velg
node
choose target node: velg mål-node
City: By
"Client\nClient Mute\nRouter\n-- deprecated --\nRepeater\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker": |-
Klient
Klient Stum
Expand All @@ -60,132 +29,215 @@ no:
Klient Gjemt
Mistet & Funnet
TAK Sporing
'Brightness: 60%': 'Lysstyrke: 60%'
"Client\nClient Mute\nRouter\nRepeater\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker\nRouter Late": |-
Klient
Klient Stum
Ruter
Repeater
Sporer
Sensor
TAK
Klient Gjemt
Mistet & Funnet
TAK Sporing
Router forsinket
"Client\nClient Mute\nTracker\nSensor\nTAK\nClient Hidden\nLost & Found\nTAK Tracker": |-
Klient
Klient Stum
Sporer
Sensor
TAK
Klient Gjemt
Mistet & Funnet
TAK Sporing
Configuration Reset: Farbrikkinstillinger

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Correct the remaining malformed Norwegian entries.

  • Lines 53 and 152 misspell Fabrikkinnstillinger; use the same spelling already present on line 148.
  • Line 156 remains English (Map tiles not found!).
  • Line 177 misspells Programmeringsmodus.
  • Lines 194–195 should use one Norwegian spelling, such as Skjermkalibrering; line 195 is currently Swedish.

Also applies to: 152-152, 156-156, 177-177, 194-195

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@locale/no.yml` at line 53, Correct the malformed Norwegian translations in
the locale entries: update “Configuration Reset” entries to match the existing
“Fabrikkinnstillinger” spelling, translate “Map tiles not found!” into
Norwegian, correct the “Programmeringsmodus” spelling, and use one consistent
Norwegian “Skjermkalibrering” spelling for both screen-calibration entries.

Connected!: Tilkoblet!
'%d active chat(s)':
one: 1 aktiv chat
other: '%d aktive chat'
"Dark\nLight": |-
Mørk
Lyst
'Timeout: 60s': 'Tidsavbrudd: 60s'
Screen Lock: Skjermlås
Lock PIN: PIN
Mouse: Mus
none: ingen
Keyboard: Tastatur
Message Alert: Meldingsvarsel
Ringtone: Ringesignal
default: standard
Default: Standard
Zone: Sone
City: By
"NodeDB Reset\nFactory Reset": |-
Nullstill NodeDB
Fabrikkinstillinger
Channel Name: Kanal Navn
Pre-shared Key: Delt nøkkel
Unknown: Ukjent
Offline: Frakoblet
Public Key: Offentlig nøkkel
DEL: SLETT
'Device Role: %s': 'Rolle: %s'
Disconnected!: Frakoblet!
'%d new message': '%d ny melding'
'%d new messages': '%d nye meldinger'
'%d of %d nodes online':
one: '%d av %d node online'
other: '%d av %d noder online'
done: ferdig
'!Enter Filter ...': '!Filter ...'
Enter Filter ...: Filter ...
Enter Text ...: Tekst ...
Failed to parse keys!: Analysering av nøkler feilet!
Failed to restore keys!: Gjenoppretting av nøkler feilet!
Failed to retrieve keys!: Mottak av nøkler feilet!
Failed to write keys!: Skrive nøkler feilet!
'Filter: %d of %d nodes': 'Filter: %d av %d noder'
Filter: Filter
Filtering ...: Filtrerer ...
'FrequencySlot: %d (%g MHz)': 'Frekvensplass: %d (%g MHz)'
Group Channels: Gruppekanaler
"Heap: 0\nLVGL: 0": |-
Heap: 0
LVGL: 0
"Heap: %d (%d%%)\nLVGL: %d (%d%%)": |-
Heap: %d (%d%%)
LVGL: %d (%d%%)
'heard: !%08x': 'hørt: !%08x'
Highlight: Marker
Hops away: Hopp bort
'hops: %d': 'hopp: %d'
IAQ: IAQ
'Input Control: none/none': 'Input kontroll: ingen/ingen'
'Input Control: %s/%s': 'Input kontroll: %s/%s'
Keyboard: Tastatur
'Language: English': 'Språk: Norsk Bokmål'
'Language: %s': 'Språk: %s'
Locations Map (%d/%d): Kart (%d/%d)
Locations Map: Kart
'Lock: off/off': 'Lås: av/av'
Lock PIN: PIN
'Lock: %s/%s': 'Lås: %s/%s'
"LONG FAST\nLONG MODERATE\nLONG TURBO\nMEDIUM FAST\nMEDIUM SLOW\nSHORT FAST\nSHORT TURBO\nSHORT SLOW": |-
LONG FAST
LONG MODERATE
LONG TURBO
MEDIUM FAST
MEDIUM SLOW
SHORT FAST
SHORT TURBO
SHORT SLOW
"LONG FAST\nLONG SLOW\n-- deprecated --\nMEDIUM SLOW\nMEDIUM FAST\nSHORT SLOW\nSHORT FAST\nLONG MODERATE\nSHORT TURBO": |-
LONG FAST
LONG SLOW
-- utfaset --
MEDIUM SLOW
MEDIUM FAST
SHORT SLOW
SHORT FAST
LONG MODERATE
SHORT TURBO
Long Name: Langt Navn
LoRa 0.0 MHz: LoRa 0.0 MHz
LoRa TX off!: LoRa TX avskrudd!
map tiles not found!: ingen kartdata funnet!
Mesh Detector: Meshdetektor
Meshtastic: Meshtastic
'Message Alert Buzzer: on': 'Meldingsvarslingslyd: på'
Message Alert: Meldingsvarsel
'Message Alert: %s': 'Meldingsvarsling: %s'
'Modem Preset: custom': 'Modem innstilling: tilpasset'
'Modem Preset: LONG FAST': 'Modem innstilling: LONG FAST'
'Modem Preset: %s': 'Modem innstilling: %s'
Mouse: Mus
MQTT: MQTT
Position: Posisjon
Name: Navn
Active Chat: Aktiv Chat
Telemetry: Telemetri
IAQ: IAQ
Start: Kjør
Neighbors: Naboer
"New Message from\n": |
Ny melding fra
Resync...: Synkroniser om...
OK: OK
Cancel: Avbryt
'FrequencySlot: %d (%g MHz)': 'Frekvensplass: %d (%g MHz)'
'Brightness: %d%%': 'Lysstyrke: %d%%'
'Timeout: off': 'Tidsavbrudd: av'
'Timeout: %ds': 'Tidsavbrudd: %ds'
'Screen Calibration: %s': 'Bildskärmens Kalibrering: %s'
done: ferdig
default: standard
Stop: Stopp
"choose\nnode": |-
velg
node
choose target node: velg mål-node
'heard: !%08x': 'hørt: !%08x'
'Packet Log: %d': 'Pakke-loggbok: %d'
'Language: %s': 'Språk: %s'
'Screen Timeout: off': 'Skjermtidsavbrudd: av'
'Screen Timeout: %ds': 'Skjermtidsavbrudd: %ds'
'Screen Brightness: %d%%': 'Lysstyrke skjerm: %d%%'
'Theme: %s': 'Tema: %s'
'User name: %s': 'Brukernavn: %s'
'Device Role: %s': 'Rolle: %s'
'Region: %s': 'Region: %s'
'Modem Preset: %s': 'Modem innstilling: %s'
'Channel: %s': 'Kanal: %s'
'Screen Lock: %s': 'Skjermlås: %s'
'on': på
'off': av
'Message Alert: %s': 'Meldingsvarsling: %s'
Util %0.1f%% Air %0.1f%%: Utnyttelse %0.1f%% Luft %0.1f%%
'hops: %d': 'hopp: %d'
unknown: ukjent
<no name>: <ingen navn>
'%d active chat(s)':
one: 1 aktiv chat
other: '%d aktive chat'
"New message from \n%s": |-
Ny melding fra
Ny melding fra
%s
'Input Control: %s/%s': 'Input kontroll: %s/%s'
'%d of %d nodes online':
one: 1 node online
other: '%d av %d noder online'
Filtering ...: Filtrerer ...
'Filter: %d of %d nodes': 'Filter: %d av %d noder'
no chats: ingen meldinger
"NodeDB Reset\nFactory Reset\nClear Chat History": |-
Nullstill NodeDB
Fabrikkinnstillinger
Slett meldingshistorikk
"NodeDB Reset\nFactory Reset": |-
Nullstill NodeDB
Fabrikkinstillinger
Node Options: Node alternativ
Node Search: Søk node
No map tiles found: Ingen kartdata funnet
No map tiles found on SDCard!: Map tiles not found!
no messages: ingen meldinger
<no name>: <ingen navn>
none: ingen
no new messages: Ingen nye meldinger
no public key: ingen offentlig nøkkel
no SD card detected: ingen SD kort funnet
no signal: ingen signal
<not set>: <ikke satt>
now: nå
'%d new message': '%d ny melding'
'%d new messages': '%d nye meldinger'
'uptime: %02d:%02d:%02d': 'oppetid: %02d:%02d:%02d'
'Heap: %d (%d%%)\nLVGL: %d (%d%%)': 'Heap: %d (%d%%)\nLVGL: %d (%d%%)'
Tools: Verktøy
Filter: Filter
Highlight: Marker
Settings: Innstillinger
'off': av
Offline: Frakoblet
OK: OK
'on': på
'Packet Log: %d': 'Pakke-loggbok: %d'
Packet Log: Pakke-logg
Packet Statistics: Statistikk på pakker
Please set region and name: Sett region og navn
Position: Posisjon
Pre-shared Key: Delt nøkkel
Primary Channel: Hovedkanal
Secondary Channels: Sekunder kanal
Resync ...: Synkroniserer ...
'>> Programming mode <<': '>> Programerings-modus <<'
Public Key: Offentlig nøkkel
Public/Private Key: Offentlig/Privat nøkkel
Rebooting ...: Starter på nytt ...
Reboot into BaseUI?: Start på nytt til BaseUI
Reboot / Shutdown: Start på nytt / Skru av
Region: Region
'Region: %s': 'Region: %s'
region unset: ingen region
Restore: Gjenopprett
Restoring messages ...: Gjenoppretter meldinger ...
Resync ...: Synkroniserer ...
Resync...: Synkroniser om...
Ringtone: Ringesignal
'Role: Client': 'Rolle: Klient'
'Screen Brightness: 60%': 'Lysstyrke skjerm: 60%'
'Screen Brightness: %d%%': 'Lysstyrke skjerm: %d%%'
'Screen Calibration: default': 'Skjermkalibering: standard'
'Screen Calibration: %s': 'Bildskärmens Kalibrering: %s'
'Screen Lock: off': 'Skjermlås: av'
Screen Lock: Skjermlås
'Screen Lock: %s': 'Skjermlås: %s'
'Screen Timeout: 60s': 'Skjermtidsavbrudd: 60s'
'Screen Timeout: %ds': 'Skjermtidsavbrudd: %ds'
'Screen Timeout: off': 'Skjermtidsavbrudd: av'
SD card error: SD kort feil
"%s: %d GB (%s)\nUsed: %0.2f GB (%d%%)": |-
%s: %d GB (%s)
Brukt: %0.2f GB (%d%%)
SD invalid format: Feil format på SD
SD mbr not found: MBR ikke funnet på SD
SD slot empty: SD-spor tomt
SD unknown error: Ukjent feil på SD kort
Secondary Channels: Sekunder kanal
Settings (advanced): Innstillinger (Avansert)
Settings: Innstillinger
Settings Lock: Innstillingslås
Settings & Tools: Innstillinger & Verktøy
Short Name: Kort Navn
Shutting down ...: Skrur av ...
LoRa 0.0 MHz: LoRa 0.0 MHz
Signal Scanner: Signalskanner
silent: stille
Sound only: Bare lyd
Start: Kjør
Statistics: Statistikk
Stop: Stopp
Telemetry: Telemetri
'Theme: Dark': 'Tema: Mørk'
'Theme: %s': 'Tema: %s'
'Timeout: 60s': 'Tidsavbrudd: 60s'
'Timeout: %ds': 'Tidsavbrudd: %ds'
'Timeout: off': 'Tidsavbrudd: av'
Tools: Verktøy
Trace Route: Spor rute
unknown: ukjent
Unknown: Ukjent
<unset>: <ikke satt>
uptime 00:00:00': oppetid 00:00:00

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the uptime message key.

The key currently includes a trailing apostrophe (uptime 00:00:00'), so lookups for uptime 00:00:00 will miss this translation.

Proposed fix
-  uptime 00:00:00': oppetid 00:00:00
+  'uptime 00:00:00': oppetid 00:00:00
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
uptime 00:00:00': oppetid 00:00:00
'uptime 00:00:00': oppetid 00:00:00
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@locale/no.yml` at line 234, Remove the trailing apostrophe from the uptime
translation key so it exactly matches `uptime 00:00:00` and lookups resolve the
Norwegian translation.

'uptime: %02d:%02d:%02d': 'oppetid: %02d:%02d:%02d'
'User name: ': 'Brukernavn: '
'User name: %s': 'Brukernavn: %s'
Util %0.1f%% Air %0.1f%%: Utnyttelse %0.1f%% Luft %0.1f%%
'WiFi: <not setup>': 'WiFi: <ingen innstilling>'
'Lock: off/off': 'Lås: av/av'
LoRa TX off!: LoRa TX avskrudd!
WiFi SSID: WiFi SSID
WiFi pre-shared Key: WiFi passord
Settings Lock: Innstillingslås
'Lock: %s/%s': 'Lås: %s/%s'
Enter Text ...: Tekst ...
'!Enter Filter ...': '!Filter ...'
Enter Filter ...: Filter ...
WiFi SSID: WiFi SSID
'WiFi: %s': 'WiFi: %s'
<not set>: <ikke satt>
region unset: ingen region
Banner & Sound: Banner & Lyd
Banner only: Bare banner
Sound only: Bare lyd
no signal: ingen signal
Restoring messages ...: Gjenoppretter meldinger ...
no SD card detected: ingen SD kort funnet
map tiles not found!: ingen kartdata funnet!
No map tiles found: Ingen kartdata funnet
Backup & Restore: Sikkerhetskopi og gjenopprett
Backup: Sikkerhetskopi
Restore: Gjenopprett
Public/Private Key: Åpen/Privat nøkkel
"NodeDB Reset\nFactory Reset\nClear Chat History": "Nullstill NodeDB\nFabrikkinnstillinger\nSlett meldingshistorikk"
Please set region and name: Sett region og navn
'>> Programming mode <<': '>> Programerings-modus <<'
Failed to write keys!: Skrive nøkler feilet!
Failed to restore keys!: Gjenoppretting av nøkler feilet!
Failed to parse keys!: Analysering av nøkler feilet!
Failed to retrieve keys!: Mottak av nøkler feilet!
"%s: %d GB (%s)\nUsed: %0.2f GB (%d%%)": "%s: %d GB (%s)\nBrukt: %0.2f GB (%d%%)"
Zone: Sone
Loading