added timestamping on a message in chats and channels

This commit is contained in:
Krasimir Kazakov 2026-04-14 07:03:51 +03:00
parent 89a14c2719
commit 622e3e0bc9
39 changed files with 1263 additions and 0 deletions

View file

@ -804,6 +804,26 @@
"time_months": "месеци",
"time_minutes": "минути",
"time_allTime": "Всичко време",
"month_jan": "яну",
"month_feb": "фев",
"month_mar": "мар",
"month_apr": "апр",
"month_may": "май",
"month_jun": "юни",
"month_jul": "юли",
"month_aug": "авг",
"month_sep": "сеп",
"month_oct": "окт",
"month_nov": "ное",
"month_dec": "дек",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Прекъсни",
"dialog_disconnectConfirm": "Сигурни ли сте, че искате да се откъснете от това устройство?",
"login_repeaterLogin": "Повторител Вход",

View file

@ -804,6 +804,26 @@
"time_months": "Monate",
"time_minutes": "Minuten",
"time_allTime": "Ganzer Zeitraum",
"month_jan": "Jan",
"month_feb": "Feb",
"month_mar": "Mär",
"month_apr": "Apr",
"month_may": "Mai",
"month_jun": "Jun",
"month_jul": "Jul",
"month_aug": "Aug",
"month_sep": "Sep",
"month_oct": "Okt",
"month_nov": "Nov",
"month_dec": "Dez",
"message_timestampWithDate": "{day}. {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Trennen",
"dialog_disconnectConfirm": "Sind Sie sicher, dass Sie sich von diesem Gerät trennen möchten?",
"login_repeaterLogin": "Beim Repeater anmelden",

View file

@ -1017,6 +1017,32 @@
"time_months": "months",
"time_minutes": "minutes",
"time_allTime": "All Time",
"month_jan": "Jan",
"month_feb": "Feb",
"month_mar": "Mar",
"month_apr": "Apr",
"month_may": "May",
"month_jun": "Jun",
"month_jul": "Jul",
"month_aug": "Aug",
"month_sep": "Sep",
"month_oct": "Oct",
"month_nov": "Nov",
"month_dec": "Dec",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": {
"type": "int"
},
"month": {
"type": "String"
},
"time": {
"type": "String"
}
}
},
"dialog_disconnect": "Disconnect",
"dialog_disconnectConfirm": "Are you sure you want to disconnect from this device?",
"login_repeaterLogin": "Repeater Login",

View file

@ -804,6 +804,26 @@
"time_months": "meses",
"time_minutes": "minutos",
"time_allTime": "Todas las veces",
"month_jan": "ene",
"month_feb": "feb",
"month_mar": "mar",
"month_apr": "abr",
"month_may": "may",
"month_jun": "jun",
"month_jul": "jul",
"month_aug": "ago",
"month_sep": "sep",
"month_oct": "oct",
"month_nov": "nov",
"month_dec": "dic",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Desconectar",
"dialog_disconnectConfirm": "¿Está seguro de que desea desconectarse de este dispositivo?",
"login_repeaterLogin": "Iniciar sesión en el Repetidor",

View file

@ -804,6 +804,26 @@
"time_months": "mois",
"time_minutes": "minutes",
"time_allTime": "Tout le temps",
"month_jan": "janv.",
"month_feb": "févr.",
"month_mar": "mars",
"month_apr": "avr.",
"month_may": "mai",
"month_jun": "juin",
"month_jul": "juil.",
"month_aug": "août",
"month_sep": "sept.",
"month_oct": "oct.",
"month_nov": "nov.",
"month_dec": "déc.",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Déconnecter",
"dialog_disconnectConfirm": "Êtes-vous sûr de vouloir vous déconnecter de cet appareil ?",
"login_repeaterLogin": "Connexion au répéteur",

View file

