Merge pull request 'Streamer Mode Date Redaction / Format Fixes / A Few More Font Fixes' (#732) from stable-blockers into trunk
continuous-integration/drone/push Build is pending
Details
continuous-integration/drone/push Build is pending
Details
Reviewed-on: #732 Reviewed-by: Dan Ballard <dan@openprivacy.ca>
This commit is contained in:
commit
ae9301c8d0
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "cy",
|
"@@locale": "cy",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "da",
|
"@@locale": "da",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "de",
|
"@@locale": "de",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "el",
|
"@@locale": "el",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "en",
|
"@@locale": "en",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "es",
|
"@@locale": "es",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "fr",
|
"@@locale": "fr",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "it",
|
"@@locale": "it",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "ja",
|
"@@locale": "ja",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "ko",
|
"@@locale": "ko",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "lb",
|
"@@locale": "lb",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "nl",
|
"@@locale": "nl",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "no",
|
"@@locale": "no",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "pl",
|
"@@locale": "pl",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "pt",
|
"@@locale": "pt",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "pt_BR",
|
"@@locale": "pt_BR",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "ro",
|
"@@locale": "ro",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "ru",
|
"@@locale": "ru",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "sk",
|
"@@locale": "sk",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "sv",
|
"@@locale": "sv",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "sw",
|
"@@locale": "sw",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "tr",
|
"@@locale": "tr",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"@@locale": "uk",
|
"@@locale": "uk",
|
||||||
"@@last_modified": "2023-09-20T21:00:37+02:00",
|
"@@last_modified": "2023-09-25T19:25:43+02:00",
|
||||||
|
"now": "Now",
|
||||||
|
"xSecondsAgo": "$seconds seconds ago",
|
||||||
|
"xMinutesAgo": "$minutes minutes ago",
|
||||||
|
"xHoursAgo": "$hours hours ago",
|
||||||
|
"xDaysAgo": "$days days ago",
|
||||||
|
"profileOfflineAtStart": "Appear Online at Startup",
|
||||||
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
"profileAllowUnknownContacts": "Allow Unknown Contacts",
|
||||||
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
"profileBlockUnknownContacts": "Block Unknown Contacts",
|
||||||
"profileDisableProfile": "Disable Profile",
|
"profileDisableProfile": "Disable Profile",
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
String prettyDateString(BuildContext context, DateTime date) {
|
||||||
|
var settings = Provider.of<Settings>(context, listen: false);
|
||||||
|
if (settings.streamerMode) {
|
||||||
|
var now = DateTime.now();
|
||||||
|
if (date.millisecondsSinceEpoch == 0) {
|
||||||
|
return AppLocalizations.of(context)!.conversationNotificationPolicyNever;
|
||||||
|
}
|
||||||
|
if (now.difference(date).abs().inDays > 1) {
|
||||||
|
return AppLocalizations.of(context)!.xDaysAgo.replaceAll("\$days", now.difference(date).abs().inDays.toString());
|
||||||
|
}
|
||||||
|
if (now.difference(date).abs().inHours > 1) {
|
||||||
|
return AppLocalizations.of(context)!.xHoursAgo.replaceAll("\$hours", now.difference(date).abs().inHours.toString());
|
||||||
|
}
|
||||||
|
if (now.difference(date).abs().inMinutes > 1) {
|
||||||
|
return AppLocalizations.of(context)!.xMinutesAgo.replaceAll("\$minutes", now.difference(date).abs().inMinutes.toString());
|
||||||
|
}
|
||||||
|
// This updates too frequently and looks a little silly. Leaving here as documentation, just in case we want this for something else...
|
||||||
|
// if (now.difference(date).abs().inSeconds > 1) {
|
||||||
|
// return AppLocalizations.of(context)!.xSecondsAgo.replaceAll("\$seconds", now.difference(date).abs().inSeconds.toString());
|
||||||
|
// }
|
||||||
|
return AppLocalizations.of(context)!.now;
|
||||||
|
}
|
||||||
|
return DateFormat.yMd(Platform.localeName).add_jm().format(date);
|
||||||
|
}
|
|
@ -50,14 +50,14 @@ class Formatter {
|
||||||
|
|
||||||
// regex to match **bold**
|
// regex to match **bold**
|
||||||
final _boldRegex = RegExp(
|
final _boldRegex = RegExp(
|
||||||
r'^(.*?)(\*\*([^*]*)\*\*)',
|
r'^(.*?)(\*\*([^*]+)\*\*)',
|
||||||
caseSensitive: false,
|
caseSensitive: false,
|
||||||
dotAll: true,
|
dotAll: true,
|
||||||
);
|
);
|
||||||
|
|
||||||
// regex to match *italic*
|
// regex to match *italic*
|
||||||
final _italicRegex = RegExp(
|
final _italicRegex = RegExp(
|
||||||
r'^(.*?)(\*([^*]*)\*)',
|
r'^(.*?)(\*([^*]+)\*)',
|
||||||
caseSensitive: false,
|
caseSensitive: false,
|
||||||
dotAll: true,
|
dotAll: true,
|
||||||
);
|
);
|
||||||
|
|
|
@ -637,6 +637,10 @@ class _MessageViewState extends State<MessageView> {
|
||||||
enableIMEPersonalizedLearning: false,
|
enableIMEPersonalizedLearning: false,
|
||||||
minLines: 1,
|
minLines: 1,
|
||||||
maxLength: max(1, (isGroup ? GroupMessageLengthMax : P2PMessageLengthMax) - numberOfBytesMoreThanChar),
|
maxLength: max(1, (isGroup ? GroupMessageLengthMax : P2PMessageLengthMax) - numberOfBytesMoreThanChar),
|
||||||
|
autocorrect: true,
|
||||||
|
buildCounter: (context, {currentLength = 0, isFocused = true, maxLength}) {
|
||||||
|
return Text("$currentLength/$maxLength", style: Provider.of<Settings>(context).scaleFonts(defaultTextStyle));
|
||||||
|
},
|
||||||
maxLengthEnforcement: MaxLengthEnforcement.enforced,
|
maxLengthEnforcement: MaxLengthEnforcement.enforced,
|
||||||
maxLines: 3,
|
maxLines: 3,
|
||||||
onFieldSubmitted: _sendMessage,
|
onFieldSubmitted: _sendMessage,
|
||||||
|
|
|
@ -4,6 +4,8 @@ import 'package:cwtch/models/appstate.dart';
|
||||||
import 'package:cwtch/models/contact.dart';
|
import 'package:cwtch/models/contact.dart';
|
||||||
import 'package:cwtch/models/contactlist.dart';
|
import 'package:cwtch/models/contactlist.dart';
|
||||||
import 'package:cwtch/models/profile.dart';
|
import 'package:cwtch/models/profile.dart';
|
||||||
|
import 'package:cwtch/models/redaction.dart';
|
||||||
|
import 'package:cwtch/themes/opaque.dart';
|
||||||
import 'package:cwtch/views/contactsview.dart';
|
import 'package:cwtch/views/contactsview.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:cwtch/widgets/profileimage.dart';
|
import 'package:cwtch/widgets/profileimage.dart';
|
||||||
|
@ -126,6 +128,7 @@ class _ContactRowState extends State<ContactRow> {
|
||||||
child: TextButton.icon(
|
child: TextButton.icon(
|
||||||
label: Text(
|
label: Text(
|
||||||
AppLocalizations.of(context)!.tooltipAcceptContactRequest,
|
AppLocalizations.of(context)!.tooltipAcceptContactRequest,
|
||||||
|
style: Provider.of<Settings>(context).scaleFonts(defaultTextButtonStyle),
|
||||||
),
|
),
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.favorite,
|
Icons.favorite,
|
||||||
|
@ -139,7 +142,7 @@ class _ContactRowState extends State<ContactRow> {
|
||||||
child: TextButton.icon(
|
child: TextButton.icon(
|
||||||
label: Text(
|
label: Text(
|
||||||
AppLocalizations.of(context)!.tooltipRejectContactRequest,
|
AppLocalizations.of(context)!.tooltipRejectContactRequest,
|
||||||
style: TextStyle(decoration: TextDecoration.underline),
|
style: Provider.of<Settings>(context).scaleFonts(defaultTextButtonStyle),
|
||||||
),
|
),
|
||||||
style: ButtonStyle(
|
style: ButtonStyle(
|
||||||
backgroundColor: MaterialStateProperty.all(Provider.of<Settings>(context).theme.backgroundPaneColor),
|
backgroundColor: MaterialStateProperty.all(Provider.of<Settings>(context).theme.backgroundPaneColor),
|
||||||
|
@ -148,7 +151,7 @@ class _ContactRowState extends State<ContactRow> {
|
||||||
onPressed: _btnReject,
|
onPressed: _btnReject,
|
||||||
))
|
))
|
||||||
])
|
])
|
||||||
: (contact.isBlocked != null && contact.isBlocked
|
: (contact.isBlocked
|
||||||
? IconButton(
|
? IconButton(
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
splashRadius: Material.defaultSplashRadius / 2,
|
splashRadius: Material.defaultSplashRadius / 2,
|
||||||
|
@ -156,7 +159,7 @@ class _ContactRowState extends State<ContactRow> {
|
||||||
icon: Icon(Icons.block, color: Provider.of<Settings>(context).theme.mainTextColor),
|
icon: Icon(Icons.block, color: Provider.of<Settings>(context).theme.mainTextColor),
|
||||||
onPressed: () {},
|
onPressed: () {},
|
||||||
)
|
)
|
||||||
: Text(dateToNiceString(widget.messageIndex == null ? contact.lastMessageTime : (this.cachedMessage?.getMetadata().timestamp ?? DateTime.now())))),
|
: Text(prettyDateString(context, widget.messageIndex == null ? contact.lastMessageTime : (this.cachedMessage?.getMetadata().timestamp ?? DateTime.now())))),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
))),
|
))),
|
||||||
|
@ -211,16 +214,4 @@ class _ContactRowState extends State<ContactRow> {
|
||||||
Provider.of<FlwtchState>(context, listen: false).cwtch.BlockContact(Provider.of<ContactInfoState>(context, listen: false).profileOnion, contact.identifier);
|
Provider.of<FlwtchState>(context, listen: false).cwtch.BlockContact(Provider.of<ContactInfoState>(context, listen: false).profileOnion, contact.identifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String dateToNiceString(DateTime date) {
|
|
||||||
if (date.millisecondsSinceEpoch == 0) {
|
|
||||||
return AppLocalizations.of(context)!.conversationNotificationPolicyNever;
|
|
||||||
}
|
|
||||||
// If the last message was over a day ago, just state the date
|
|
||||||
if (DateTime.now().difference(date).inDays > 0) {
|
|
||||||
return DateFormat.yMd(Platform.localeName).format(date.toLocal());
|
|
||||||
}
|
|
||||||
// Otherwise just state the time.
|
|
||||||
return DateFormat.Hm(Platform.localeName).format(date.toLocal());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import 'dart:io';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import '../models/redaction.dart';
|
||||||
import '../settings.dart';
|
import '../settings.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
|
||||||
|
@ -20,7 +21,7 @@ class MessageBubbleDecoration extends StatefulWidget {
|
||||||
class _MessageBubbleDecoration extends State<MessageBubbleDecoration> {
|
class _MessageBubbleDecoration extends State<MessageBubbleDecoration> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
var prettyDate = DateFormat.yMd(Platform.localeName).add_jm().format(widget.messageDate.toLocal());
|
var prettyDate = prettyDateString(context, widget.messageDate.toLocal());
|
||||||
|
|
||||||
return Center(
|
return Center(
|
||||||
widthFactor: 1.0,
|
widthFactor: 1.0,
|
||||||
|
|
Loading…
Reference in New Issue