meshcore-open/lib/l10n
Ryan Malloy daca42701c
Notification rate limiting (#110)
* Add notification rate limiting with privacy-safe debug logging

- Add batching system to prevent notification storms (3s rate limit, 5s batch window)
- Queue rapid notifications and show batch summaries
- Debug logs show device names for adverts, sender/channel for messages (no content leaks)
- Remove unused _maxBatchSize constant

Context: Added after getting notification-flooded while evaluating RF flood management. The irony.

* Update notification_service.dart

I made a mistake and removed this

* Add l10n support for notification strings

Addresses PR #110 review feedback to use the translations system:
- Add notification strings to app_en.arb (plurals for batch summary)
- Update NotificationService to use lookupAppLocalizations()
- Wire locale from MaterialApp to NotificationService
- Regenerate localization files

New strings added (English only, translations needed):
- notification_activityTitle: "MeshCore Activity"
- notification_messagesCount: "{count} message(s)"
- notification_channelMessagesCount: "{count} channel message(s)"
- notification_newNodesCount: "{count} new node(s)"
- notification_newTypeDiscovered: "New {type} discovered"
- notification_receivedNewMessage: "Received new message"

* Add notification string translations for all supported languages

Translated notification_activityTitle, notification_messagesCount,
notification_channelMessagesCount, notification_newNodesCount,
notification_newTypeDiscovered, and notification_receivedNewMessage
to: bg, de, es, fr, it, nl, pl, pt, ru, sk, sl, sv, uk, zh

Includes proper ICU plural forms for Slavic languages (few/many/other)
and Slovenian dual form.

* Apply dart format to notification_service.dart

---------

Co-authored-by: Winston Lowe <wel97459@gmail.com>
2026-02-08 18:42:15 -08:00
..
app_bg.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_de.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_en.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_es.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_fr.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_it.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_bg.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_de.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_en.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_es.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_fr.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_it.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_nl.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_pl.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_pt.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_ru.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_sk.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_sl.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_sv.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_uk.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_localizations_zh.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_nl.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_pl.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_pt.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_ru.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_sk.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_sl.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_sv.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_uk.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
app_zh.arb Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
l10n.dart Add localization support and translation script 2026-01-11 17:13:50 -07:00