@ -987,6 +987,26 @@
"time_months": "hónapok",
"time_minutes": "percek",
"time_allTime": "Bármely időpont",
"month_jan": "jan",
"month_feb": "feb",
"month_mar": "márc",
"month_apr": "ápr",
"month_may": "máj",
"month_jun": "jún",
"month_jul": "júl",
"month_aug": "aug",
"month_sep": "szept",
"month_oct": "okt",
"month_nov": "nov",
"month_dec": "dec",
"message_timestampWithDate": "{month} {day}. {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Csatlakozást megszakasztani",
"dialog_disconnectConfirm": "Biztosan szeretné kiírni ezt a készüléket?",
"login_repeaterLogin": "Ismételt bejelentkezés",

View file

@ -804,6 +804,26 @@
"time_months": "mesi",
"time_minutes": "minuti",
"time_allTime": "Tutto il Tempo",
"month_jan": "gen",
"month_feb": "feb",
"month_mar": "mar",
"month_apr": "apr",
"month_may": "mag",
"month_jun": "giu",
"month_jul": "lug",
"month_aug": "ago",
"month_sep": "set",
"month_oct": "ott",
"month_nov": "nov",
"month_dec": "dic",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Disconnetti",
"dialog_disconnectConfirm": "Sei sicuro di voler disconnetterti da questo dispositivo?",
"login_repeaterLogin": "Login Ripetitore",

View file

@ -987,6 +987,26 @@
"time_months": "月",
"time_minutes": "分",
"time_allTime": "全期間",
"month_jan": "1月",
"month_feb": "2月",
"month_mar": "3月",
"month_apr": "4月",
"month_may": "5月",
"month_jun": "6月",
"month_jul": "7月",
"month_aug": "8月",
"month_sep": "9月",
"month_oct": "10月",
"month_nov": "11月",
"month_dec": "12月",
"message_timestampWithDate": "{month}{day}日 {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "切断する",
"dialog_disconnectConfirm": "本当にこのデバイスとの接続を解除したいですか?",
"login_repeaterLogin": "再ログイン",

View file

@ -987,6 +987,26 @@
"time_months": "개월",
"time_minutes": "분",
"time_allTime": "모든 시간",
"month_jan": "1월",
"month_feb": "2월",
"month_mar": "3월",
"month_apr": "4월",
"month_may": "5월",
"month_jun": "6월",
"month_jul": "7월",
"month_aug": "8월",
"month_sep": "9월",
"month_oct": "10월",
"month_nov": "11월",
"month_dec": "12월",
"message_timestampWithDate": "{month} {day}일, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "연결 해제",
"dialog_disconnectConfirm": "이 장치와의 연결을 해제하시겠습니까?",
"login_repeaterLogin": "다시 로그인",

View file

