Add Polish Template

This commit is contained in:
Sarah Jamie Lewis 2021-07-05 12:30:26 -07:00
parent afa6794f8d
commit 370a7fd1da
6 changed files with 169 additions and 110 deletions

View File

@ -1,6 +1,6 @@
{
"@@locale": "de",
"@@last_modified": "2021-06-29T19:15:43+02:00",
"@@last_modified": "2021-07-05T21:26:10+02:00",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"notificationNewMessageFromGroup": "Neue Nachricht in einer Gruppe!",
@ -42,16 +42,10 @@
"tooltipAddContact": "Neuen Kontakt oder Unterhaltung hinzufügen",
"titleManageContacts": "Unterhaltungen",
"titleManageServers": "Server verwalten",
"dateMonthsAgo": "Months Ago",
"dateNever": "Nie",
"dateYearsAgo": "X Years Ago (displayed next to a contact row to indicate time of last action)",
"dateLastYear": "Letzes Jahr",
"dateYesterday": "Gestern",
"dateLastMonth": "Letzter Monat",
"dateWeeksAgo": "Weeks Ago",
"dateDaysAgo": "Days Ago",
"dateHoursAgo": "Hours Ago",
"dateMinutesAgo": "Minutes Ago",
"dateRightNow": "Jetzt",
"successfullAddedContact": "Erfolgreich hinzugefügt",
"descriptionBlockUnknownConnections": "Falls aktiviert, wird diese Einstellung alle Verbindungen von Cwtch Usern autmoatisch schliessen, wenn sie nicht in deinen Kontakten sind.",

View File

@ -1,6 +1,6 @@
{
"@@locale": "en",
"@@last_modified": "2021-06-29T19:15:43+02:00",
"@@last_modified": "2021-07-05T21:26:10+02:00",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"notificationNewMessageFromGroup": "New message in a group!",
@ -42,16 +42,10 @@
"tooltipAddContact": "Add a new contact or conversation",
"titleManageContacts": "Conversations",
"titleManageServers": "Manage Servers",
"dateMonthsAgo": "Months Ago",
"dateNever": "Never",
"dateYearsAgo": "X Years Ago (displayed next to a contact row to indicate time of last action)",
"dateLastYear": "Last Year",
"dateYesterday": "Yesterday",
"dateLastMonth": "Last Month",
"dateWeeksAgo": "Weeks Ago",
"dateDaysAgo": "Days Ago",
"dateHoursAgo": "Hours Ago",
"dateMinutesAgo": "Minutes Ago",
"dateRightNow": "Right Now",
"successfullAddedContact": "Successfully added ",
"descriptionBlockUnknownConnections": "If turned on, this option will automatically close connections from Cwtch users that have not been added to your contact list.",

View File

@ -1,6 +1,6 @@
{
"@@locale": "es",
"@@last_modified": "2021-06-29T19:15:43+02:00",
"@@last_modified": "2021-07-05T21:26:10+02:00",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"notificationNewMessageFromGroup": "New message in a group!",
@ -42,16 +42,10 @@
"tooltipAddContact": "Add a new contact or conversation",
"titleManageContacts": "Conversations",
"titleManageServers": "Manage Servers",
"dateMonthsAgo": "Months Ago",
"dateNever": "Never",
"dateYearsAgo": "X Years Ago (displayed next to a contact row to indicate time of last action)",
"dateLastYear": "Last Year",
"dateYesterday": "Yesterday",
"dateLastMonth": "Last Month",
"dateWeeksAgo": "Weeks Ago",
"dateDaysAgo": "Days Ago",
"dateHoursAgo": "Hours Ago",
"dateMinutesAgo": "Minutes Ago",
"dateRightNow": "Right Now",
"successfullAddedContact": "Successfully added ",
"descriptionBlockUnknownConnections": "If turned on, this option will automatically close connections from Cwtch users that have not been added to your contact list.",

View File

@ -1,18 +1,18 @@
{
"@@locale": "fr",
"@@last_modified": "2021-06-29T19:15:43+02:00",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"@@last_modified": "2021-07-05T21:26:10+02:00",
"tooltipRejectContactRequest": "Refuser cette demande de contact",
"tooltipAcceptContactRequest": "Acceptez cette demande de contact.",
"notificationNewMessageFromGroup": "Nouveau message dans un groupe !",
"notificationNewMessageFromPeer": "Nouveau message d'un contact !",
"tooltipHidePassword": "Masquer le mot de passe",
"tooltipShowPassword": "Afficher le mot de passe",
"serverNotSynced": "Synchronisation des nouveaux messages (Cela peut prendre un certain temps)...",
"groupInviteSettingsWarning": "Vous avez été invité à rejoindre un groupe ! Veuillez activer l'expérience de discussion de groupe dans les paramètres pour afficher cette invitation.",
"shutdownCwtchAction": "Arrêt Cwtch",
"shutdownCwtchAction": "Arrêt de Cwtch",
"shutdownCwtchDialog": "Êtes-vous sûr de vouloir arrêter Cwtch ? Ceci fermera toutes les connexions, et quittera l'application.",
"shutdownCwtchDialogTitle": "Arrêter Cwtch ?",
"shutdownCwtchTooltip": "Arrêt Cwtch",
"shutdownCwtchTooltip": "Arrêt de Cwtch",
"malformedMessage": "Message mal formé",
"profileDeleteSuccess": "Le profil a été supprimé avec succès",
"debugLog": "Activer le journal de la console de débogage",
@ -42,16 +42,10 @@
"tooltipAddContact": "Ajouter un nouveau contact ou une nouvelle conversation",
"titleManageContacts": "Conversations",
"titleManageServers": "Gérer les serveurs",
"dateMonthsAgo": "Il y a plusieurs mois",
"dateNever": "Jamais",
"dateYearsAgo": "Il y a X ans (affiché à côté d'une ligne de contact pour indiquer l'heure de la dernière action)",
"dateLastYear": "L'année dernière",
"dateYesterday": "Hier",
"dateLastMonth": "Le mois dernier",
"dateWeeksAgo": "Il y a quelques semaines",
"dateDaysAgo": "Il y a quelques jours",
"dateHoursAgo": "Il y a quelques heures",
"dateMinutesAgo": "Il y a quelques minutes",
"dateRightNow": "Maintenant",
"successfullAddedContact": "Ajouté avec succès ",
"descriptionBlockUnknownConnections": "Si elle est activée, cette option fermera automatiquement les connexions des utilisateurs de Cwtch qui n'ont pas été ajoutés à votre liste de contacts.",
@ -66,7 +60,7 @@
"enterCurrentPasswordForDelete": "Veuillez entrer le mot de passe actuel pour supprimer ce profil.",
"enableGroups": "Activer la discussion de groupe",
"experimentsEnabled": "Activer les expériences",
"localeIt": "Italienne",
"localeIt": "Italien",
"localeEs": "Espagnol",
"addListItem": "Ajouter un nouvel élément de liste",
"addNewItem": "Ajouter un nouvel élément à la liste",
@ -80,9 +74,9 @@
"loadingTor": "Chargement de tor...",
"smallTextLabel": "Petit",
"defaultScalingText": "Taille par défaut du texte (échelle:",
"builddate": "Construit sur : 2%",
"version": "Version 1%",
"versionTor": "Version 1% avec tor 2%",
"builddate": "Construit le : %2",
"version": "Version %1",
"versionTor": "Version %1 avec tor %2",
"themeDark": "Sombre",
"themeLight": "Clair",
"settingTheme": "Thème",
@ -94,8 +88,8 @@
"localeEn": "Anglais",
"settingLanguage": "Langue",
"blockUnknownLabel": "Bloquer les pairs inconnus",
"zoomLabel": "Interface zoom (essentiellement la taille du texte et des composants de l'interface)",
"versionBuilddate": "Version 1% avec tor 2%",
"zoomLabel": "Zoom de l'interface (affecte principalement la taille du texte et des boutons)",
"versionBuilddate": "Version : %1 Construite le : %2",
"cwtchSettingsTitle": "Préférences Cwtch",
"unlock": "Déverrouiller",
"yourServers": "Vos serveurs",
@ -105,7 +99,7 @@
"enterProfilePassword": "Entrez un mot de passe pour consulter vos profils",
"addNewProfileBtn": "Ajouter un nouveau profil",
"deleteConfirmText": "SUPPRIMER",
"deleteProfileConfirmBtn": "Vraiment supprimer le profil",
"deleteProfileConfirmBtn": "Supprimer vraiment le profil ?",
"deleteConfirmLabel": "Tapez SUPPRIMER pour confirmer",
"deleteProfileBtn": "Supprimer le profil",
"passwordChangeError": "Erreur lors de la modification du mot de passe : le mot de passe fourni est rejeté",
@ -129,7 +123,7 @@
"profileName": "Pseudo",
"editProfileTitle": "Modifier le profil",
"addProfileTitle": "Ajouter un nouveau profil",
"deleteBtn": "Effacer",
"deleteBtn": "Supprimer",
"unblockBtn": "Débloquer le pair",
"dontSavePeerHistory": "Supprimer l'historique des pairs",
"savePeerHistoryDescription": "Détermine s'il faut ou non supprimer tout historique associé au pair.",
@ -150,16 +144,16 @@
"peerOfflineMessage": "Le pair est hors ligne, les messages ne peuvent pas être remis pour le moment",
"peerBlockedMessage": "Le pair est bloqué",
"pendingLabel": "En attente",
"acknowledgedLabel": "Confirmé",
"acknowledgedLabel": "Accusé de réception",
"couldNotSendMsgError": "Impossible d'envoyer ce message",
"dmTooltip": "Envoyer un message privé",
"membershipDescription": "Liste des utilisateurs ayant envoyés un ou plusieurs messages au groupe. Cette liste peut ne pas être representatives de l'ensemble des membres du groupe.",
"membershipDescription": "Liste des utilisateurs ayant envoyés un ou plusieurs messages au groupe. Cette liste peut ne pas être représentatives de l'ensemble des membres du groupe.",
"addListItemBtn": "Ajouter un élément",
"peerNotOnline": "Le pair est hors ligne, les messages ne peuvent pas être remis pour le moment",
"searchList": "Liste de recherche",
"update": "Mise à jour",
"inviteBtn": "Invitation",
"inviteToGroupLabel": "Inviter quelqu'un",
"inviteToGroupLabel": "Inviter au groupe",
"groupNameLabel": "Nom du groupe",
"viewServerInfo": "Informations sur le serveur",
"serverSynced": "Synchronisé",
@ -192,6 +186,6 @@
"createGroupTab": "Créer un groupe",
"addPeerTab": "Ajouter un pair",
"createGroupBtn": "Créer",
"defaultGroupName": "Un super groupe",
"defaultGroupName": "Un groupe génial",
"createGroupTitle": "Créer un groupe"
}

View File

@ -1,71 +1,65 @@
{
"@@locale": "it",
"@@last_modified": "2021-06-29T19:15:43+02:00",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"notificationNewMessageFromGroup": "New message in a group!",
"notificationNewMessageFromPeer": "New message from a contact!",
"tooltipHidePassword": "Hide Password",
"tooltipShowPassword": "Show Password",
"serverNotSynced": "Non sincronizzato",
"groupInviteSettingsWarning": "You have been invited to join a group! Please enable the Group Chat Experiment in Settings to view this Invitation.",
"shutdownCwtchAction": "Shutdown Cwtch",
"shutdownCwtchDialog": "Are you sure you want to shutdown Cwtch? This will close all connections, and exit the application.",
"shutdownCwtchDialogTitle": "Shutdown Cwtch?",
"shutdownCwtchTooltip": "Shutdown Cwtch",
"malformedMessage": "Malformed message",
"profileDeleteSuccess": "Successfully deleted profile",
"debugLog": "Turn on console debug logging",
"torNetworkStatus": "Tor network status",
"addContactFirst": "Add or pick a contact to begin chatting.",
"createProfileToBegin": "Please create or unlock a profile to begin",
"nickChangeSuccess": "Profile nickname changed successfully",
"addServerFirst": "You need to add a server before you can create a group",
"deleteProfileSuccess": "Successfully deleted profile",
"sendInvite": "Send a contact or group invite",
"sendMessage": "Send Message",
"cancel": "Cancel",
"resetTor": "Reset",
"torStatus": "Tor Status",
"torVersion": "Tor Version",
"sendAnInvitation": "You sent an invitation for: ",
"contactSuggestion": "This is a contact suggestion for: ",
"rejected": "Rejected!",
"accepted": "Accepted!",
"chatHistoryDefault": "This conversation will be deleted when Cwtch is closed! Message history can be enabled per-conversation via the Settings menu in the upper right.",
"newPassword": "New Password",
"yesLeave": "Yes, Leave This Conversation",
"reallyLeaveThisGroupPrompt": "Are you sure you want to leave this conversation? All messages and attributes will be deleted.",
"leaveGroup": "Leave This Conversation",
"inviteToGroup": "You have been invited to join a group:",
"pasteAddressToAddContact": "... incolla qui un indirizzo per aggiungere un contatto...",
"tooltipAddContact": "Add a new contact or conversation",
"titleManageContacts": "Conversations",
"titleManageServers": "Manage Servers",
"dateMonthsAgo": "Months Ago",
"dateNever": "Never",
"dateYearsAgo": "X Years Ago (displayed next to a contact row to indicate time of last action)",
"dateLastYear": "Last Year",
"dateYesterday": "Yesterday",
"dateLastMonth": "Last Month",
"dateWeeksAgo": "Weeks Ago",
"dateDaysAgo": "Days Ago",
"dateHoursAgo": "Hours Ago",
"dateMinutesAgo": "Minutes Ago",
"dateRightNow": "Right Now",
"successfullAddedContact": "Successfully added ",
"descriptionBlockUnknownConnections": "If turned on, this option will automatically close connections from Cwtch users that have not been added to your contact list.",
"descriptionExperimentsGroups": "The group experiment allows Cwtch to connect with untrusted server infrastructure to facilitate communication with more than one contact.",
"descriptionExperiments": "Cwtch experiments are optional, opt-in features that add additional functionality to Cwtch that may have different privacy considerations than traditional 1:1 metadata resistant chat e.g. group chat, bot integration etc.",
"titleManageProfiles": "Manage Cwtch Profiles",
"tooltipUnlockProfiles": "Unlock encrypted profiles by entering their password.",
"tooltipOpenSettings": "Open the settings pane",
"invalidImportString": "Invalid import string",
"contactAlreadyExists": "Contact Already Exists",
"conversationSettings": "Conversation Settings",
"enterCurrentPasswordForDelete": "Please enter current password to delete this profile.",
"enableGroups": "Enable Group Chat",
"experimentsEnabled": "Esperimenti abilitati",
"@@last_modified": "2021-07-05T21:26:10+02:00",
"tooltipRejectContactRequest": "Rifiuta questa richiesta di contatto",
"tooltipAcceptContactRequest": "Accetta questa richiesta di contatto.",
"notificationNewMessageFromGroup": "Nuovo messaggio in un gruppo!",
"notificationNewMessageFromPeer": "Nuovo messaggio da un contatto!",
"tooltipHidePassword": "Nascondi la password",
"tooltipShowPassword": "Mostra la password",
"serverNotSynced": "Sincronizzazione nuovi messaggi (l'operazione può richiedere del tempo)...",
"groupInviteSettingsWarning": "Sei stato invitato ad unirti ad un gruppo! Abilita l'Esperimento di chat di gruppo in Impostazioni per visualizzare questo Invito.",
"shutdownCwtchAction": "Chiudi Cwtch",
"shutdownCwtchDialog": "Sei sicuro di voler chiudere Cwtch? Questo chiuderà tutte le connessioni e uscirà dall'applicazione.",
"shutdownCwtchDialogTitle": "Chiudi Cwtch?",
"shutdownCwtchTooltip": "Chiudi Cwtch",
"malformedMessage": "Messaggio non valido",
"profileDeleteSuccess": "Profilo eliminato con successo",
"debugLog": "Attiva la registrazione del debug della console",
"torNetworkStatus": "Stato della rete Tor",
"addContactFirst": "Aggiungi o scegli un contatto per iniziare a chattare.",
"createProfileToBegin": "Crea o sblocca un profilo per iniziare",
"nickChangeSuccess": "Nickname del profilo modificato con successo",
"addServerFirst": "È necessario aggiungere un server prima di poter creare un gruppo",
"deleteProfileSuccess": "Profilo eliminato con successo",
"sendInvite": "Invia un invito a un contatto o a un gruppo",
"sendMessage": "Invia messaggio",
"cancel": "Annulla",
"resetTor": "Resettare",
"torStatus": "Stato di Tor",
"torVersion": "Versione di Tor",
"sendAnInvitation": "Hai inviato un invito per:",
"contactSuggestion": "Questo è un suggerimento di contatto per:",
"rejected": "Rifiutato!",
"accepted": "Accettato!",
"chatHistoryDefault": "Questa conversazione sarà cancellata quando Cwtch sarà chiuso! La cronologia dei messaggi può essere abilitata per ogni conversazione tramite il menu Impostazioni in alto a destra.",
"newPassword": "Nuova password",
"yesLeave": "Sì, lascia questa conversazione",
"reallyLeaveThisGroupPrompt": "Uscire da questa conversazione? Tutti i messaggi e gli attributi verranno eliminati.",
"leaveGroup": "Lascia questa conversazione",
"inviteToGroup": "Hai ricevuto un invito a unirti a un gruppo:",
"pasteAddressToAddContact": "Incolla qui un indirizzo cwtch, un invito o un mazzo di chiavi per aggiungere una nuova conversazione",
"tooltipAddContact": "Aggiungi un nuovo contatto o conversazione",
"titleManageContacts": "Conversazioni",
"titleManageServers": "Gestisci i server",
"dateNever": "Mai",
"dateLastYear": "L'anno scorso",
"dateYesterday": "Ieri",
"dateLastMonth": "Mese scorso",
"dateRightNow": "Ora",
"successfullAddedContact": "Aggiunto con successo ",
"descriptionBlockUnknownConnections": "Se attivata, questa opzione chiuderà automaticamente le connessioni degli utenti Cwtch che non sono stati aggiunti alla tua lista di contatti.",
"descriptionExperimentsGroups": "L'esperimento di gruppo permette a Cwtch di connettersi con un'infrastruttura server non fidata per facilitare la comunicazione con più di un contatto.",
"descriptionExperiments": "Gli esperimenti di Cwtch sono opzioni a scelta che aggiungono a Cwtch funzionalità che possono avere diverse considerazioni sulla privacy rispetto alla tradizionale chat 1:1 resistente ai metadati, ad esempio chat di gruppo, integrazione di bot ecc.",
"titleManageProfiles": "Gestisci i profili Cwtch",
"tooltipUnlockProfiles": "Sblocca i profili crittografati inserendo la loro password.",
"tooltipOpenSettings": "Aprire il pannello delle impostazioni",
"invalidImportString": "Importazione stringa non valida",
"contactAlreadyExists": "Il contatto esiste già",
"conversationSettings": "Impostazioni di conversazione",
"enterCurrentPasswordForDelete": "Inserisci la password attuale per eliminare questo profilo.",
"enableGroups": "Abilita la chat di gruppo",
"experimentsEnabled": "Abilita esperimenti",
"localeIt": "Italiano",
"localeEs": "Spagnolo",
"addListItem": "Aggiungi un nuovo elemento alla lista",

View File

@ -0,0 +1,89 @@
import 'package:cwtch/widgets/malformedbubble.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../model.dart';
import 'package:intl/intl.dart';
import '../settings.dart';
import 'messagebubbledecorations.dart';
class QuotedMessageBubble extends StatefulWidget {
@override
QuotedMessageBubbleState createState() => QuotedMessageBubbleState();
}
class QuotedMessageBubbleState extends State<QuotedMessageBubble> {
FocusNode _focus = FocusNode();
@override
Widget build(BuildContext context) {
var fromMe = Provider.of<MessageState>(context).senderOnion == Provider.of<ProfileInfoState>(context).onion;
var prettyDate = "";
var borderRadiousEh = 15.0;
var myKey = Provider.of<MessageState>(context).profileOnion + "::" + Provider.of<MessageState>(context).contactHandle + "::" + Provider.of<MessageState>(context).messageIndex.toString();
if (Provider.of<MessageState>(context).timestamp != null) {
// user-configurable timestamps prolly ideal? #todo
DateTime messageDate = Provider.of<MessageState>(context).timestamp;
prettyDate = DateFormat.yMd().add_jm().format(messageDate.toLocal());
}
// If the sender is not us, then we want to give them a nickname...
var senderDisplayStr = "";
if (!fromMe && Provider.of<MessageState>(context).senderOnion != null) {
ContactInfoState? contact = Provider.of<ProfileInfoState>(context).contactList.getContact(Provider.of<MessageState>(context).senderOnion);
if (contact != null) {
senderDisplayStr = contact.nickname;
} else {
senderDisplayStr = Provider.of<MessageState>(context).senderOnion;
}
}
var wdgSender = SelectableText(senderDisplayStr,
style: TextStyle(fontSize: 9.0, color: fromMe ? Provider.of<Settings>(context).theme.messageFromMeTextColor() : Provider.of<Settings>(context).theme.messageFromOtherTextColor()));
var wdgMessage = SelectableText(
(Provider.of<MessageState>(context).message ?? "") + '\u202F',
key: Key(myKey),
focusNode: _focus,
style: TextStyle(
color: fromMe ? Provider.of<Settings>(context).theme.messageFromMeTextColor() : Provider.of<Settings>(context).theme.messageFromOtherTextColor(),
),
textAlign: TextAlign.left,
textWidthBasis: TextWidthBasis.longestLine,
);
var wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageState>(context).ackd, errored: Provider.of<MessageState>(context).error, fromMe: fromMe, prettyDate: prettyDate);
var error = Provider.of<MessageState>(context).error;
return LayoutBuilder(builder: (context, constraints) {
//print(constraints.toString()+", "+constraints.maxWidth.toString());
return RepaintBoundary(
child: Container(
child: Container(
decoration: BoxDecoration(
color: error
? malformedColor
: (fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor()),
border: Border.all(
color: error
? malformedColor
: (fromMe ? Provider.of<Settings>(context).theme.messageFromMeBackgroundColor() : Provider.of<Settings>(context).theme.messageFromOtherBackgroundColor()),
width: 1),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(borderRadiousEh),
topRight: Radius.circular(borderRadiousEh),
bottomLeft: fromMe ? Radius.circular(borderRadiousEh) : Radius.zero,
bottomRight: fromMe ? Radius.zero : Radius.circular(borderRadiousEh),
),
),
child: Padding(
padding: EdgeInsets.all(9.0),
child: Column(
crossAxisAlignment: fromMe ? CrossAxisAlignment.end : CrossAxisAlignment.start,
mainAxisAlignment: fromMe ? MainAxisAlignment.end : MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: fromMe ? [wdgMessage, wdgDecorations] : [wdgSender, wdgMessage, wdgDecorations])))));
});
}
}