mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
feat: Add localized delivery status and time ago for messages
This commit is contained in:
@@ -535,5 +535,37 @@
|
||||
|
||||
"deliveredWithTime": "Dostavljeno ({time}ms)",
|
||||
|
||||
"failed": "Neuspjelo"
|
||||
"failed": "Neuspjelo",
|
||||
|
||||
"messageSentToPublicChannel": "Poruka poslana na javni kanal",
|
||||
|
||||
"pleaseSelectRoomToSendSar": "Molimo odaberite sobu za slanje SAR markera",
|
||||
|
||||
"failedToSendSarMarker": "Neuspjelo slanje SAR markera: {error}",
|
||||
|
||||
"sarMarkerSentTo": "SAR marker poslan u {roomName}",
|
||||
|
||||
"notConnectedCannotSync": "Nije povezano - ne može se sinkronizirati poruke",
|
||||
|
||||
"syncedMessageCount": "Sinkronizirano {count} poruka",
|
||||
|
||||
"noNewMessages": "Nema novih poruka",
|
||||
|
||||
"syncFailed": "Sinkronizacija nije uspjela: {error}",
|
||||
|
||||
"failedToResendMessage": "Neuspjelo ponovno slanje poruke",
|
||||
|
||||
"retryingMessage": "Ponovni pokušaj slanja poruke...",
|
||||
|
||||
"retryFailed": "Ponovni pokušaj nije uspio: {error}",
|
||||
|
||||
"textCopiedToClipboard": "Tekst kopiran u međuspremnik",
|
||||
|
||||
"cannotReplySenderMissing": "Ne mogu odgovoriti: informacije o pošiljatelju nedostaju",
|
||||
|
||||
"cannotReplyContactNotFound": "Ne mogu odgovoriti: kontakt nije pronađen",
|
||||
|
||||
"messageDeleted": "Poruka izbrisana",
|
||||
|
||||
"refreshedContacts": "Kontakti osvježeni"
|
||||
}
|
||||
|
||||
@@ -1652,6 +1652,162 @@ abstract class AppLocalizations {
|
||||
/// In en, this message translates to:
|
||||
/// **'SAR ALERT'**
|
||||
String get sarAlert;
|
||||
|
||||
/// Success message when message is sent to public channel
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Message sent to public channel'**
|
||||
String get messageSentToPublicChannel;
|
||||
|
||||
/// Error when no room is selected for SAR marker
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please select a room to send SAR marker'**
|
||||
String get pleaseSelectRoomToSendSar;
|
||||
|
||||
/// Error message when SAR marker fails to send
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to send SAR marker: {error}'**
|
||||
String failedToSendSarMarker(String error);
|
||||
|
||||
/// Success message when SAR marker is sent to room
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'SAR marker sent to {roomName}'**
|
||||
String sarMarkerSentTo(String roomName);
|
||||
|
||||
/// Warning when trying to sync messages while not connected
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Not connected - cannot sync messages'**
|
||||
String get notConnectedCannotSync;
|
||||
|
||||
/// Success message showing number of synced messages
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Synced {count} message(s)'**
|
||||
String syncedMessageCount(int count);
|
||||
|
||||
/// Info message when no new messages to sync
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No new messages'**
|
||||
String get noNewMessages;
|
||||
|
||||
/// Error message when sync fails
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sync failed: {error}'**
|
||||
String syncFailed(String error);
|
||||
|
||||
/// Error when message retry fails
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to resend message'**
|
||||
String get failedToResendMessage;
|
||||
|
||||
/// Info message when retrying a failed message
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Retrying message...'**
|
||||
String get retryingMessage;
|
||||
|
||||
/// Error message when retry fails
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Retry failed: {error}'**
|
||||
String retryFailed(String error);
|
||||
|
||||
/// Success message when text is copied
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Text copied to clipboard'**
|
||||
String get textCopiedToClipboard;
|
||||
|
||||
/// Error when sender info is missing for reply
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cannot reply: sender information missing'**
|
||||
String get cannotReplySenderMissing;
|
||||
|
||||
/// Error when contact not found for reply
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cannot reply: contact not found'**
|
||||
String get cannotReplyContactNotFound;
|
||||
|
||||
/// Info message when message is deleted
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Message deleted'**
|
||||
String get messageDeleted;
|
||||
|
||||
/// Success message when contacts are refreshed
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Refreshed contacts'**
|
||||
String get refreshedContacts;
|
||||
|
||||
/// Time indicator for very recent activity
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Just now'**
|
||||
String get justNow;
|
||||
|
||||
/// Time indicator for minutes ago
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{minutes}m ago'**
|
||||
String minutesAgo(int minutes);
|
||||
|
||||
/// Time indicator for hours ago
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{hours}h ago'**
|
||||
String hoursAgo(int hours);
|
||||
|
||||
/// Time indicator for days ago
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{days}d ago'**
|
||||
String daysAgo(int days);
|
||||
|
||||
/// Time indicator for seconds ago
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{seconds}s ago'**
|
||||
String secondsAgo(int seconds);
|
||||
|
||||
/// Delivery status: sending
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sending...'**
|
||||
String get sending;
|
||||
|
||||
/// Delivery status: sent
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sent'**
|
||||
String get sent;
|
||||
|
||||
/// Delivery status: delivered
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delivered'**
|
||||
String get delivered;
|
||||
|
||||
/// Delivery status with round-trip time
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delivered ({time}ms)'**
|
||||
String deliveredWithTime(int time);
|
||||
|
||||
/// Delivery status: failed
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed'**
|
||||
String get failed;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -888,4 +888,104 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get sarAlert => 'SAR ALERT';
|
||||
|
||||
@override
|
||||
String get messageSentToPublicChannel => 'Message sent to public channel';
|
||||
|
||||
@override
|
||||
String get pleaseSelectRoomToSendSar =>
|
||||
'Please select a room to send SAR marker';
|
||||
|
||||
@override
|
||||
String failedToSendSarMarker(String error) {
|
||||
return 'Failed to send SAR marker: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String sarMarkerSentTo(String roomName) {
|
||||
return 'SAR marker sent to $roomName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get notConnectedCannotSync => 'Not connected - cannot sync messages';
|
||||
|
||||
@override
|
||||
String syncedMessageCount(int count) {
|
||||
return 'Synced $count message(s)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noNewMessages => 'No new messages';
|
||||
|
||||
@override
|
||||
String syncFailed(String error) {
|
||||
return 'Sync failed: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failedToResendMessage => 'Failed to resend message';
|
||||
|
||||
@override
|
||||
String get retryingMessage => 'Retrying message...';
|
||||
|
||||
@override
|
||||
String retryFailed(String error) {
|
||||
return 'Retry failed: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get textCopiedToClipboard => 'Text copied to clipboard';
|
||||
|
||||
@override
|
||||
String get cannotReplySenderMissing =>
|
||||
'Cannot reply: sender information missing';
|
||||
|
||||
@override
|
||||
String get cannotReplyContactNotFound => 'Cannot reply: contact not found';
|
||||
|
||||
@override
|
||||
String get messageDeleted => 'Message deleted';
|
||||
|
||||
@override
|
||||
String get refreshedContacts => 'Refreshed contacts';
|
||||
|
||||
@override
|
||||
String get justNow => 'Just now';
|
||||
|
||||
@override
|
||||
String minutesAgo(int minutes) {
|
||||
return '${minutes}m ago';
|
||||
}
|
||||
|
||||
@override
|
||||
String hoursAgo(int hours) {
|
||||
return '${hours}h ago';
|
||||
}
|
||||
|
||||
@override
|
||||
String daysAgo(int days) {
|
||||
return '${days}d ago';
|
||||
}
|
||||
|
||||
@override
|
||||
String secondsAgo(int seconds) {
|
||||
return '${seconds}s ago';
|
||||
}
|
||||
|
||||
@override
|
||||
String get sending => 'Sending...';
|
||||
|
||||
@override
|
||||
String get sent => 'Sent';
|
||||
|
||||
@override
|
||||
String get delivered => 'Delivered';
|
||||
|
||||
@override
|
||||
String deliveredWithTime(int time) {
|
||||
return 'Delivered (${time}ms)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failed => 'Failed';
|
||||
}
|
||||
|
||||
@@ -888,4 +888,106 @@ class AppLocalizationsHr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get sarAlert => 'SAR UZBUNA';
|
||||
|
||||
@override
|
||||
String get messageSentToPublicChannel => 'Poruka poslana na javni kanal';
|
||||
|
||||
@override
|
||||
String get pleaseSelectRoomToSendSar =>
|
||||
'Molimo odaberite sobu za slanje SAR markera';
|
||||
|
||||
@override
|
||||
String failedToSendSarMarker(String error) {
|
||||
return 'Neuspjelo slanje SAR markera: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String sarMarkerSentTo(String roomName) {
|
||||
return 'SAR marker poslan u $roomName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get notConnectedCannotSync =>
|
||||
'Nije povezano - ne može se sinkronizirati poruke';
|
||||
|
||||
@override
|
||||
String syncedMessageCount(int count) {
|
||||
return 'Sinkronizirano $count poruka';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noNewMessages => 'Nema novih poruka';
|
||||
|
||||
@override
|
||||
String syncFailed(String error) {
|
||||
return 'Sinkronizacija nije uspjela: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failedToResendMessage => 'Neuspjelo ponovno slanje poruke';
|
||||
|
||||
@override
|
||||
String get retryingMessage => 'Ponovni pokušaj slanja poruke...';
|
||||
|
||||
@override
|
||||
String retryFailed(String error) {
|
||||
return 'Ponovni pokušaj nije uspio: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get textCopiedToClipboard => 'Tekst kopiran u međuspremnik';
|
||||
|
||||
@override
|
||||
String get cannotReplySenderMissing =>
|
||||
'Ne mogu odgovoriti: informacije o pošiljatelju nedostaju';
|
||||
|
||||
@override
|
||||
String get cannotReplyContactNotFound =>
|
||||
'Ne mogu odgovoriti: kontakt nije pronađen';
|
||||
|
||||
@override
|
||||
String get messageDeleted => 'Poruka izbrisana';
|
||||
|
||||
@override
|
||||
String get refreshedContacts => 'Kontakti osvježeni';
|
||||
|
||||
@override
|
||||
String get justNow => 'Upravo sada';
|
||||
|
||||
@override
|
||||
String minutesAgo(int minutes) {
|
||||
return 'prije ${minutes}m';
|
||||
}
|
||||
|
||||
@override
|
||||
String hoursAgo(int hours) {
|
||||
return 'prije ${hours}h';
|
||||
}
|
||||
|
||||
@override
|
||||
String daysAgo(int days) {
|
||||
return 'prije ${days}d';
|
||||
}
|
||||
|
||||
@override
|
||||
String secondsAgo(int seconds) {
|
||||
return 'prije ${seconds}s';
|
||||
}
|
||||
|
||||
@override
|
||||
String get sending => 'Slanje...';
|
||||
|
||||
@override
|
||||
String get sent => 'Poslano';
|
||||
|
||||
@override
|
||||
String get delivered => 'Dostavljeno';
|
||||
|
||||
@override
|
||||
String deliveredWithTime(int time) {
|
||||
return 'Dostavljeno (${time}ms)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failed => 'Neuspjelo';
|
||||
}
|
||||
|
||||
@@ -888,4 +888,106 @@ class AppLocalizationsSl extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get sarAlert => 'SAR ALARM';
|
||||
|
||||
@override
|
||||
String get messageSentToPublicChannel => 'Sporočilo poslano na javni kanal';
|
||||
|
||||
@override
|
||||
String get pleaseSelectRoomToSendSar =>
|
||||
'Prosimo, izberite sobo za pošiljanje SAR označevalca';
|
||||
|
||||
@override
|
||||
String failedToSendSarMarker(String error) {
|
||||
return 'Pošiljanje SAR označevalca ni uspelo: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String sarMarkerSentTo(String roomName) {
|
||||
return 'SAR označevalec poslan v $roomName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get notConnectedCannotSync =>
|
||||
'Ni povezano - sporočil ni mogoče sinhronizirati';
|
||||
|
||||
@override
|
||||
String syncedMessageCount(int count) {
|
||||
return 'Sinhronizirano $count sporočil';
|
||||
}
|
||||
|
||||
@override
|
||||
String get noNewMessages => 'Ni novih sporočil';
|
||||
|
||||
@override
|
||||
String syncFailed(String error) {
|
||||
return 'Sinhronizacija ni uspela: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failedToResendMessage => 'Ponovno pošiljanje sporočila ni uspelo';
|
||||
|
||||
@override
|
||||
String get retryingMessage => 'Ponovni poskus pošiljanja sporočila...';
|
||||
|
||||
@override
|
||||
String retryFailed(String error) {
|
||||
return 'Ponovni poskus ni uspel: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get textCopiedToClipboard => 'Besedilo kopirano v odložišče';
|
||||
|
||||
@override
|
||||
String get cannotReplySenderMissing =>
|
||||
'Ni mogoče odgovoriti: informacije o pošiljatelju manjkajo';
|
||||
|
||||
@override
|
||||
String get cannotReplyContactNotFound =>
|
||||
'Ni mogoče odgovoriti: stik ni najden';
|
||||
|
||||
@override
|
||||
String get messageDeleted => 'Sporočilo izbrisano';
|
||||
|
||||
@override
|
||||
String get refreshedContacts => 'Stiki osveženi';
|
||||
|
||||
@override
|
||||
String get justNow => 'Pravkar';
|
||||
|
||||
@override
|
||||
String minutesAgo(int minutes) {
|
||||
return 'pred ${minutes}m';
|
||||
}
|
||||
|
||||
@override
|
||||
String hoursAgo(int hours) {
|
||||
return 'pred ${hours}h';
|
||||
}
|
||||
|
||||
@override
|
||||
String daysAgo(int days) {
|
||||
return 'pred ${days}d';
|
||||
}
|
||||
|
||||
@override
|
||||
String secondsAgo(int seconds) {
|
||||
return 'pred ${seconds}s';
|
||||
}
|
||||
|
||||
@override
|
||||
String get sending => 'Pošiljanje...';
|
||||
|
||||
@override
|
||||
String get sent => 'Poslano';
|
||||
|
||||
@override
|
||||
String get delivered => 'Dostavljeno';
|
||||
|
||||
@override
|
||||
String deliveredWithTime(int time) {
|
||||
return 'Dostavljeno (${time}ms)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get failed => 'Neuspešno';
|
||||
}
|
||||
|
||||
@@ -535,5 +535,37 @@
|
||||
|
||||
"deliveredWithTime": "Dostavljeno ({time}ms)",
|
||||
|
||||
"failed": "Neuspešno"
|
||||
"failed": "Neuspešno",
|
||||
|
||||
"messageSentToPublicChannel": "Sporočilo poslano na javni kanal",
|
||||
|
||||
"pleaseSelectRoomToSendSar": "Prosimo, izberite sobo za pošiljanje SAR označevalca",
|
||||
|
||||
"failedToSendSarMarker": "Pošiljanje SAR označevalca ni uspelo: {error}",
|
||||
|
||||
"sarMarkerSentTo": "SAR označevalec poslan v {roomName}",
|
||||
|
||||
"notConnectedCannotSync": "Ni povezano - sporočil ni mogoče sinhronizirati",
|
||||
|
||||
"syncedMessageCount": "Sinhronizirano {count} sporočil",
|
||||
|
||||
"noNewMessages": "Ni novih sporočil",
|
||||
|
||||
"syncFailed": "Sinhronizacija ni uspela: {error}",
|
||||
|
||||
"failedToResendMessage": "Ponovno pošiljanje sporočila ni uspelo",
|
||||
|
||||
"retryingMessage": "Ponovni poskus pošiljanja sporočila...",
|
||||
|
||||
"retryFailed": "Ponovni poskus ni uspel: {error}",
|
||||
|
||||
"textCopiedToClipboard": "Besedilo kopirano v odložišče",
|
||||
|
||||
"cannotReplySenderMissing": "Ni mogoče odgovoriti: informacije o pošiljatelju manjkajo",
|
||||
|
||||
"cannotReplyContactNotFound": "Ni mogoče odgovoriti: stik ni najden",
|
||||
|
||||
"messageDeleted": "Sporočilo izbrisano",
|
||||
|
||||
"refreshedContacts": "Stiki osveženi"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user