@ -3381,6 +3381,84 @@ abstract class AppLocalizations {
/// **'All Time'**
String get time_allTime;
/// No description provided for @month_jan.
///
/// In en, this message translates to:
/// **'Jan'**
String get month_jan;
/// No description provided for @month_feb.
///
/// In en, this message translates to:
/// **'Feb'**
String get month_feb;
/// No description provided for @month_mar.
///
/// In en, this message translates to:
/// **'Mar'**
String get month_mar;
/// No description provided for @month_apr.
///
/// In en, this message translates to:
/// **'Apr'**
String get month_apr;
/// No description provided for @month_may.
///
/// In en, this message translates to:
/// **'May'**
String get month_may;
/// No description provided for @month_jun.
///
/// In en, this message translates to:
/// **'Jun'**
String get month_jun;
/// No description provided for @month_jul.
///
/// In en, this message translates to:
/// **'Jul'**
String get month_jul;
/// No description provided for @month_aug.
///
/// In en, this message translates to:
/// **'Aug'**
String get month_aug;
/// No description provided for @month_sep.
///
/// In en, this message translates to:
/// **'Sep'**
String get month_sep;
/// No description provided for @month_oct.
///
/// In en, this message translates to:
/// **'Oct'**
String get month_oct;
/// No description provided for @month_nov.
///
/// In en, this message translates to:
/// **'Nov'**
String get month_nov;
/// No description provided for @month_dec.
///
/// In en, this message translates to:
/// **'Dec'**
String get month_dec;
/// No description provided for @message_timestampWithDate.
///
/// In en, this message translates to:
/// **'{day} {month}, {time}'**
String message_timestampWithDate(int day, String month, String time);
/// No description provided for @dialog_disconnect.
///
/// In en, this message translates to:

View file

@ -1878,6 +1878,47 @@ class AppLocalizationsBg extends AppLocalizations {
@override
String get time_allTime => 'Всичко време';
@override
String get month_jan => 'яну';
@override
String get month_feb => 'фев';
@override
String get month_mar => 'мар';
@override
String get month_apr => 'апр';
@override
String get month_may => 'май';
@override
String get month_jun => 'юни';
@override
String get month_jul => 'юли';
@override
String get month_aug => 'авг';
@override
String get month_sep => 'сеп';
@override
String get month_oct => 'окт';
@override
String get month_nov => 'ное';
@override
String get month_dec => 'дек';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Прекъсни';

View file

@ -1876,6 +1876,47 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get time_allTime => 'Ganzer Zeitraum';
@override
String get month_jan => 'Jan';
@override
String get month_feb => 'Feb';
@override
String get month_mar => 'Mär';
@override
String get month_apr => 'Apr';
@override
String get month_may => 'Mai';
@override
String get month_jun => 'Jun';
@override
String get month_jul => 'Jul';
@override
String get month_aug => 'Aug';
@override
String get month_sep => 'Sep';
@override
String get month_oct => 'Okt';
@override
String get month_nov => 'Nov';
@override
String get month_dec => 'Dez';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day. $month, $time';
}
@override
String get dialog_disconnect => 'Trennen';

View file

@ -1840,6 +1840,47 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get time_allTime => 'All Time';
@override
String get month_jan => 'Jan';
@override
String get month_feb => 'Feb';
@override
String get month_mar => 'Mar';
@override
String get month_apr => 'Apr';
@override
String get month_may => 'May';
@override
String get month_jun => 'Jun';
@override
String get month_jul => 'Jul';
@override
String get month_aug => 'Aug';
@override
String get month_sep => 'Sep';
@override
String get month_oct => 'Oct';
@override
String get month_nov => 'Nov';
@override
String get month_dec => 'Dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Disconnect';

View file

@ -1874,6 +1874,47 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get time_allTime => 'Todas las veces';
@override
String get month_jan => 'ene';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'abr';
@override
String get month_may => 'may';
@override
String get month_jun => 'jun';
@override
String get month_jul => 'jul';
@override
String get month_aug => 'ago';
@override
String get month_sep => 'sep';
@override
String get month_oct => 'oct';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dic';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Desconectar';

View file

@ -1885,6 +1885,47 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get time_allTime => 'Tout le temps';
@override
String get month_jan => 'janv.';
@override
String get month_feb => 'févr.';
@override
String get month_mar => 'mars';
@override
String get month_apr => 'avr.';
@override
String get month_may => 'mai';
@override
String get month_jun => 'juin';
@override
String get month_jul => 'juil.';
@override
String get month_aug => 'août';
@override
String get month_sep => 'sept.';
@override
String get month_oct => 'oct.';
@override
String get month_nov => 'nov.';
@override
String get month_dec => 'déc.';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Déconnecter';

View file

@ -1887,6 +1887,47 @@ class AppLocalizationsHu extends AppLocalizations {
@override
String get time_allTime => 'Bármely időpont';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'márc';
@override
String get month_apr => 'ápr';
@override
String get month_may => 'máj';
@override
String get month_jun => 'jún';
@override
String get month_jul => 'júl';
@override
String get month_aug => 'aug';
@override
String get month_sep => 'szept';
@override
String get month_oct => 'okt';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$month $day. $time';
}
@override
String get dialog_disconnect => 'Csatlakozást megszakasztani';

View file

@ -1875,6 +1875,47 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get time_allTime => 'Tutto il Tempo';
@override
String get month_jan => 'gen';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'apr';
@override
String get month_may => 'mag';
@override
String get month_jun => 'giu';
@override
String get month_jul => 'lug';
@override
String get month_aug => 'ago';
@override
String get month_sep => 'set';
@override
String get month_oct => 'ott';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dic';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Disconnetti';

View file

@ -1798,6 +1798,47 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get time_allTime => '全期間';
@override
String get month_jan => '1月';
@override
String get month_feb => '2月';
@override
String get month_mar => '3月';
@override
String get month_apr => '4月';
@override
String get month_may => '5月';
@override
String get month_jun => '6月';
@override
String get month_jul => '7月';
@override
String get month_aug => '8月';
@override
String get month_sep => '9月';
@override
String get month_oct => '10月';
@override
String get month_nov => '11月';
@override
String get month_dec => '12月';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$month$day日 $time';
}
@override
String get dialog_disconnect => '切断する';

