Dutch Integration

update-translations
Sarah Jamie Lewis 4 weeks ago
parent 2eca5058a8
commit fb4c438e1c
  1. 3
      lib/l10n/intl_cy.arb
  2. 3
      lib/l10n/intl_da.arb
  3. 3
      lib/l10n/intl_de.arb
  4. 3
      lib/l10n/intl_el.arb
  5. 3
      lib/l10n/intl_en.arb
  6. 3
      lib/l10n/intl_es.arb
  7. 3
      lib/l10n/intl_fr.arb
  8. 21
      lib/l10n/intl_it.arb
  9. 3
      lib/l10n/intl_lb.arb
  10. 362
      lib/l10n/intl_nl.arb
  11. 3
      lib/l10n/intl_no.arb
  12. 3
      lib/l10n/intl_pl.arb
  13. 3
      lib/l10n/intl_pt.arb
  14. 3
      lib/l10n/intl_ro.arb
  15. 3
      lib/l10n/intl_ru.arb
  16. 7
      lib/l10n/intl_tr.arb
  17. 2
      lib/models/contact.dart
  18. 51
      lib/views/contactsview.dart
  19. 3
      lib/views/globalsettingsview.dart
  20. 37
      lib/views/messageview.dart

@ -1,6 +1,7 @@
{
"@@locale": "cy",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "da",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "de",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "el",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "en",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "es",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "fr",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,17 +1,18 @@
{
"@@locale": "it",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",
"shareProfileMenuTooltop": "Share profile via...",
"acquiredTicketsFromServer": "Antispam Challenge Complete",
"acquiringTicketsFromServer": "Performing Antispam Challenge",
"errorDownloadDirectoryDoesNotExist": "Filesharing cannot be enabled because the Download Folder has not been set, or is set to a folder that does not exist.",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"tooltipPinConversation": "Aggiungi la conversazione in cima alla lista \"Conversazioni\"",
"tooltipUnpinConversation": "Rimuovi la conversazione dalla cima della lista \"Conversazioni\"",
"errorDownloadDirectoryDoesNotExist": "La condivisione file non può essere abilitata perché la destinazione dei download non è stata impostata o è impostata su una cartella che non esiste.",
"acquiringTicketsFromServer": "Esecuzione dell'operazione antispam",
"acquiredTicketsFromServer": "Operazione antispam completata",
"shareProfileMenuTooltop": "Condividi il profilo tramite...",
"shareMenuQRCode": "Mostra il codice QR",
"enableExperimentQRCode": "Codici QR",
"experimentQRCodeDescription": "Il supporto del codice QR consente la condivisione di dati (come l'identità del profilo) tramite codici QR",
"localeTr": "Turco \/ Türk",
"localeIt": "Italiano \/ Italiano",
"tooltipUnpinConversation": "Unpin conversation from the top of \"Conversations\"",
"tooltipPinConversation": "Pin conversation to the top of \"Conversations\"",
"fileDownloadUnavailable": "Questo file non sembra disponibile per il download. Il mittente potrebbe aver disabilitato i download per questo file.",
"headingReplies": "Risposte",
"manageSharedFiles": "Gestisci file condivisi",

@ -1,6 +1,7 @@
{
"@@locale": "lb",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -0,0 +1,362 @@
{
"@@locale": "nl",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"serverSynced": "Gesynchroniseerd",
"defaultGroupName": "Geweldige groep",
"shareMenuQRCode": "Toon QR-code",
"localeTr": "Turks \/ Türk",
"localeEl": "Grieks \/ Ελληνικά",
"localeNo": "Noors \/ Norsk",
"localeLb": "Luxemburgs \/ Lëtzebuergesch",
"localeRo": "Roemeens \/ Română",
"newMessageNotificationConversationInfo": "Nieuw bericht van %1",
"newMessageNotificationSimple": "Nieuw bericht",
"notificationPolicyMute": "Dempen",
"labelTorNetwork": "Tor netwerk",
"btnSendFile": "Bestand versturen",
"loadingCwtch": "Cwtch laden...",
"themeColorLabel": "Kleurenthema",
"themeNameNeon2": "Neon2",
"themeNameNeon1": "Neon1",
"themeNameMidnight": "Middernacht",
"themeNameMermaid": "Zeemeermin",
"themeNamePumpkin": "Pompoen",
"themeNameGhost": "Geest",
"themeNameVampire": "Vampier ",
"themeNameWitch": "Heks",
"themeNameCwtch": "Cwtch",
"serverConnectionsLabel": "Verbinding",
"copyAddress": "Adres kopiëren",
"saveServerButton": "Server opslaan",
"serverEnabledDescription": "Start of stop de server",
"serverDescriptionLabel": "Server beschrijving",
"serverAddress": "Server adres",
"editServerTitle": "Server wijzigen",
"titleManageProfilesShort": "Profielen",
"tooltipSendFile": "Verstuur bestand",
"labelFilesize": "Grootte",
"labelFilename": "Bestandsnaam",
"openFolderButton": "Open map",
"torNetworkStatus": "Tor netwerk status",
"localeDe": "Duits \/ Deutsch",
"localePt": "Portugees \/ Portuguesa",
"localeFr": "Frans \/ Français",
"localeEn": "Engels \/ English",
"unlock": "Ontgrendelen",
"radioNoPassword": "Onversleuteld (Geen wachtwoord)",
"editProfile": "Profiel wijzig",
"newProfile": "Nieuw profiel",
"inviteToGroupLabel": "Uitnodigen voor groep",
"newGroupBtn": "Nieuwe groep aanmaken",
"createGroupBtn": "Aanmaken",
"createGroupTitle": "Groep aanmaken",
"unblockBtn": "Contact deblokkeren",
"cancel": "Annuleren",
"serversManagerTitleShort": "Servers",
"showMessageButton": "Toon bericht",
"settingUIColumnDouble14Ratio": "Dubbel (1:4)",
"settingUIColumnDouble12Ratio": "Dubbel (1:2)",
"settingUIColumnSingle": "Enkel",
"localePl": "Pools \/ Polski",
"tooltipHidePassword": "Verberg wachtwoord",
"tooltipShowPassword": "Toon wachtwoord",
"torStatus": "Tor status",
"torVersion": "Tor versie",
"newPassword": "Nieuw wachtwoord",
"titleManageContacts": "Gesprekken",
"localeIt": "Italiaans \/ taliano",
"localeEs": "Spaans \/ Español",
"newConnectionPaneTitle": "Nieuwe verbinding",
"networkStatusOnline": "Online",
"loadingTor": "Tor laden...",
"smallTextLabel": "Klein",
"largeTextLabel": "Groot",
"settingLanguage": "Taal",
"yourServers": "Jouw servers",
"yourProfiles": "Jouw profielen",
"password": "Wachtwoord",
"deleteProfileBtn": "Verwijder ",
"passwordErrorMatch": "Wachtwoorden komen niet overeen",
"saveProfileBtn": "Profiel ",
"createProfileBtn": "Profiel maken",
"clickableLinksCopy": "Kopieer URL",
"clickableLinkOpen": "Open URL",
"addServerTooltip": "Nieuwe server toevoegen",
"addServerTitle": "Server toevoegen",
"importLocalServerButton": "Importeer %1",
"headingReplies": "Reacties",
"fieldDescriptionLabel": "Beschrijving",
"enableExperimentQRCode": "QR-codes",
"downloadFileButton": "Download",
"deleteConfirmText": "VERWIJDER",
"deleteBtn": "Verwijderen",
"cwtchSettingsTitle": "Cwtch instellingen",
"conversationNotificationPolicyNever": "Nooit",
"conversationNotificationPolicyDefault": "Standaard",
"contactAlreadyExists": "Contact Already Exists",
"addContactConfirm": "Contact %1 toevoegen",
"addContact": "Contact toevoegen",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"shareProfileMenuTooltop": "Share profile via...",
"version": "Versie %1",
"themeDark": "Donker",
"themeLight": "Licht",
"currentPasswordLabel": "Huidig wachtwoord",
"password1Label": "Wachtwoord",
"radioUsePassword": "Wachtwoord",
"savePeerHistory": "Geschiedenis opslaan",
"dontSavePeerHistory": "Geschiedenis verwijderen",
"displayNameLabel": "Weergavenaam",
"rejectGroupBtn": "Weigeren",
"acceptGroupBtn": "Accepteren",
"copyBtn": "Kopieer",
"peerBlockedMessage": "Contact is geblokkeerd",
"blockBtn": "Blokkeer contact",
"saveBtn": "Opslaan",
"addressLabel": "Adres",
"listsBtn": "Lijsten",
"chatBtn": "Chat",
"inviteBtn": "Uitnodigen",
"groupNameLabel": "Groepsnaam",
"viewServerInfo": "Server info",
"serverConnectivityConnected": "Server verbonden",
"serverInfo": "Server informatie",
"titlePlaceholder": "titel...",
"createGroup": "Groep aanmaken",
"createGroupTab": "Nieuwe groep",
"peerAddress": "Adres",
"peerName": "Naam",
"blocked": "Geblokkeerd",
"search": "Zoeken...",
"serverLabel": "Server",
"invitationLabel": "Uitnodiging",
"addPeer": "Contact toevoegen",
"groupAddr": "Adres",
"server": "Server",
"invitation": "Uitnodiging",
"addPeerTab": "Contact toevoegen",
"acquiredTicketsFromServer": "Antispam Challenge Complete",
"acquiringTicketsFromServer": "Performing Antispam Challenge",
"errorDownloadDirectoryDoesNotExist": "Filesharing cannot be enabled because the Download Folder has not been set, or is set to a folder that does not exist.",
"tooltipUnpinConversation": "Unpin conversation from the top of \"Conversations\"",
"tooltipPinConversation": "Pin conversation to the top of \"Conversations\"",
"replyingTo": "Replying to %1",
"fileDownloadUnavailable": "This file appears unavailable for download. The sender may have disabled downloads for this file.",
"messageNoReplies": "There are no replies to this message.",
"viewReplies": "View replies to this message",
"restartFileShare": "Start Sharing File",
"stopSharingFile": "Stop Sharing File",
"manageSharedFiles": "Manage Shared Files",
"tooltipPreviewFormatting": "Preview Message Formatting",
"tooltipCode": "Code \/ Monospace",
"tooltipStrikethrough": "Strikethrough",
"tooltipSubscript": "Subscript",
"tooltipSuperscript": "Superscript",
"tooltipItalicize": "Italic",
"tooltipBackToMessageEditing": "Back to Message Editing",
"tooltipBoldText": "Bold",
"okButton": "OK",
"settingsAndroidPowerReenablePopup": "Cannot re-enable Battery Optimization from within Cwtch. Please go to Android \/ Settings \/ Apps \/ Cwtch \/ Battery and set Usage to 'Optimized'",
"settingAndroidPowerExemptionDescription": "Optional: Request Android to exempt Cwtch from optimized power management. This will result in better stability at the cost of greater battery use.",
"settingAndroidPowerExemption": "Android Ignore Battery Optimizations",
"thisFeatureRequiresGroupExpermientsToBeEnabled": "This feature requires the Groups Experiment to be enabled in Settings",
"messageFormattingDescription": "Enable rich text formatting in displayed messages e.g. **bold** and *italic*",
"formattingExperiment": "Message Formatting",
"clickableLinkError": "Error encountered while attempting to open URL",
"clickableLinksWarning": "Opening this URL will launch an application outside of Cwtch and may reveal metadata or otherwise compromise the security of Cwtch. Only open URLs from people you trust. Are you sure you want to continue?",
"shuttingDownApp": "Shutting down...",
"successfullyImportedProfile": "Successfully Imported Profile: %profile",
"failedToImportProfile": "Error Importing Profile",
"importProfileTooltip": "Use an encrypted Cwtch backup to bring in a profile created in another instance of Cwtch.",
"importProfile": "Import Profile",
"exportProfileTooltip": "Backup this profile to an encrypted file. The encrypted file can be imported into another Cwtch app.",
"exportProfile": "Export Profile",
"localeDa": "Danish \/ Dansk",
"localeCy": "Welsh \/ Cymraeg",
"notificationContentContactInfo": "Conversation Information",
"notificationContentSimpleEvent": "Plain Event",
"conversationNotificationPolicySettingDescription": "Control notification behaviour for this conversation",
"conversationNotificationPolicySettingLabel": "Conversation Notification Policy",
"settingsGroupExperiments": "Experiments",
"settingsGroupAppearance": "Appearance",
"settingGroupBehaviour": "Behaviour",
"notificationContentSettingDescription": "Controls the contents of conversation notifications",
"notificationPolicySettingDescription": "Controls the default application notification behaviour",
"notificationContentSettingLabel": "Notification Content",
"notificationPolicySettingLabel": "Notification Policy",
"conversationNotificationPolicyOptIn": "Opt In",
"notificationPolicyDefaultAll": "Default All",
"notificationPolicyOptIn": "Opt In",
"tooltipSelectACustomProfileImage": "Select a Custom Profile Image",
"torSettingsEnabledCacheDescription": "Cache the current downloaded Tor consensus to reuse next time Cwtch is opened. This will allow Tor to start faster. When disabled, Cwtch will purge cached data on start up.",
"torSettingsEnableCache": "Cache Tor Consensus",
"descriptionACNCircuitInfo": "In depth information about the path that the anonymous communication network is using to connect to this conversation.",
"labelACNCircuitInfo": "ACN Circuit Info",
"fileSharingSettingsDownloadFolderTooltip": "Browse to select a different default folder for downloaded files.",
"fileSharingSettingsDownloadFolderDescription": "When files are downloaded automatically (e.g. image files, when image previews are enabled) a default location to download the files to is needed.",
"torSettingsErrorSettingPort": "Port Number must be between 1 and 65535",
"torSettingsUseCustomTorServiceConfigurastionDescription": "Override the default tor configuration. Warning: This could be dangerous. Only turn this on if you know what you are doing.",
"torSettingsUseCustomTorServiceConfiguration": "Use a Custom Tor Service Configuration (torrc)",
"torSettingsCustomControlPortDescription": "Use a custom port for control connections to the Tor proxy",
"torSettingsCustomControlPort": "Custom Control Port",
"torSettingsCustomSocksPortDescription": "Use a custom port for data connections to the Tor proxy",
"torSettingsCustomSocksPort": "Custom SOCKS Port",
"torSettingsEnabledAdvancedDescription": "Use an existing Tor service on your system, or change the parameters of the Cwtch Tor Service",
"torSettingsEnabledAdvanced": "Enable Advanced Tor Configuration",
"msgAddToAccept": "Add this account to your contacts in order to accept this file.",
"msgConfirmSend": "Are you sure you want to send",
"msgFileTooBig": "File size cannot exceed 10 GB",
"storageMigrationModalMessage": "Migrating profiles to new storage format. This could take a few minutes...",
"settingDownloadFolder": "Download Folder",
"settingImagePreviewsDescription": "Images and Profile Pictures will be downloaded and previewed automatically. We recommend that you do not enable this Experiment if you use Cwtch with untrusted contacts.",
"settingImagePreviews": "Image Previews and Profile Pictures",
"experimentClickableLinksDescription": "The clickable links experiment allows you to click on URLs shared in messages",
"enableExperimentClickableLinks": "Enable Clickable Links",
"serverTotalMessagesLabel": "Total Messages",
"serverMetricsLabel": "Server Metrics",
"manageKnownServersShort": "Servers",
"manageKnownServersLong": "Manage Known Servers",
"displayNameTooltip": "Please enter a display name",
"manageKnownServersButton": "Manage Known Servers",
"groupsOnThisServerLabel": "Groups I am in hosted on this server",
"importLocalServerSelectText": "Select Local Server",
"importLocalServerLabel": "Import a locally hosted server",
"newMessagesLabel": "New Messages",
"localeRU": "Russian \/ Русский",
"copyServerKeys": "Copy keys",
"verfiyResumeButton": "Verify\/resume",
"fileCheckingStatus": "Checking download status",
"fileInterrupted": "Interrupted",
"fileSavedTo": "Saved to",
"encryptedServerDescription": "Encrypting a server with a password protects it from other people who may also use this device. Encrypted servers cannot be decrypted, displayed or accessed until the correct password is entered to unlock them.",
"plainServerDescription": "We recommend that you protect your Cwtch servers with a password. If you do not set a password on this server then anyone who has access to this device may be able to access information about this server, including sensitive cryptographic keys.",
"deleteServerConfirmBtn": "Really delete server",
"deleteServerSuccess": "Successfully deleted server",
"enterCurrentPasswordForDeleteServer": "Please enter current password to delete this server",
"settingServersDescription": "The hosting servers experiment enables hosting and managing Cwtch servers",
"settingServers": "Hosting Servers",
"enterServerPassword": "Enter password to unlock server",
"unlockProfileTip": "Please create or unlock a profile to begin!",
"unlockServerTip": "Please create or unlock a server to begin!",
"serversManagerTitleLong": "Servers You Host",
"serverAutostartDescription": "Controls if the application will automatically launch the server on start",
"serverAutostartLabel": "Autostart",
"serverEnabled": "Server Enabled",
"serverDescriptionDescription": "Your description of the server for personal management use only, will never be shared",
"descriptionFileSharing": "The file sharing experiment allows you to send and receive files from Cwtch contacts and groups. Note that sharing a file with a group will result in members of that group connecting with you directly over Cwtch to download it.",
"settingFileSharing": "File Sharing",
"messageFileOffered": "Contact is offering to send you a file",
"messageFileSent": "You sent a file",
"messageEnableFileSharing": "Enable the file sharing experiment to view this message.",
"retrievingManifestMessage": "Retrieving file information...",
"descriptionStreamerMode": "If turned on, this option makes the app more visually private for streaming or presenting with, for example, hiding profile and contact addresses",
"streamerModeLabel": "Streamer\/Presentation Mode",
"archiveConversation": "Archive this Conversation",
"blockUnknownConnectionsEnabledDescription": "Connections from unknown contacts are blocked. You can change this in Settings",
"blockedMessageMessage": "This message is from a profile you have blocked.",
"placeholderEnterMessage": "Type a message...",
"plainProfileDescription": "We recommend that you protect your Cwtch profiles with a password. If you do not set a password on this profile then anyone who has access to this device may be able to access information about this profile, including contacts, messages and sensitive cryptographic keys.",
"encryptedProfileDescription": "Encrypting a profile with a password protects it from other people who may also use this device. Encrypted profiles cannot be decrypted, displayed or accessed until the correct password is entered to unlock them.",
"contactGoto": "Go to conversation with %1",
"settingUIColumnOptionSame": "Same as portrait mode setting",
"settingUIColumnLandscape": "UI Columns in Landscape Mode",
"settingUIColumnPortrait": "UI Columns in Portrait Mode",
"tooltipRemoveThisQuotedMessage": "Remove quoted message.",
"tooltipReplyToThisMessage": "Reply to this message",
"tooltipRejectContactRequest": "Reject this contact request",
"tooltipAcceptContactRequest": "Accept this contact request.",
"notificationNewMessageFromGroup": "New message in a group!",
"notificationNewMessageFromPeer": "New message from a contact!",
"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",
"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",
"resetTor": "Reset",
"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.",
"yesLeave": "Yes, Leave This Conversation",
"reallyLeaveThisGroupPrompt": "Are you sure you want to leave this conversation? All messages and attributes will be deleted.",
"leaveConversation": "Leave This Conversation",
"inviteToGroup": "You have been invited to join a group:",
"titleManageServers": "Manage Servers",
"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.",
"tooltipAddContact": "Add a new contact or conversation",
"tooltipOpenSettings": "Open the settings pane",
"invalidImportString": "Invalid import string",
"conversationSettings": "Conversation Settings",
"enterCurrentPasswordForDelete": "Please enter current password to delete this profile.",
"enableGroups": "Enable Group Chat",
"todoPlaceholder": "Todo...",
"addNewItem": "Add a new item to the list",
"addListItem": "Add a New List Item",
"networkStatusConnecting": "Connecting to network and contacts...",
"networkStatusAttemptingTor": "Attempting to connect to Tor network",
"networkStatusDisconnected": "Disconnected from the internet, check your connection",
"viewGroupMembershipTooltip": "View Group Membership",
"defaultScalingText": "Default size text (scale factor:",
"builddate": "Built on: %2",
"versionTor": "Version %1 with tor %2",
"experimentsEnabled": "Enable Experiments",
"settingTheme": "Use Light Themes",
"settingInterfaceZoom": "Zoom level",
"blockUnknownLabel": "Block Unknown Contacts",
"zoomLabel": "Interface zoom (mostly affects text and button sizes)",
"versionBuilddate": "Version: %1 Built on: %2",
"error0ProfilesLoadedForPassword": "0 profiles loaded with that password",
"enterProfilePassword": "Enter a password to view your profiles",
"addNewProfileBtn": "Add new profile",
"deleteProfileConfirmBtn": "Really Delete Profile",
"deleteConfirmLabel": "Type DELETE to confirm",
"passwordChangeError": "Error changing password: Supplied password rejected",
"passwordErrorEmpty": "Password cannot be empty",
"password2Label": "Reenter password",
"yourDisplayName": "Your Display Name",
"profileOnionLabel": "Send this address to contacts you want to connect with",
"noPasswordWarning": "Not using a password on this account means that all data stored locally will not be encrypted",
"defaultProfileName": "Alice",
"profileName": "Display name",
"editProfileTitle": "Edit Profile",
"addProfileTitle": "Add new profile",
"savePeerHistoryDescription": "Determines whether to delete any history associated with the contact.",
"copiedToClipboardNotification": "Copied to Clipboard",
"puzzleGameBtn": "Puzzle Game",
"bulletinsBtn": "Bulletins",
"acceptGroupInviteLabel": "Do you want to accept the invitation to",
"peerOfflineMessage": "Contact is offline, messages can't be delivered right now",
"pendingLabel": "Pending",
"acknowledgedLabel": "Acknowledged",
"couldNotSendMsgError": "Could not send this message",
"dmTooltip": "Click to DM",
"membershipDescription": "Below is a list of users who have sent messages to the group. This list may not reflect all users who have access to the group.",
"addListItemBtn": "Add Item",
"peerNotOnline": "Contact is offline. Applications cannot be used right now.",
"searchList": "Search List",
"update": "Update",
"serverNotSynced": "Syncing New Messages (This can take some time)...",
"serverConnectivityDisconnected": "Server Disconnected",
"pasteAddressToAddContact": "Paste a cwtch address, invitation or key bundle here to add a new conversation",
"postNewBulletinLabel": "Post new bulletin",
"newBulletinLabel": "New Bulletin",
"joinGroup": "Join group",
"joinGroupTab": "Join a group"
}

@ -1,6 +1,7 @@
{
"@@locale": "no",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "pl",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "pt",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "ro",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,7 @@
{
"@@locale": "ru",
"@@last_modified": "2022-09-09T23:36:56+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",

@ -1,6 +1,11 @@
{
"@@locale": "tr",
"@@last_modified": "2022-09-09T21:46:36+02:00",
"@@last_modified": "2022-09-10T17:07:27+02:00",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",
"shareProfileMenuTooltop": "Share profile via...",
"acquiredTicketsFromServer": "Antispam Challenge Complete",
"acquiringTicketsFromServer": "Performing Antispam Challenge",
"errorDownloadDirectoryDoesNotExist": "İndirilenler Klasörü ayarlanmadığı veya mevcut olmayan bir klasöre ayarlandığı için dosya paylaşımı etkinleştirilemiyor.",

@ -101,7 +101,6 @@ class ContactInfoState extends ChangeNotifier {
String? get acnCircuit => this._acnCircuit;
String? get messageDraft => this._messageDraft;
set antispamTickets(int antispamTickets) {
@ -111,7 +110,6 @@ class ContactInfoState extends ChangeNotifier {
int get antispamTickets => this._antispamTickets;
set acnCircuit(String? acnCircuit) {
this._acnCircuit = acnCircuit;
notifyListeners();

@ -172,20 +172,19 @@ class _ContactsViewState extends State<ContactsView> {
tooltip: AppLocalizations.of(context)!.shareProfileMenuTooltop,
splashRadius: Material.defaultSplashRadius / 2,
onSelected: (ShareMenu item) {
switch(item) {
switch (item) {
case ShareMenu.copyCode:
{
Clipboard.setData(new ClipboardData(text: Provider
.of<ProfileInfoState>(context, listen: false)
.onion));
Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion));
final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
break;
case ShareMenu.qrcode: {
_showQRCode("cwtch:" + Provider.of<ProfileInfoState>(context, listen: false).onion);
}
break;
case ShareMenu.qrcode:
{
_showQRCode("cwtch:" + Provider.of<ProfileInfoState>(context, listen: false).onion);
}
break;
}
},
itemBuilder: (BuildContext context) => <PopupMenuEntry<ShareMenu>>[
@ -205,15 +204,12 @@ class _ContactsViewState extends State<ContactsView> {
tooltip: AppLocalizations.of(context)!.copyAddress,
splashRadius: Material.defaultSplashRadius / 2,
onPressed: () {
Clipboard.setData(new ClipboardData(text: Provider
.of<ProfileInfoState>(context, listen: false)
.onion));
Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion));
final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}));
}
// Manage known Servers
if (Provider.of<Settings>(context, listen: false).isExperimentEnabled(TapirGroupsExperiment) || Provider.of<Settings>(context, listen: false).isExperimentEnabled(ServerManagementExperiment)) {
actions.add(IconButton(
@ -424,22 +420,21 @@ class _ContactsViewState extends State<ContactsView> {
void _showQRCode(String profile_code) {
showModalBottomSheet<dynamic>(
context: context,
builder: (BuildContext context) {
return Wrap( children: <Widget>[
Center( child:
QrImage(
data: profile_code,
version: QrVersions.auto,
size: 400.0,
backgroundColor: Provider.of<Settings>(context).theme.backgroundPaneColor,
foregroundColor: Provider.of<Settings>(context).theme.mainTextColor,
gapless: false,
),
)]);
},
context: context,
builder: (BuildContext context) {
return Wrap(children: <Widget>[
Center(
child: QrImage(
data: profile_code,
version: QrVersions.auto,
size: 400.0,
backgroundColor: Provider.of<Settings>(context).theme.backgroundPaneColor,
foregroundColor: Provider.of<Settings>(context).theme.mainTextColor,
gapless: false,
),
)
]);
},
);
}
}

@ -645,6 +645,9 @@ String getLanguageFull(context, String languageCode) {
if (languageCode == "tr") {
return AppLocalizations.of(context)!.localeTr;
}
if (languageCode == "nl") {
return AppLocalizations.of(context)!.localeNl;
}
return languageCode;
}

@ -178,26 +178,29 @@ class _MessageViewState extends State<MessageView> {
badgeColor: Provider.of<Settings>(context).theme.portraitContactBadgeColor,
badgeIcon: Provider.of<ContactInfoState>(context).isGroup
? (Tooltip(
message: Provider.of<ContactInfoState>(context).isOnline() ? Provider.of<ContactInfoState>(context).antispamTickets == 0
? AppLocalizations.of(context)!.acquiringTicketsFromServer
: AppLocalizations.of(context)!.acquiredTicketsFromServer
message: Provider.of<ContactInfoState>(context).isOnline()
? Provider.of<ContactInfoState>(context).antispamTickets == 0
? AppLocalizations.of(context)!.acquiringTicketsFromServer
: AppLocalizations.of(context)!.acquiredTicketsFromServer
: AppLocalizations.of(context)!.serverConnectivityDisconnected,
child: Provider.of<ContactInfoState>(context).isOnline() ? Provider.of<ContactInfoState>(context).antispamTickets == 0
? Icon(
Icons.schedule_send,
size: 10.0,
semanticLabel: AppLocalizations.of(context)!.acquiringTicketsFromServer,
color: Provider.of<Settings>(context).theme.portraitContactBadgeTextColor,
)
child: Provider.of<ContactInfoState>(context).isOnline()
? Provider.of<ContactInfoState>(context).antispamTickets == 0
? Icon(
Icons.schedule_send,
size: 10.0,
semanticLabel: AppLocalizations.of(context)!.acquiringTicketsFromServer,
color: Provider.of<Settings>(context).theme.portraitContactBadgeTextColor,
)
: Icon(
Icons.send,
color: Provider.of<Settings>(context).theme.portraitContactBadgeTextColor,
size: 10.0,
)
: Icon(
Icons.send,
CwtchIcons.onion_off,
color: Provider.of<Settings>(context).theme.portraitContactBadgeTextColor,
size: 10.0,
) : Icon(
CwtchIcons.onion_off,
color: Provider.of<Settings>(context).theme.portraitContactBadgeTextColor,
size: 10.0,
)))
)))
: null),
SizedBox(
width: 10,
@ -294,7 +297,7 @@ class _MessageViewState extends State<MessageView> {
// Do this after we trim to preserve enter-behaviour...
bool isOffline = Provider.of<ContactInfoState>(context, listen: false).isOnline() == false;
bool performingAntiSpam = Provider.of<ContactInfoState>(context).antispamTickets == 0;
bool performingAntiSpam = Provider.of<ContactInfoState>(context).antispamTickets == 0;
bool isGroup = Provider.of<ContactInfoState>(context).isGroup;
if (isOffline || (isGroup && performingAntiSpam)) {
return;

Loading…
Cancel
Save