View file

@ -1794,6 +1794,47 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get time_allTime => '모든 시간';
@override
String get month_jan => '1월';
@override
String get month_feb => '2월';
@override
String get month_mar => '3월';
@override
String get month_apr => '4월';
@override
String get month_may => '5월';
@override
String get month_jun => '6월';
@override
String get month_jul => '7월';
@override
String get month_aug => '8월';
@override
String get month_sep => '9월';
@override
String get month_oct => '10월';
@override
String get month_nov => '11월';
@override
String get month_dec => '12월';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$month $day일, $time';
}
@override
String get dialog_disconnect => '연결 해제';

View file

@ -1863,6 +1863,47 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get time_allTime => 'Alle tijd';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mrt';
@override
String get month_apr => 'apr';
@override
String get month_may => 'mei';
@override
String get month_jun => 'jun';
@override
String get month_jul => 'jul';
@override
String get month_aug => 'aug';
@override
String get month_sep => 'sep';
@override
String get month_oct => 'okt';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Verbinden verbreken';

View file

@ -1888,6 +1888,47 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get time_allTime => 'Cały czas';
@override
String get month_jan => 'sty';
@override
String get month_feb => 'lut';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'kwi';
@override
String get month_may => 'maj';
@override
String get month_jun => 'cze';
@override
String get month_jul => 'lip';
@override
String get month_aug => 'sie';
@override
String get month_sep => 'wrz';
@override
String get month_oct => 'paź';
@override
String get month_nov => 'lis';
@override
String get month_dec => 'gru';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Odłącz';

View file

@ -1874,6 +1874,47 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get time_allTime => 'Todos os tempos';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'fev';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'abr';
@override
String get month_may => 'mai';
@override
String get month_jun => 'jun';
@override
String get month_jul => 'jul';
@override
String get month_aug => 'ago';
@override
String get month_sep => 'set';
@override
String get month_oct => 'out';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dez';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day de $month, $time';
}
@override
String get dialog_disconnect => 'Desconectar';

View file

@ -1877,6 +1877,47 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get time_allTime => 'Всё время';
@override
String get month_jan => 'янв';
@override
String get month_feb => 'фев';
@override
String get month_mar => 'мар';
@override
String get month_apr => 'апр';
@override
String get month_may => 'мая';
@override
String get month_jun => 'июн';
@override
String get month_jul => 'июл';
@override
String get month_aug => 'авг';
@override
String get month_sep => 'сен';
@override
String get month_oct => 'окт';
@override
String get month_nov => 'ноя';
@override
String get month_dec => 'дек';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Отключиться';

View file

@ -1862,6 +1862,47 @@ class AppLocalizationsSk extends AppLocalizations {
@override
String get time_allTime => 'Všetko Časom';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'apr';
@override
String get month_may => 'máj';
@override
String get month_jun => 'jún';
@override
String get month_jul => 'júl';
@override
String get month_aug => 'aug';
@override
String get month_sep => 'sep';
@override
String get month_oct => 'okt';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day. $month, $time';
}
@override
String get dialog_disconnect => 'Odpojiť';

View file

@ -1861,6 +1861,47 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get time_allTime => 'Vse časovno obdobje';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'apr';
@override
String get month_may => 'maj';
@override
String get month_jun => 'jun';
@override
String get month_jul => 'jul';
@override
String get month_aug => 'avg';
@override
String get month_sep => 'sep';
@override
String get month_oct => 'okt';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day. $month, $time';
}
@override
String get dialog_disconnect => 'Odklopiti';

View file

@ -1850,6 +1850,47 @@ class AppLocalizationsSv extends AppLocalizations {
@override
String get time_allTime => 'Alla tider';
@override
String get month_jan => 'jan';
@override
String get month_feb => 'feb';
@override
String get month_mar => 'mar';
@override
String get month_apr => 'apr';
@override
String get month_may => 'maj';
@override
String get month_jun => 'jun';
@override
String get month_jul => 'jul';
@override
String get month_aug => 'aug';
@override
String get month_sep => 'sep';
@override
String get month_oct => 'okt';
@override
String get month_nov => 'nov';
@override
String get month_dec => 'dec';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Koppla från';

View file

@ -1872,6 +1872,47 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get time_allTime => 'Весь час';
@override
String get month_jan => 'січ';
@override
String get month_feb => 'лют';
@override
String get month_mar => 'бер';
@override
String get month_apr => 'квіт';
@override
String get month_may => 'трав';
@override
String get month_jun => 'черв';
@override
String get month_jul => 'лип';
@override
String get month_aug => 'серп';
@override
String get month_sep => 'вер';
@override
String get month_oct => 'жовт';
@override
String get month_nov => 'лист';
@override
String get month_dec => 'груд';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$day $month, $time';
}
@override
String get dialog_disconnect => 'Відключити';

View file

@ -1766,6 +1766,47 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get time_allTime => '所有时间';
@override
String get month_jan => '1月';
@override
String get month_feb => '2月';
@override
String get month_mar => '3月';
@override
String get month_apr => '4月';
@override
String get month_may => '5月';
@override
String get month_jun => '6月';
@override
String get month_jul => '7月';
@override
String get month_aug => '8月';
@override
String get month_sep => '9月';
@override
String get month_oct => '10月';
@override
String get month_nov => '11月';
@override
String get month_dec => '12月';
@override
String message_timestampWithDate(int day, String month, String time) {
return '$month$day日 $time';
}
@override
String get dialog_disconnect => '断开';

View file

@ -804,6 +804,26 @@
"time_months": "maanden",
"time_minutes": "minuten",
"time_allTime": "Alle tijd",
"month_jan": "jan",
"month_feb": "feb",
"month_mar": "mrt",
"month_apr": "apr",
"month_may": "mei",
"month_jun": "jun",
"month_jul": "jul",
"month_aug": "aug",
"month_sep": "sep",
"month_oct": "okt",
"month_nov": "nov",
"month_dec": "dec",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Verbinden verbreken",
"dialog_disconnectConfirm": "Ben je er zeker van dat je verbinding met dit apparaat wilt verbreken?",
"login_repeaterLogin": "Inloggen Repeater",

View file

@ -814,6 +814,26 @@
"time_months": "miesiące",
"time_minutes": "minuty",
"time_allTime": "Cały czas",
"month_jan": "sty",
"month_feb": "lut",
"month_mar": "mar",
"month_apr": "kwi",
"month_may": "maj",
"month_jun": "cze",
"month_jul": "lip",
"month_aug": "sie",
"month_sep": "wrz",
"month_oct": "paź",
"month_nov": "lis",
"month_dec": "gru",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Odłącz",
"dialog_disconnectConfirm": "Czy na pewno chcesz się odłączyć od tego urządzenia?",
"login_repeaterLogin": "Logowanie do przekaźnika",

View file

@ -804,6 +804,26 @@
"time_months": "meses",
"time_minutes": "minutos",
"time_allTime": "Todos os tempos",
"month_jan": "jan",
"month_feb": "fev",
"month_mar": "mar",
"month_apr": "abr",
"month_may": "mai",
"month_jun": "jun",
"month_jul": "jul",
"month_aug": "ago",
"month_sep": "set",
"month_oct": "out",
"month_nov": "nov",
"month_dec": "dez",
"message_timestampWithDate": "{day} de {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Desconectar",
"dialog_disconnectConfirm": "Tem certeza de que deseja desconectar deste dispositivo?",
"login_repeaterLogin": "Login ao Repetidor",

View file

@ -434,6 +434,26 @@
"time_months": "месяцев",
"time_minutes": "минут",
"time_allTime": "Всё время",
"month_jan": "янв",
"month_feb": "фев",
"month_mar": "мар",
"month_apr": "апр",
"month_may": "мая",
"month_jun": "июн",
"month_jul": "июл",
"month_aug": "авг",
"month_sep": "сен",
"month_oct": "окт",
"month_nov": "ноя",
"month_dec": "дек",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Отключиться",
"dialog_disconnectConfirm": "Вы уверены, что хотите отключиться от этого устройства?",
"login_repeaterLogin": "Вход в репитер",

View file

@ -804,6 +804,26 @@
"time_months": "mesiace",
"time_minutes": "minúty",
"time_allTime": "Všetko Časom",
"month_jan": "jan",
"month_feb": "feb",
"month_mar": "mar",
"month_apr": "apr",
"month_may": "máj",
"month_jun": "jún",
"month_jul": "júl",
"month_aug": "aug",
"month_sep": "sep",
"month_oct": "okt",
"month_nov": "nov",
"month_dec": "dec",
"message_timestampWithDate": "{day}. {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Odpojiť",
"dialog_disconnectConfirm": "Ste si istý/á, že chcete odpojiť od tohto zariadenia?",
"login_repeaterLogin": "Opätovné prihlásenie",

View file

@ -804,6 +804,26 @@
"time_months": "mesi",
"time_minutes": "minute",
"time_allTime": "Vse časovno obdobje",
"month_jan": "jan",
"month_feb": "feb",
"month_mar": "mar",
"month_apr": "apr",
"month_may": "maj",
"month_jun": "jun",
"month_jul": "jul",
"month_aug": "avg",
"month_sep": "sep",
"month_oct": "okt",
"month_nov": "nov",
"month_dec": "dec",
"message_timestampWithDate": "{day}. {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Odklopiti",
"dialog_disconnectConfirm": "Ste prepričani, da želite se odklopiti s tega naprave?",
"login_repeaterLogin": "Ponovni vnos",

View file

@ -804,6 +804,26 @@
"time_months": "månader",
"time_minutes": "minuter",
"time_allTime": "Alla tider",
"month_jan": "jan",
"month_feb": "feb",
"month_mar": "mar",
"month_apr": "apr",
"month_may": "maj",
"month_jun": "jun",
"month_jul": "jul",
"month_aug": "aug",
"month_sep": "sep",
"month_oct": "okt",
"month_nov": "nov",
"month_dec": "dec",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Koppla från",
"dialog_disconnectConfirm": "Är du säker på att du vill koppla från enheten?",
"login_repeaterLogin": "Återuppta Inloggning",

View file

@ -805,6 +805,26 @@
"time_months": "місяців",
"time_minutes": "хвилин",
"time_allTime": "Весь час",
"month_jan": "січ",
"month_feb": "лют",
"month_mar": "бер",
"month_apr": "квіт",
"month_may": "трав",
"month_jun": "черв",
"month_jul": "лип",
"month_aug": "серп",
"month_sep": "вер",
"month_oct": "жовт",
"month_nov": "лист",
"month_dec": "груд",
"message_timestampWithDate": "{day} {month}, {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "Відключити",
"dialog_disconnectConfirm": "Ви впевнені, що хочете відключитися від цього пристрою?",
"login_repeaterLogin": "Вхід у ретранслятор",

View file

@ -831,6 +831,26 @@
"time_months": "月",
"time_minutes": "分钟",
"time_allTime": "所有时间",
"month_jan": "1月",
"month_feb": "2月",
"month_mar": "3月",
"month_apr": "4月",
"month_may": "5月",
"month_jun": "6月",
"month_jul": "7月",
"month_aug": "8月",
"month_sep": "9月",
"month_oct": "10月",
"month_nov": "11月",
"month_dec": "12月",
"message_timestampWithDate": "{month}{day}日 {time}",
"@message_timestampWithDate": {
"placeholders": {
"day": { "type": "int" },
"month": { "type": "String" },
"time": { "type": "String" }
}
},
"dialog_disconnect": "断开",
"dialog_disconnectConfirm": "确定要断开与此设备的连接吗?",
"login_repeaterLogin": "转发节点登录",

View file

@ -547,6 +547,19 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
],
],
),
if (gifId == null) ...[
const SizedBox(height: 4),
Align(
alignment: Alignment.centerRight,
child: Text(
_formatTimestamp(message.timestamp),
style: TextStyle(
fontSize: 11,
color: Colors.grey[400],
),
),
),
],
if (enableTracing) ...[
if (displayPath.isNotEmpty) ...[
const SizedBox(height: 4),
@ -1223,6 +1236,35 @@ class _ChannelChatScreenState extends State<ChannelChatScreen> {
}
}
String _formatTimestamp(DateTime time) {
final l10n = context.l10n;
final now = DateTime.now();
final today = DateTime(now.year, now.month, now.day);
final messageDate = DateTime(time.year, time.month, time.day);
final timeStr = '${time.hour}:${time.minute.toString().padLeft(2, '0')}';
if (messageDate == today) {
return timeStr;
}
final monthNames = [
l10n.month_jan,
l10n.month_feb,
l10n.month_mar,
l10n.month_apr,
l10n.month_may,
l10n.month_jun,
l10n.month_jul,
l10n.month_aug,
l10n.month_sep,
l10n.month_oct,
l10n.month_nov,
l10n.month_dec,
];
final monthName = monthNames[time.month - 1];
return l10n.message_timestampWithDate(time.day, monthName, timeStr);
}
void _showMessagePathInfo(ChannelMessage message) {
Navigator.push(
context,

View file

@ -1751,6 +1751,16 @@ class _MessageBubble extends StatelessWidget {
],
],
),
if (gifId == null) ...[
const SizedBox(height: 4),
Align(
alignment: Alignment.centerRight,
child: Text(
_formatTimestamp(context, message.timestamp),
style: TextStyle(fontSize: 10, color: metaColor),
),
),
],
if (enableTracing) ...[
if (isOutgoing && message.retryCount > 0) ...[
const SizedBox(height: 4),
@ -2056,6 +2066,35 @@ class _MessageBubble extends StatelessWidget {
final minute = time.minute.toString().padLeft(2, '0');
return '$hour:$minute';
}
String _formatTimestamp(BuildContext context, DateTime time) {
final l10n = context.l10n;
final now = DateTime.now();
final today = DateTime(now.year, now.month, now.day);
final messageDate = DateTime(time.year, time.month, time.day);
final timeStr = '${time.hour}:${time.minute.toString().padLeft(2, '0')}';
if (messageDate == today) {
return timeStr;
}
final monthNames = [
l10n.month_jan,
l10n.month_feb,
l10n.month_mar,
l10n.month_apr,
l10n.month_may,
l10n.month_jun,
l10n.month_jul,
l10n.month_aug,
l10n.month_sep,
l10n.month_oct,
l10n.month_nov,
l10n.month_dec,
];
final monthName = monthNames[time.month - 1];
return l10n.message_timestampWithDate(time.day, monthName, timeStr);
}
}
class _PoiInfo {