Compare commits
No commits in common. "main" and "update-translations" have entirely different histories.
main
...
update-tra
3 changed files with 750 additions and 1573 deletions
762
en.arb
762
en.arb
|
|
@ -1,19 +1,30 @@
|
||||||
{
|
{
|
||||||
"@@locale": "en",
|
"@@locale": "en",
|
||||||
"registerSlogan": "Stay in touch privately.",
|
"registerTitle": "Welcome to twonly!",
|
||||||
|
"registerSlogan": "twonly, a privacy friendly way to connect with friends through secure, spontaneous image sharing",
|
||||||
"onboardingWelcomeTitle": "Welcome to twonly!",
|
"onboardingWelcomeTitle": "Welcome to twonly!",
|
||||||
"onboardingWelcomeBody": "Experience a private and secure way to stay in touch with friends by sharing instant pictures.",
|
"onboardingWelcomeBody": "Experience a private and secure way to stay in touch with friends by sharing instant pictures.",
|
||||||
"onboardingE2eTitle": "Carefree sharing",
|
"onboardingE2eTitle": "Carefree sharing",
|
||||||
"onboardingE2eBody": "With end-to-end encryption, enjoy the peace of mind that only you and your friends can see the moments you share.",
|
"onboardingE2eBody": "With end-to-end encryption, enjoy the peace of mind that only you and your friends can see the moments you share.",
|
||||||
"onboardingFocusTitle": "Focus on sharing moments",
|
"onboardingFocusTitle": "Focus on sharing moments",
|
||||||
"onboardingFocusBody": "Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.",
|
"onboardingFocusBody": "Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.",
|
||||||
|
"onboardingSendTwonliesTitle": "Send twonlies",
|
||||||
|
"onboardingSendTwonliesBody": "Share moments securely with your partner. twonly ensures that only your partner can open it, keeping your moments with your partner a two(o)nly thing!",
|
||||||
"onboardingNotProductTitle": "You are not the product!",
|
"onboardingNotProductTitle": "You are not the product!",
|
||||||
"onboardingNotProductBody": "twonly is financed by an optional subscription. Your data will never be sold.",
|
"onboardingNotProductBody": "twonly is financed by donations and an optional subscription. Your data will never be sold.",
|
||||||
"registerUsernameSlogan": "Create your account",
|
"onboardingBuyOneGetTwoTitle": "Buy one get two",
|
||||||
|
"onboardingBuyOneGetTwoBody": "twonly always requires at least two people, which is why you receive a second free license for your twonly partner with your purchase.",
|
||||||
|
"onboardingGetStartedTitle": "Let's go!",
|
||||||
|
"onboardingGetStartedBody": "You can test twonly free of charge in preview mode. In this mode you can be found by others and receive pictures or videos but you cannot send any yourself.",
|
||||||
|
"onboardingTryForFree": "Try for free",
|
||||||
|
"registerUsernameSlogan": "Please select a username so others can find you!",
|
||||||
"registerUsernameDecoration": "Username",
|
"registerUsernameDecoration": "Username",
|
||||||
"registerUsernameLimits": "At least 3 characters.",
|
"registerUsernameLimits": "Your username must be at least 3 characters long.",
|
||||||
"registerProofOfWorkFailed": "There was an issue with the captcha test. Please try again.",
|
"registerProofOfWorkFailed": "There was an issue with the captcha test. Please try again.",
|
||||||
"registerSubmitButton": "Register now!",
|
"registerSubmitButton": "Register now!",
|
||||||
|
"registerTwonlyCodeText": "Have you received a twonly code? Then redeem it either directly here or later!",
|
||||||
|
"registerTwonlyCodeLabel": "twonly-Code",
|
||||||
|
"newMessageTitle": "New message",
|
||||||
"chatsTapToSend": "Click to send your first image",
|
"chatsTapToSend": "Click to send your first image",
|
||||||
"cameraPreviewSendTo": "Send to",
|
"cameraPreviewSendTo": "Send to",
|
||||||
"shareImageTitle": "Share with",
|
"shareImageTitle": "Share with",
|
||||||
|
|
@ -28,16 +39,32 @@
|
||||||
"shareImagedSelectAll": "Select all",
|
"shareImagedSelectAll": "Select all",
|
||||||
"startNewChatTitle": "Select Contact",
|
"startNewChatTitle": "Select Contact",
|
||||||
"startNewChatNewContact": "New Contact",
|
"startNewChatNewContact": "New Contact",
|
||||||
|
"startNewChatYourContacts": "Your Contacts",
|
||||||
"shareImageAllUsers": "All contacts",
|
"shareImageAllUsers": "All contacts",
|
||||||
|
"shareImageAllTwonlyWarning": "twonlies can only be send to verified contacts!",
|
||||||
|
"shareImageUserNotVerified": "User is not verified",
|
||||||
|
"shareImageUserNotVerifiedDesc": "twonlies can only be sent to verified users. To verify a user, go to their profile and to verify security number.",
|
||||||
"shareImageShowArchived": "Show archived users",
|
"shareImageShowArchived": "Show archived users",
|
||||||
"searchUsernameInput": "Username",
|
"searchUsernameInput": "Username",
|
||||||
"addFriendTitle": "Add friends",
|
"addFriendTitle": "Add friends",
|
||||||
|
"searchUserNamePreview": "To protect you and other twonly users from spam and abuse, it is not possible to search for other people in preview mode. Other users can find you and their requests will be displayed here!",
|
||||||
|
"selectSubscription": "Select subscription",
|
||||||
"searchUserNamePending": "Request pending",
|
"searchUserNamePending": "Request pending",
|
||||||
"searchUsernameNotFound": "Username not found",
|
"searchUsernameNotFound": "Username not found",
|
||||||
|
"searchUsernameNotFoundBody": "There is no user with the username \"{username}\" registered",
|
||||||
|
"@searchUsernameNotFoundBody": {
|
||||||
|
"placeholders": {
|
||||||
|
"username": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
"searchUsernameNewFollowerTitle": "Open requests",
|
"searchUsernameNewFollowerTitle": "Open requests",
|
||||||
|
"searchUsernameQrCodeBtn": "Scan QR code",
|
||||||
|
"chatListViewSearchUserNameBtn": "Add your first twonly contact!",
|
||||||
|
"chatListViewSendFirstTwonly": "Send your first twonly!",
|
||||||
"chatListDetailInput": "Type a message",
|
"chatListDetailInput": "Type a message",
|
||||||
"userDeletedAccount": "The user has deleted their account.",
|
"userDeletedAccount": "The user has deleted their account.",
|
||||||
"contextMenuUserProfile": "User profile",
|
"contextMenuUserProfile": "User profile",
|
||||||
|
"contextMenuVerifyUser": "Verify",
|
||||||
"contextMenuArchiveUser": "Archive",
|
"contextMenuArchiveUser": "Archive",
|
||||||
"contextMenuUndoArchiveUser": "Undo archiving",
|
"contextMenuUndoArchiveUser": "Undo archiving",
|
||||||
"contextMenuOpenChat": "Open chat",
|
"contextMenuOpenChat": "Open chat",
|
||||||
|
|
@ -58,20 +85,14 @@
|
||||||
"settingsTitle": "Settings",
|
"settingsTitle": "Settings",
|
||||||
"settingsChats": "Chats",
|
"settingsChats": "Chats",
|
||||||
"settingsPreSelectedReactions": "Preselected reaction emojis",
|
"settingsPreSelectedReactions": "Preselected reaction emojis",
|
||||||
"settingsAutomaticallyMarkEqualMediaFilesAsOpenedTitle": "Mark duplicates as opened",
|
|
||||||
"settingsAutomaticallyMarkEqualMediaFilesAsOpenedSubtitle": "If you receive the same media in multiple chats, opening one marks all others as opened.",
|
|
||||||
"settingsPreSelectedReactionsError": "A maximum of 12 reactions can be selected.",
|
"settingsPreSelectedReactionsError": "A maximum of 12 reactions can be selected.",
|
||||||
"settingsProfile": "Profile",
|
"settingsProfile": "Profile",
|
||||||
"settingsStorageData": "Data and storage",
|
"settingsStorageData": "Data and storage",
|
||||||
"settingsStorageDataStoreInGTitle": "Store in Gallery",
|
"settingsStorageDataStoreInGTitle": "Store in Gallery",
|
||||||
|
"settingsStorageDataStoreInGSubtitle": "Store saved images additional in the systems gallery.",
|
||||||
"settingsStorageDataMediaAutoDownload": "Media auto-download",
|
"settingsStorageDataMediaAutoDownload": "Media auto-download",
|
||||||
"settingsStorageDataAutoDownMobile": "When using mobile data",
|
"settingsStorageDataAutoDownMobile": "When using mobile data",
|
||||||
"settingsStorageDataAutoDownWifi": "When using WI-FI",
|
"settingsStorageDataAutoDownWifi": "When using WI-FI",
|
||||||
"settingsStorageManageTitle": "Manage storage",
|
|
||||||
"settingsStorageUsed": "Storage used",
|
|
||||||
"settingsStorageImages": "Images",
|
|
||||||
"settingsStorageVideos": "Videos",
|
|
||||||
"settingsStorageGifs": "GIFs",
|
|
||||||
"settingsProfileCustomizeAvatar": "Customize your avatar",
|
"settingsProfileCustomizeAvatar": "Customize your avatar",
|
||||||
"settingsProfileEditDisplayName": "Displayname",
|
"settingsProfileEditDisplayName": "Displayname",
|
||||||
"settingsProfileEditDisplayNameNew": "New Displayname",
|
"settingsProfileEditDisplayNameNew": "New Displayname",
|
||||||
|
|
@ -79,8 +100,8 @@
|
||||||
"settingsSubscription": "Subscription",
|
"settingsSubscription": "Subscription",
|
||||||
"settingsAppearance": "Appearance",
|
"settingsAppearance": "Appearance",
|
||||||
"settingsPrivacy": "Privacy & Security",
|
"settingsPrivacy": "Privacy & Security",
|
||||||
"settingsPrivacyBlockUsers": "Block contacts",
|
"settingsPrivacyBlockUsers": "Block users",
|
||||||
"settingsPrivacyBlockUsersDesc": "Blocked contacts will not be able to communicate with you. You can unblock a blocked contact at any time.",
|
"settingsPrivacyBlockUsersDesc": "Blocked users will not be able to communicate with you. You can unblock a blocked user at any time.",
|
||||||
"settingsPrivacyBlockUsersCount": "{len} contact(s)",
|
"settingsPrivacyBlockUsersCount": "{len} contact(s)",
|
||||||
"@settingsPrivacyBlockUsersCount": {
|
"@settingsPrivacyBlockUsersCount": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|
@ -88,10 +109,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settingsNotification": "Notification",
|
"settingsNotification": "Notification",
|
||||||
"settingsNotifyPermission": "Notification permissions",
|
"settingsNotifyTroubleshooting": "Troubleshooting",
|
||||||
"settingsNotifyPermissionDesc": "Open system settings to allow push notifications.",
|
"settingsNotifyTroubleshootingDesc": "Click here if you have problems receiving push notifications.",
|
||||||
"settingsNotifyResetTitle": "Reset notification tokens",
|
"settingsNotifyTroubleshootingNoProblem": "No problem detected",
|
||||||
"settingsNotifyResetTitleSubtitle": "Reset your notification tokens if you have problems receiving push notifications.",
|
"settingsNotifyTroubleshootingNoProblemDesc": "Press OK to receive a test notification. If you do not receive the test notification, please click on the new menu item that appears after you click “OK”.",
|
||||||
|
"settingsNotifyResetTitle": "Didn't receive a test notification?",
|
||||||
|
"settingsNotifyResetTitleSubtitle": "If you haven't received any test notifications, click here to reset your notification tokens.",
|
||||||
"settingsNotifyResetTitleReset": "Your notification tokens have been reset.",
|
"settingsNotifyResetTitleReset": "Your notification tokens have been reset.",
|
||||||
"settingsNotifyResetTitleResetDesc": "If the problem persists, please send us your debug log via Settings > Help so we can investigate the issue.",
|
"settingsNotifyResetTitleResetDesc": "If the problem persists, please send us your debug log via Settings > Help so we can investigate the issue.",
|
||||||
"settingsHelp": "Help",
|
"settingsHelp": "Help",
|
||||||
|
|
@ -119,50 +142,35 @@
|
||||||
"contactUsWhatsThat": "What's that?",
|
"contactUsWhatsThat": "What's that?",
|
||||||
"contactUsLastWarning": "This are the information's which will be send to us. Please verify them and then press submit.",
|
"contactUsLastWarning": "This are the information's which will be send to us. Please verify them and then press submit.",
|
||||||
"contactUsSuccess": "Feedback submitted successfully!",
|
"contactUsSuccess": "Feedback submitted successfully!",
|
||||||
"hideNewsIcon": "Hide News Icon",
|
"contactUsShortcut": "Hide Feedback Icon",
|
||||||
"settingsHelpTerms": "Terms of Service",
|
"settingsHelpTerms": "Terms of Service",
|
||||||
"settingsAppearanceTheme": "Theme",
|
"settingsAppearanceTheme": "Theme",
|
||||||
"settingsAccountDeleteAccount": "Delete account",
|
"settingsAccountDeleteAccount": "Delete account",
|
||||||
|
"settingsAccountDeleteAccountWithBallance": "In the next step, you can select what you want to to with the remaining credit ({credit}).",
|
||||||
"settingsAccountDeleteAccountNoBallance": "Once you delete your account, there is no going back.",
|
"settingsAccountDeleteAccountNoBallance": "Once you delete your account, there is no going back.",
|
||||||
|
"settingsAccountDeleteAccountNoInternet": "An Internet connection is required to delete your account.",
|
||||||
"settingsAccountDeleteModalTitle": "Are you sure?",
|
"settingsAccountDeleteModalTitle": "Are you sure?",
|
||||||
"settingsAccountDeleteModalBody": "Your account will be deleted. There is no change to restore it.",
|
"settingsAccountDeleteModalBody": "Your account will be deleted. There is no change to restore it.",
|
||||||
"contactVerifyNumberTitle": "Verify contacts",
|
"contactVerifyNumberTitle": "Verify contact",
|
||||||
"verifyUserIdentity": "Verify {username}'s identity",
|
"contactVerifyNumberTapToScan": "Tap to scan",
|
||||||
"@verifyUserIdentity": {
|
"contactVerifyNumberMarkAsVerified": "Mark as verified",
|
||||||
|
"contactVerifyNumberClearVerification": "Clear verification",
|
||||||
|
"contactVerifyNumberLongDesc": "To verify the end-to-end encryption with {username}, compare the numbers with their device. The person can also scan your code with their device.",
|
||||||
|
"@contactVerifyNumberLongDesc": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"contactVerifyNumberSubtitle": "Verify the identity of your contacts to make sure you are texting the right person.",
|
|
||||||
"inChatContactNotVerified": "Contact not verified.",
|
|
||||||
"groupMembersNotVerified": "{count} members are not verified.",
|
|
||||||
"@groupMembersNotVerified": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"userVerifiedTitle": "Contact verified",
|
|
||||||
"scanUserQrCode": "Scan {username}'s QR code",
|
|
||||||
"@scanUserQrCode": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"openOwnQrCode": "Open your own QR code",
|
|
||||||
"contactVerifiedBy": "Verified by {username}",
|
|
||||||
"contactSharedByUnknown": "Shared by a verified contact (username not available)",
|
|
||||||
"verificationTypeQrScanned": "You scanned their QR code.",
|
|
||||||
"verificationTypeSecretQrToken": "{username} has scanned your QR code.",
|
|
||||||
"@verificationTypeSecretQrToken": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"verificationTypeLink": "Verified via link.",
|
|
||||||
"verificationTypeMigratedFromOldVersion": "Migrated from old version.",
|
|
||||||
"contactViewMessage": "Message",
|
"contactViewMessage": "Message",
|
||||||
"contactNickname": "Nickname",
|
"contactNickname": "Nickname",
|
||||||
"contactNicknameNew": "New nickname",
|
"contactNicknameNew": "New nickname",
|
||||||
|
"deleteAllContactMessages": "Delete all text-messages",
|
||||||
|
"deleteAllContactMessagesBody": "This will remove all messages, except stored media files, in your chat with {username}. This will NOT delete the messages stored at {username}'s device!",
|
||||||
|
"@deleteAllContactMessagesBody": {
|
||||||
|
"placeholders": {
|
||||||
|
"username": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
"contactBlock": "Block",
|
"contactBlock": "Block",
|
||||||
"contactBlockTitle": "Block {username}",
|
"contactBlockTitle": "Block {username}",
|
||||||
"@contactBlockTitle": {
|
"@contactBlockTitle": {
|
||||||
|
|
@ -170,14 +178,13 @@
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"contactBlockBody": "A blocked contact will no longer be able to send you messages and their profile will be hidden from view. To unblock a contact, simply navigate to Settings > Privacy > Blocked Contacts.",
|
"contactBlockBody": "A blocked user will no longer be able to send you messages and their profile will be hidden from view. To unblock a user, simply navigate to Settings > Privacy > Blocked Users.",
|
||||||
"contactRemove": "Remove contact",
|
"contactRemove": "Remove user",
|
||||||
"contactRemoveTitle": "Remove {username}",
|
"contactRemoveTitle": "Remove {username}",
|
||||||
"contactRemoveBody": "Permanently remove the contact. If the contact tries to send you a new message, you will have to accept the contact again first.",
|
"contactRemoveBody": "Permanently remove the user. If the user tries to send you a new message, you will have to accept the user again first.",
|
||||||
"undo": "Undo",
|
"undo": "Undo",
|
||||||
"redo": "Redo",
|
"redo": "Redo",
|
||||||
"next": "Next",
|
"next": "Next",
|
||||||
"finishSetup": "Complete setup",
|
|
||||||
"submit": "Submit",
|
"submit": "Submit",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
"disable": "Disable",
|
"disable": "Disable",
|
||||||
|
|
@ -201,24 +208,34 @@
|
||||||
"addDrawing": "Drawing",
|
"addDrawing": "Drawing",
|
||||||
"addEmoji": "Emoji",
|
"addEmoji": "Emoji",
|
||||||
"toggleFlashLight": "Toggle the flash light",
|
"toggleFlashLight": "Toggle the flash light",
|
||||||
|
"toggleHighQuality": "Toggle better resolution",
|
||||||
"userFound": "{username} found",
|
"userFound": "{username} found",
|
||||||
"userFoundBody": "Do you want to connect with {username}?",
|
"userFoundBody": "Do you want to create a follow request?",
|
||||||
"@userFoundBody": {
|
"searchUsernameNotFoundLong": "\"{username}\" is not a twonly user. Please check the username and try again.",
|
||||||
|
"@searchUsernameNotFoundLong": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {
|
"username": {}
|
||||||
"type": "String"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"errorUnknown": "An unexpected error has occurred. Please try again later.",
|
||||||
|
"errorBadRequest": "The request could not be understood by the server due to malformed syntax. Please check your input and try again.",
|
||||||
|
"errorTooManyRequests": "You have made too many requests in a short period. Please wait a moment before trying again.",
|
||||||
"errorInternalError": "The server is currently not available. Please try again later.",
|
"errorInternalError": "The server is currently not available. Please try again later.",
|
||||||
"errorInvalidInvitationCode": "The invitation code you provided is invalid. Please check the code and try again.",
|
"errorInvalidInvitationCode": "The invitation code you provided is invalid. Please check the code and try again.",
|
||||||
"errorUsernameAlreadyTaken": "The username is already taken.",
|
"errorUsernameAlreadyTaken": "The username is already taken.",
|
||||||
|
"errorSignatureNotValid": "The provided signature is not valid. Please check your credentials and try again.",
|
||||||
|
"errorUsernameNotFound": "The username you entered does not exist. Please check the spelling or create a new account.",
|
||||||
"errorUsernameNotValid": "The username you provided does not meet the required criteria. Please choose a valid username.",
|
"errorUsernameNotValid": "The username you provided does not meet the required criteria. Please choose a valid username.",
|
||||||
|
"errorInvalidPublicKey": "The public key you provided is invalid. Please check the key and try again.",
|
||||||
|
"errorSessionAlreadyAuthenticated": "You are already logged in. Please log out if you want to log in with a different account.",
|
||||||
|
"errorSessionNotAuthenticated": "Your session is not authenticated. Please log in to continue.",
|
||||||
|
"errorOnlyOneSessionAllowed": "Only one active session is allowed per user. Please log out from other devices to continue.",
|
||||||
"errorNotEnoughCredit": "You do not have enough twonly-credit.",
|
"errorNotEnoughCredit": "You do not have enough twonly-credit.",
|
||||||
"errorVoucherInvalid": "The voucher code you entered is not valid.",
|
"errorVoucherInvalid": "The voucher code you entered is not valid.",
|
||||||
"errorPlanLimitReached": "You have reached your plans limit. Please upgrade your plan.",
|
"errorPlanLimitReached": "You have reached your plans limit. Please upgrade your plan.",
|
||||||
"errorPlanNotAllowed": "This feature is not available in your current plan.",
|
"errorPlanNotAllowed": "This feature is not available in your current plan.",
|
||||||
"errorPlanUpgradeNotYearly": "The plan upgrade must be paid for annually, as the current plan is also billed annually.",
|
"errorPlanUpgradeNotYearly": "The plan upgrade must be paid for annually, as the current plan is also billed annually.",
|
||||||
|
"upgradeToPaidPlan": "Upgrade to a paid plan.",
|
||||||
"upgradeToPaidPlanButton": "Upgrade to {planId}{sufix}",
|
"upgradeToPaidPlanButton": "Upgrade to {planId}{sufix}",
|
||||||
"partOfPaidPlanOf": "You are part of the paid plan of {username}!",
|
"partOfPaidPlanOf": "You are part of the paid plan of {username}!",
|
||||||
"year": "year",
|
"year": "year",
|
||||||
|
|
@ -227,103 +244,119 @@
|
||||||
"monthly": "Monthly",
|
"monthly": "Monthly",
|
||||||
"proFeature1": "✓ Unlimited media file uploads",
|
"proFeature1": "✓ Unlimited media file uploads",
|
||||||
"proFeature2": "✓ 1 additional Plus user",
|
"proFeature2": "✓ 1 additional Plus user",
|
||||||
"proFeature3": "✓ 25GB Memories storage",
|
"proFeature3": "✓ Restore flames",
|
||||||
"proFeature4": "✓ Restore flames",
|
"proFeature4": "✓ Support twonly",
|
||||||
"familyFeature1": "✓ Unlimited media file uploads",
|
"familyFeature1": "✓ Unlimited media file uploads",
|
||||||
"familyFeature2": "✓ 4 additional Plus user",
|
"familyFeature2": "✓ 4 additional Plus user",
|
||||||
"familyFeature3": "✓ 50GB Memories storage",
|
"familyFeature3": "✓ Restore flames",
|
||||||
"familyFeature4": "✓ Restore flames",
|
|
||||||
"familyFeature4": "✓ Support twonly",
|
"familyFeature4": "✓ Support twonly",
|
||||||
"freeFeature1": "✓ 10 Media file uploads per day",
|
"freeFeature1": "✓ 10 Media file uploads per day",
|
||||||
"plusFeature1": "✓ Unlimited media file uploads",
|
"plusFeature1": "✓ Unlimited media file uploads",
|
||||||
"plusFeature2": "✓ Additional features (coming-soon)",
|
"plusFeature2": "✓ Additional features (coming-soon)",
|
||||||
|
"transactionHistory": "Your transaction history",
|
||||||
|
"manageSubscription": "Manage your subscription",
|
||||||
|
"nextPayment": "Next payment",
|
||||||
|
"currentBalance": "Current balance",
|
||||||
"manageAdditionalUsers": "Manage additional users",
|
"manageAdditionalUsers": "Manage additional users",
|
||||||
"open": "Open",
|
"open": "Open",
|
||||||
|
"createOrRedeemVoucher": "Buy or redeem voucher",
|
||||||
|
"createVoucher": "Buy voucher",
|
||||||
|
"createVoucherDesc": "Choose the value of the voucher. The value of the voucher will be deducted from your twonly balance.",
|
||||||
|
"redeemVoucher": "Redeem voucher",
|
||||||
|
"openVouchers": "Open vouchers",
|
||||||
|
"voucherCreated": "Voucher created",
|
||||||
|
"voucherRedeemed": "Voucher redeemed",
|
||||||
|
"enterVoucherCode": "Enter Voucher Code",
|
||||||
|
"requestedVouchers": "Requested vouchers",
|
||||||
|
"redeemedVouchers": "Redeemed vouchers",
|
||||||
"buy": "Buy",
|
"buy": "Buy",
|
||||||
|
"subscriptionRefund": "When you upgrade, you will receive a refund of {refund} for your current subscription.",
|
||||||
|
"transactionCash": "Cash transaction",
|
||||||
|
"transactionPlanUpgrade": "Plan upgrade",
|
||||||
|
"transactionRefund": "Refund transaction",
|
||||||
|
"transactionThanksForTesting": "Thank you for testing",
|
||||||
|
"transactionUnknown": "Unknown transaction",
|
||||||
|
"transactionVoucherCreated": "Voucher created",
|
||||||
|
"transactionVoucherRedeemed": "Voucher redeemed",
|
||||||
|
"transactionAutoRenewal": "Automatic renewal",
|
||||||
|
"checkoutOptions": "Options",
|
||||||
|
"refund": "Refund",
|
||||||
|
"checkoutPayYearly": "Pay yearly",
|
||||||
|
"checkoutTotal": "Total",
|
||||||
|
"selectPaymentMethod": "Select Payment Method",
|
||||||
|
"twonlyCredit": "twonly-Credit",
|
||||||
|
"notEnoughCredit": "You do not have enough credit!",
|
||||||
|
"chargeCredit": "Charge credit",
|
||||||
"autoRenewal": "Auto renewal",
|
"autoRenewal": "Auto renewal",
|
||||||
|
"autoRenewalDesc": "You can change this at any time.",
|
||||||
|
"autoRenewalLongDesc": "When your subscription expires, you will automatically be downgraded to the Preview plan. If you activate the automatic renewal, please make sure that you have enough credit for the automatic renewal. We will notify you in good time before the automatic renewal.",
|
||||||
|
"planSuccessUpgraded": "Successfully upgraded your plan.",
|
||||||
|
"checkoutSubmit": "Order with a fee.",
|
||||||
"additionalUsersList": "Your additional users",
|
"additionalUsersList": "Your additional users",
|
||||||
|
"additionalUsersPlusTokens": "twonly-codes for \"Plus\" user",
|
||||||
|
"additionalUsersFreeTokens": "twonly-codes for \"Free\" user",
|
||||||
|
"planLimitReached": "You have reached your plan limit for today. Upgrade your plan now to send the media file.",
|
||||||
|
"planNotAllowed": "You cannot send media files with your current tariff. Upgrade your plan now to send the media file.",
|
||||||
"galleryDelete": "Delete file",
|
"galleryDelete": "Delete file",
|
||||||
|
"galleryDetails": "Show details",
|
||||||
"galleryExport": "Export to gallery",
|
"galleryExport": "Export to gallery",
|
||||||
"galleryExportSuccess": "Successfully saved in the Gallery.",
|
"galleryExportSuccess": "Successfully saved in the Gallery.",
|
||||||
"gallerySelectAll": "Select all",
|
"settingsResetTutorials": "Show tutorials again",
|
||||||
"galleryDeselectAll": "Deselect all",
|
"settingsResetTutorialsDesc": "Click here to show already displayed tutorials again.",
|
||||||
"galleryFavorite": "Favorite",
|
"settingsResetTutorialsSuccess": "Tutorials will be displayed again.",
|
||||||
"galleryUnfavorite": "Unfavorite",
|
"tutorialChatListSearchUsersTitle": "Find Friends and Manage Friend Requests",
|
||||||
"galleryCancel": "Cancel",
|
"tutorialChatListSearchUsersDesc": "If you know your friends' usernames, you can search for them here and send a friend request. You will also see all requests from other users that you can accept or block.",
|
||||||
|
"tutorialChatListContextMenuTitle": "Long press on the contact to open the context menu.",
|
||||||
|
"tutorialChatListContextMenuDesc": "With the context menu, you can pin, archive, and perform various actions on your contacts. Simply long press the contact and then move your finger to the desired option or tap directly on it.",
|
||||||
|
"tutorialChatMessagesVerifyShieldTitle": "Verify your contacts!",
|
||||||
|
"tutorialChatMessagesVerifyShieldDesc": "twonly uses the Signal protocol for secure end-to-end encryption. When you first contact someone, their public identity key is downloaded. To ensure that this key has not been tampered with by third parties, you should compare it with your friend when you meet in person. Once you have verified the user, you can also enable the twonly mode when sending images and videos.",
|
||||||
|
"tutorialChatMessagesReopenMessageTitle": "Reopen Images and Videos",
|
||||||
|
"tutorialChatMessagesReopenMessageDesc": "If your friend has sent you a picture or video with infinite display time, you can open it again at any time until you restart the app. To do this, simply double-click on the message. Your friend will then receive a notification that you have viewed the picture again.",
|
||||||
"memoriesEmpty": "As soon as you save pictures or videos, they end up here in your memories.",
|
"memoriesEmpty": "As soon as you save pictures or videos, they end up here in your memories.",
|
||||||
"deleteTitle": "Are you sure?",
|
"deleteTitle": "Are you sure?",
|
||||||
"deleteOkBtnForAll": "Delete for all",
|
"deleteOkBtnForAll": "Delete for all",
|
||||||
"memoriesDeleteSnackbarSuccess": "{count, plural, =1 {Deleted 1 item successfully} other {Deleted {count} items successfully}}",
|
|
||||||
"deleteOkBtnForMe": "Delete for me",
|
"deleteOkBtnForMe": "Delete for me",
|
||||||
"deleteOnlyForMe": "Delete only for me",
|
|
||||||
"deleteImageTitle": "Are you sure?",
|
"deleteImageTitle": "Are you sure?",
|
||||||
"deleteImageBody": "The image will be irrevocably deleted.",
|
"deleteImageBody": "The image will be irrevocably deleted.",
|
||||||
"deleteMemoriesBody": "{count, plural, =1 {The image will be irrevocably deleted.} other {The {count} images will be irrevocably deleted.}}",
|
|
||||||
"@deleteMemoriesBody": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"deleteMemoriesLocalOnly": "Local Only",
|
|
||||||
"deleteMemoriesCompletely": "Completely",
|
|
||||||
"memoriesSelectedCount": "{count, plural, =1 {1 Element} other {{count} Elements}}",
|
|
||||||
"@memoriesSelectedCount": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"memoriesMenuSelectAll": "Select all",
|
|
||||||
"memoriesMenuDeselectAll": "Deselect all",
|
|
||||||
"memoriesMenuExport": "Export to gallery",
|
|
||||||
"memoriesMenuFavorite": "Favorite",
|
|
||||||
"memoriesMenuDelete": "Delete completely",
|
|
||||||
"memoriesMenuDeleteLocal": "Delete locally",
|
|
||||||
"settingsBackup": "Backup",
|
"settingsBackup": "Backup",
|
||||||
|
"backupNoticeTitle": "No backup configured",
|
||||||
|
"backupNoticeDesc": "If you change or lose your device, no one can restore your account without a backup. Therefore, back up your data.",
|
||||||
|
"backupNoticeLater": "Remind later",
|
||||||
|
"backupNoticeOpenBackup": "Create backup",
|
||||||
"backupPending": "Pending",
|
"backupPending": "Pending",
|
||||||
"backupFailed": "Failed",
|
"backupFailed": "Failed",
|
||||||
"backupSuccess": "Success",
|
"backupSuccess": "Success",
|
||||||
"backupTwonlySafeDesc": "Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.",
|
"backupTwonlySafeDesc": "Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.",
|
||||||
"backupNoPasswordRecovery": "Due to twonly's security system, there is (currently) no password recovery function. Therefore, you must remember your password or, better yet, write it down.",
|
"backupNoPasswordRecovery": "Due to twonly's security system, there is (currently) no password recovery function. Therefore, you must remember your password or, better yet, write it down.",
|
||||||
"backupIdentityHeader": "Identity",
|
"backupServer": "Server",
|
||||||
"backupArchiveHeader": "Contacts & Messages",
|
"backupMaxBackupSize": "max. backup size",
|
||||||
|
"backupStorageRetention": "Storage retention",
|
||||||
"backupLastBackupDate": "Last backup",
|
"backupLastBackupDate": "Last backup",
|
||||||
"backupLastBackupSize": "Backup size",
|
"backupLastBackupSize": "Backup size",
|
||||||
"backupLastBackupResult": "Result",
|
"backupLastBackupResult": "Result",
|
||||||
|
"deleteBackupTitle": "Are you sure?",
|
||||||
|
"deleteBackupBody": "Without an backup, you can not restore your user account.",
|
||||||
|
"backupData": "Data-Backup",
|
||||||
|
"backupDataDesc": "This backup contains besides of your twonly-Identity also all of your media files. This backup will is also encrypted but stored locally. You then have to ensure to manually copy it onto your laptop or device of your choice.",
|
||||||
"backupInsecurePassword": "Insecure password",
|
"backupInsecurePassword": "Insecure password",
|
||||||
"backupInsecurePasswordDesc": "The chosen password is very insecure and can therefore easily be guessed by attackers. Please choose a secure password.",
|
"backupInsecurePasswordDesc": "The chosen password is very insecure and can therefore easily be guessed by attackers. Please choose a secure password.",
|
||||||
"backupInsecurePasswordOk": "Continue anyway",
|
"backupInsecurePasswordOk": "Continue anyway",
|
||||||
"backupInsecurePasswordCancel": "Try again",
|
"backupInsecurePasswordCancel": "Try again",
|
||||||
"backupTwonlySafeLongDesc": "twonly does not have any central user accounts. A key pair is created during installation, which consists of a public and a private key. The private key is only stored on your device to protect it from unauthorized access. The public key is uploaded to the server and linked to your chosen username so that others can find you.\n\ntwonly Backup regularly creates an encrypted, anonymous backup of your private key together with your contacts and settings. Your username and chosen password are enough to restore this data on another device.",
|
"backupTwonlySafeLongDesc": "twonly does not have any central user accounts. A key pair is created during installation, which consists of a public and a private key. The private key is only stored on your device to protect it from unauthorized access. The public key is uploaded to the server and linked to your chosen username so that others can find you.\n\ntwonly Backup regularly creates an encrypted, anonymous backup of your private key together with your contacts and settings. Your username and chosen password are enough to restore this data on another device.",
|
||||||
"backupSelectStrongPassword": "Select a secure password. It is recommended to generate and store it via your password manager of choice.",
|
"backupSelectStrongPassword": "Choose a secure password. This is required if you want to restore your twonly Backup.",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"passwordRepeated": "Repeat password",
|
"passwordRepeated": "Repeat password",
|
||||||
"passwordRepeatedNotEqual": "Passwords do not match.",
|
"passwordRepeatedNotEqual": "Passwords do not match.",
|
||||||
"backupPasswordRequirement": "Password must be at least 10 characters long.",
|
"backupPasswordRequirement": "Password must be at least 8 characters long.",
|
||||||
"backupEnableBackup": "Enable Password Backup",
|
"backupExpertSettings": "Expert settings",
|
||||||
|
"backupEnableBackup": "Activate automatic backup",
|
||||||
|
"backupOwnServerDesc": "Save your twonly Backup at twonly or on any server of your choice.",
|
||||||
|
"backupUseOwnServer": "Use server",
|
||||||
|
"backupResetServer": "Use standard server",
|
||||||
"backupTwonlySaveNow": "Save now",
|
"backupTwonlySaveNow": "Save now",
|
||||||
"backupChangePassword": "Change password",
|
"backupChangePassword": "Change password",
|
||||||
"backupChangePasswordAuthReason": "Changing backup password",
|
"twonlySafeRecoverTitle": "Recovery",
|
||||||
"backupChangePasswordAuthFailed": "You can only change your password after you have authenticated!",
|
"twonlySafeRecoverDesc": "If you have created a backup with twonly Backup, you can restore it here.",
|
||||||
"backupFreeSpaceWithCloud": "Free Space with Cloud Backup",
|
|
||||||
"backupMemoriesNotEnabled": "Not enabled",
|
|
||||||
"backupMemoriesUpgradeRequired": "Upgrade required",
|
|
||||||
"todayAt": "Today at {time}",
|
|
||||||
"@todayAt": {
|
|
||||||
"placeholders": {
|
|
||||||
"time": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"yesterdayAt": "Yesterday at {time}",
|
|
||||||
"@yesterdayAt": {
|
|
||||||
"placeholders": {
|
|
||||||
"time": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"twonlySafeRecoverTitle": "Restore backup",
|
|
||||||
"twonlySafeRecoverBtn": "Restore backup",
|
"twonlySafeRecoverBtn": "Restore backup",
|
||||||
"inviteFriends": "Invite your friends",
|
"inviteFriends": "Invite your friends",
|
||||||
"inviteFriendsShareBtn": "Share",
|
"inviteFriendsShareBtn": "Share",
|
||||||
|
|
@ -334,9 +367,11 @@
|
||||||
"uploadLimitReached": "The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.",
|
"uploadLimitReached": "The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.",
|
||||||
"fileLimitReached": "Maximum file size\nexceeded",
|
"fileLimitReached": "Maximum file size\nexceeded",
|
||||||
"retransmissionRequested": "Retransmission requested",
|
"retransmissionRequested": "Retransmission requested",
|
||||||
|
"testPaymentMethod": "Thanks for the interest in a paid plan. Currently the paid plans are still deactivated. But they will be activated soon!",
|
||||||
|
"openChangeLog": "Open changelog automatically",
|
||||||
"reportUserTitle": "Report {username}",
|
"reportUserTitle": "Report {username}",
|
||||||
"reportUserReason": "Reporting reason",
|
"reportUserReason": "Reporting reason",
|
||||||
"reportUser": "Report contact",
|
"reportUser": "Report user",
|
||||||
"newDeviceRegistered": "You have logged in on another device. You have therefore been logged out here.",
|
"newDeviceRegistered": "You have logged in on another device. You have therefore been logged out here.",
|
||||||
"tabToRemoveEmoji": "Tab to remove",
|
"tabToRemoveEmoji": "Tab to remove",
|
||||||
"quotedMessageWasDeleted": "The quoted message has been deleted.",
|
"quotedMessageWasDeleted": "The quoted message has been deleted.",
|
||||||
|
|
@ -348,7 +383,6 @@
|
||||||
"opened": "Opened",
|
"opened": "Opened",
|
||||||
"waitingForInternet": "Waiting for internet",
|
"waitingForInternet": "Waiting for internet",
|
||||||
"editHistory": "Edit history",
|
"editHistory": "Edit history",
|
||||||
"fileSize": "File size",
|
|
||||||
"archivedChats": "Archived chats",
|
"archivedChats": "Archived chats",
|
||||||
"durationShortSecond": "Sec.",
|
"durationShortSecond": "Sec.",
|
||||||
"durationShortMinute": "Min.",
|
"durationShortMinute": "Min.",
|
||||||
|
|
@ -377,7 +411,6 @@
|
||||||
"makeAdminRightsOkBtn": "Make admin",
|
"makeAdminRightsOkBtn": "Make admin",
|
||||||
"updateGroup": "Update group",
|
"updateGroup": "Update group",
|
||||||
"alreadyInGroup": "Already in Group",
|
"alreadyInGroup": "Already in Group",
|
||||||
"contactNotVerified": "Not verified",
|
|
||||||
"removeContactFromGroupTitle": "Remove {username} from this group?",
|
"removeContactFromGroupTitle": "Remove {username} from this group?",
|
||||||
"youChangedGroupName": "You have changed the group name to \"{newGroupName}\".",
|
"youChangedGroupName": "You have changed the group name to \"{newGroupName}\".",
|
||||||
"makerChangedGroupName": "{maker} has changed the group name to \"{newGroupName}\".",
|
"makerChangedGroupName": "{maker} has changed the group name to \"{newGroupName}\".",
|
||||||
|
|
@ -403,6 +436,7 @@
|
||||||
"notificationAudio": "sent a voice message{inGroup}.",
|
"notificationAudio": "sent a voice message{inGroup}.",
|
||||||
"notificationAddedToGroup": "has added you to \"{groupname}\"",
|
"notificationAddedToGroup": "has added you to \"{groupname}\"",
|
||||||
"notificationContactRequest": "wants to connect with you.",
|
"notificationContactRequest": "wants to connect with you.",
|
||||||
|
"notificationContactRequestUnknownUser": "have received a new contact request.",
|
||||||
"notificationAcceptRequest": "is now connected with you.",
|
"notificationAcceptRequest": "is now connected with you.",
|
||||||
"notificationStoredMediaFile": "has stored your image.",
|
"notificationStoredMediaFile": "has stored your image.",
|
||||||
"notificationReaction": "has reacted to your image.",
|
"notificationReaction": "has reacted to your image.",
|
||||||
|
|
@ -412,9 +446,10 @@
|
||||||
"notificationReactionToImage": "has reacted with {reaction} to your image.",
|
"notificationReactionToImage": "has reacted with {reaction} to your image.",
|
||||||
"notificationReactionToAudio": "has reacted with {reaction} to your audio message.",
|
"notificationReactionToAudio": "has reacted with {reaction} to your audio message.",
|
||||||
"notificationResponse": "has responded{inGroup}.",
|
"notificationResponse": "has responded{inGroup}.",
|
||||||
|
"notificationTitleUnknown": "You have a new message.",
|
||||||
|
"notificationBodyUnknown": "Open twonly to learn more.",
|
||||||
"notificationCategoryMessageTitle": "Messages",
|
"notificationCategoryMessageTitle": "Messages",
|
||||||
"notificationCategoryMessageDesc": "Messages from other users.",
|
"notificationCategoryMessageDesc": "Messages from other users.",
|
||||||
"notificationConnectionFallback": "You may have new messages.",
|
|
||||||
"groupContextMenuDeleteGroup": "This will permanently delete all messages in this chat.",
|
"groupContextMenuDeleteGroup": "This will permanently delete all messages in this chat.",
|
||||||
"groupYouAreNowLongerAMember": "You are no longer part of this group.",
|
"groupYouAreNowLongerAMember": "You are no longer part of this group.",
|
||||||
"groupNetworkIssue": "Network issue. Try again later.",
|
"groupNetworkIssue": "Network issue. Try again later.",
|
||||||
|
|
@ -443,44 +478,14 @@
|
||||||
"avatarSaveChangesDiscard": "Discard",
|
"avatarSaveChangesDiscard": "Discard",
|
||||||
"inProcess": "In process",
|
"inProcess": "In process",
|
||||||
"draftMessage": "Draft",
|
"draftMessage": "Draft",
|
||||||
|
"exportMemories": "Export memories (Beta)",
|
||||||
|
"importMemories": "Import memories (Beta)",
|
||||||
"voiceMessageSlideToCancel": "Slide to cancel",
|
"voiceMessageSlideToCancel": "Slide to cancel",
|
||||||
"voiceMessageCancel": "Cancel",
|
"voiceMessageCancel": "Cancel",
|
||||||
"shareYourProfile": "Share your profile",
|
"shareYourProfile": "Share your profile",
|
||||||
"scanOtherProfile": "Scan other profile",
|
"scanOtherProfile": "Scan other profile",
|
||||||
"openYourOwnQRcode": "Open your own QR code",
|
"openYourOwnQRcode": "Open your own QR code",
|
||||||
"addContactQrSheetSubtext": "Let a friend scan this QR code to add you",
|
"skipForNow": "Skip for now",
|
||||||
"letUserScanQrCode": "Let {username} scan this QR code",
|
|
||||||
"@letUserScanQrCode": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"finishSetupCardTitle": "Complete your profile",
|
|
||||||
"finishSetupCardDesc": "You are almost there! Finish setting up your account to get the most out of twonly.",
|
|
||||||
"finishSetupCardAction": "Resume Setup",
|
|
||||||
"missingBackupCardTitle": "Setup backup",
|
|
||||||
"missingBackupCardDesc": "We have improved the backup mechanism, which requires you to set it up again.",
|
|
||||||
"missingBackupCardAction": "Set up now",
|
|
||||||
"onboardingFinishLater": "Finish later",
|
|
||||||
"onboardingProfileTitle": "Choose your look",
|
|
||||||
"onboardingProfileBody": "Select an avatar and a display name that friends will see.",
|
|
||||||
"onboardingBackupBody": "Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.",
|
|
||||||
"onboardingUserDiscoveryShareFriends": "Share your friends",
|
|
||||||
"onboardingUserDiscoveryShareFriendsDesc": "Share with your friends who you know and who you have verified. Friends can *only see mutual friends* from your friend list. You can change your mind at *any time* or *hide specific people*.",
|
|
||||||
"onboardingUserDiscoveryContactsVerifiedBadge": "Contacts verified by your friends get a badge",
|
|
||||||
"onboardingUserDiscoveryWhoIsRequesting": "Be informed about who is requesting",
|
|
||||||
"userDiscoverySettingsManualApproval": "Ask every time before sharing",
|
|
||||||
"userDiscoverySettingsManualApprovalDesc": "Before one of your friends is shared, you will be asked every time.",
|
|
||||||
"onboardingUserDiscoveryLetFriendsFindYou": "Let your friends find you",
|
|
||||||
"onboardingUserDiscoveryBeRecommended": "Be recommended to others",
|
|
||||||
"onboardingUserDiscoveryWhatOthersSee": "What others will see",
|
|
||||||
"onboardingUserDiscoveryWhatYouSee": "If requested, that's what you will see",
|
|
||||||
"onboardingAddContactsTitle": "Add new contacts",
|
|
||||||
"onboardingAddContactsAcceptDesc": "In twonly, every contact must first be accepted before you can communicate.",
|
|
||||||
"onboardingAddContactsMethodHeading": "Add contacts",
|
|
||||||
"onboardingAddContactsMethodScan": "Scan the contact's QR code.",
|
|
||||||
"onboardingAddContactsMethodSearch": "Search for the username.",
|
|
||||||
"onboardingAddContactsMethodShare": "Share a contact in chats.",
|
|
||||||
"linkFromUsername": "Is the link from {username}?",
|
"linkFromUsername": "Is the link from {username}?",
|
||||||
"linkFromUsernameLong": "If you received the link from your friend, you can mark the user as verified, as the public key in the link matches the public key already stored for that user?",
|
"linkFromUsernameLong": "If you received the link from your friend, you can mark the user as verified, as the public key in the link matches the public key already stored for that user?",
|
||||||
"gotLinkFromFriend": "Yes, I got the link from my friend!",
|
"gotLinkFromFriend": "Yes, I got the link from my friend!",
|
||||||
|
|
@ -488,7 +493,7 @@
|
||||||
"linkPubkeyDoesNotMatch": "The public key in the link does not match the public key stored for this contact. Try to meet your friend in person and scan the QR code directly!",
|
"linkPubkeyDoesNotMatch": "The public key in the link does not match the public key stored for this contact. Try to meet your friend in person and scan the QR code directly!",
|
||||||
"startWithCameraOpen": "Start with camera open",
|
"startWithCameraOpen": "Start with camera open",
|
||||||
"showImagePreviewWhenSending": "Display image preview when selecting recipients",
|
"showImagePreviewWhenSending": "Display image preview when selecting recipients",
|
||||||
"verifiedPublicKey": "The identity of {username} has been successfully verified.",
|
"verifiedPublicKey": "The public key of {username} has been verified and is valid.",
|
||||||
"memoriesAYearAgo": "One year ago",
|
"memoriesAYearAgo": "One year ago",
|
||||||
"memoriesXYearsAgo": "{years} years ago",
|
"memoriesXYearsAgo": "{years} years ago",
|
||||||
"migrationOfMemories": "Migration of media files: {open} still to be processed.",
|
"migrationOfMemories": "Migration of media files: {open} still to be processed.",
|
||||||
|
|
@ -503,6 +508,7 @@
|
||||||
"additionalUserRemoveDesc": "After removal, the additional user will automatically be downgraded to the free plan, and you can add another person.",
|
"additionalUserRemoveDesc": "After removal, the additional user will automatically be downgraded to the free plan, and you can add another person.",
|
||||||
"additionalUserSelectTitle": "Select additional users",
|
"additionalUserSelectTitle": "Select additional users",
|
||||||
"additionalUserSelectButton": "Select users ({used}/{limit})",
|
"additionalUserSelectButton": "Select users ({used}/{limit})",
|
||||||
|
"manageSubscription": "Manage subscription",
|
||||||
"storeAsDefault": "Store as default",
|
"storeAsDefault": "Store as default",
|
||||||
"deleteUserErrorMessage": "You can only delete the contact once the direct chat has been deleted and the contact is no longer a member of a group.",
|
"deleteUserErrorMessage": "You can only delete the contact once the direct chat has been deleted and the contact is no longer a member of a group.",
|
||||||
"groupSizeLimitError": "Currently, group size is limited to {size} people!",
|
"groupSizeLimitError": "Currently, group size is limited to {size} people!",
|
||||||
|
|
@ -513,42 +519,10 @@
|
||||||
"updateTwonlyMessage": "To see this message, you need to update twonly.",
|
"updateTwonlyMessage": "To see this message, you need to update twonly.",
|
||||||
"verificationBadgeNote": "You can verify your friends by scanning their public QR code. Click to learn more.",
|
"verificationBadgeNote": "You can verify your friends by scanning their public QR code. Click to learn more.",
|
||||||
"verificationBadgeTitle": "Verification",
|
"verificationBadgeTitle": "Verification",
|
||||||
"verificationBadgeGeneralDesc": "The badge gives you the peace of mind that you are messaging the *right person* and your *messages remain confidential*.",
|
"verificationBadgeGeneralDesc": "The green checkmark gives you the certainty that you are messaging the right person.",
|
||||||
"verificationBadgeGreenDesc": "A contact you have *personally verified* using the QR code.",
|
"verificationBadgeGreenDesc": "Contact that you have personally verified via QR code. This also verified their public key.",
|
||||||
"verificationBadgeYellowDesc": "A contact who has been verified by at least one of *your contacts*.",
|
"verificationBadgeYellowDesc": "(Coming soon) Contact whose QR code was scanned by one of your personally verified contacts.",
|
||||||
"verificationBadgeRedDesc": "A contact whose identity has *not* yet been verified.",
|
"verificationBadgeRedDesc": "Unknown contact whose identity has not yet been verified.",
|
||||||
"scanNow": "Scan now",
|
|
||||||
"qrScannerVerifyHint": "To verify, the other person must open their QR code (Chat Lists > QR code button at the bottom right)",
|
|
||||||
"qrScannerVerifyUserHint": "To verify, {username} must open their QR code (Chat Lists > QR code button at the bottom right)",
|
|
||||||
"@qrScannerVerifyUserHint": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"openQrCode": "Open QR code",
|
|
||||||
"letFriendScanQrToVerify": "Let a friend scan this QR code to verify you",
|
|
||||||
"deleteVerificationTitle": "Delete verification?",
|
|
||||||
"deleteVerificationBody": "Are you sure you want to delete this verification?",
|
|
||||||
"secretQrTokenVerifiedSnackbar": "{username} has scanned your QR code and is now verified.",
|
|
||||||
"@secretQrTokenVerifiedSnackbar": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"askForFriendPromotionsPrompt": "Help {username} find familiar faces on twonly by sharing mutual friends.",
|
|
||||||
"@askForFriendPromotionsPrompt": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mutualGroupsTitle": "{count, plural, =1{1 mutual group} other{{count} mutual groups}}",
|
|
||||||
"@mutualGroupsTitle": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chatEntryFlameRestored": "{count} flames restored",
|
"chatEntryFlameRestored": "{count} flames restored",
|
||||||
"requestedUserToastText": "{username} was successfully requested.",
|
"requestedUserToastText": "{username} was successfully requested.",
|
||||||
"profileYourQrCode": "Your QR code",
|
"profileYourQrCode": "Your QR code",
|
||||||
|
|
@ -561,21 +535,29 @@
|
||||||
"unlockTwonlyDesc": "Use your phone's unlock settings to unlock twonly",
|
"unlockTwonlyDesc": "Use your phone's unlock settings to unlock twonly",
|
||||||
"settingsTypingIndication": "Typing Indicators",
|
"settingsTypingIndication": "Typing Indicators",
|
||||||
"settingsTypingIndicationSubtitle": "When the typing indicator is turned off, you can't see when others are typing a message.",
|
"settingsTypingIndicationSubtitle": "When the typing indicator is turned off, you can't see when others are typing a message.",
|
||||||
|
"scanQrOrShow": "Scan / Show QR",
|
||||||
|
|
||||||
"contactActionBlock": "Block",
|
"contactActionBlock": "Block",
|
||||||
"contactActionAccept": "Accept",
|
"contactActionAccept": "Accept",
|
||||||
|
"userDiscoverySettingsMinImages": "Choose the minimum number of images you must have exchanged with a person before you securely share your friends with them.",
|
||||||
"userDiscoverySettingsMutualFriends": "Choose how many mutual friends a person must have for you to be suggested to them.",
|
"userDiscoverySettingsMutualFriends": "Choose how many mutual friends a person must have for you to be suggested to them.",
|
||||||
"userDiscoverySettingsApply": "Apply changes",
|
"userDiscoverySettingsApply": "Apply changes",
|
||||||
"userDiscoveryEnabledDisableWarning": "If you disable the \"Mutual Friends\" feature, you will no longer see suggestions. You will also stop sharing your friends with new contacts.",
|
"userDiscoveryEnabledDisableWarning": "If you disable the \"Find friends\" feature, you will no longer see suggestions. You will also stop sharing your friends with new contacts.",
|
||||||
"userDiscoveryEnabledChangeSettings": "Change settings",
|
"userDiscoveryEnabledChangeSettings": "Change settings",
|
||||||
"userDiscoveryEnabledFaq": "In our FAQ we explain how the \"Mutual Friends\" feature works.",
|
"userDiscoveryEnabledFaq": "In our FAQ we explain how the \"Find friends\" feature works.",
|
||||||
"userDiscoveryDisabledIntro": "twonly does *not* collect your phone number or needs access to your contacts. Instead, twonly can *find your friends through mutual friends*.",
|
"userDiscoveryDisabledIntro": "twonly doesn't use phone numbers, so we suggest friends based on mutual contacts instead – securely and privately.",
|
||||||
"userDiscoverySettingsTitle": "Mutual Friends",
|
"userDiscoveryDisabledInvisible": "Your friend list is *completely invisible to strangers*. Only your friends can see parts of it – and only those people with whom they have *mutual friends* themselves.",
|
||||||
"userDiscoveryFeatureOffers": "Your benefits at a glance",
|
"userDiscoveryDisabledDecide": "Decide for yourself who can see your friends. You can change your mind at any time or hide specific people.",
|
||||||
|
"userDiscoverySettingsTitle": "Find friends",
|
||||||
|
"userDiscoverySettingsMinImagesTitle": "Number of shared images",
|
||||||
|
"userDiscoverySettingsMutualFriendsTitle": "Number of mutual friends",
|
||||||
|
"userDiscoveryDisabledYouHaveControl": "You are in control",
|
||||||
|
"userDiscoveryDisabledEnableWithDefault": "Enable with default settings",
|
||||||
|
"userDiscoveryDisabledCustomizeSettings": "Customize settings",
|
||||||
"userDiscoveryDisabledLearnMore": "Learn more",
|
"userDiscoveryDisabledLearnMore": "Learn more",
|
||||||
"userDiscoveryEnabledDialogTitle": "Really disable?",
|
"userDiscoveryEnabledDialogTitle": "Really disable?",
|
||||||
"userDiscoveryEnabledFriendsShared": "Friends you share",
|
"userDiscoveryEnabledFriendsShared": "Friends you share",
|
||||||
"userDiscoveryEnabledFriendsSharedDesc": "You only share friends who have also activated this feature and who have reached the threshold you set.",
|
"userDiscoveryEnabledFriendsSharedDesc": "You only share friends who have also activated this feature and who have reached the threshold you set.",
|
||||||
"userDiscoverySettingsCurrentlyDisabled": "The feature \"Mutual Friends\" is currently disabled.",
|
|
||||||
"userDiscoveryEnabledNoFriendsShared": "You are not sharing anyone yet.",
|
"userDiscoveryEnabledNoFriendsShared": "You are not sharing anyone yet.",
|
||||||
"userDiscoveryActionDisable": "Disable",
|
"userDiscoveryActionDisable": "Disable",
|
||||||
"friendSuggestionsTitle": "Friend suggestions",
|
"friendSuggestionsTitle": "Friend suggestions",
|
||||||
|
|
@ -593,26 +575,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"friendSuggestionsRequest": "Request",
|
"friendSuggestionsRequest": "Request",
|
||||||
"friendSuggestionsAskFriend": "Ask your friends",
|
|
||||||
"askFriendsDialogTitle": "Ask about {username}",
|
|
||||||
"@askFriendsDialogTitle": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"askFriendsDialogDescription": "Select the friends you want to ask about this user:",
|
|
||||||
"askFriendsDialogConfirm": "Ask",
|
|
||||||
"askFriendsDialogCancel": "Cancel",
|
|
||||||
"chatAskAFriendReceivedDescription": "Your friend just got this as a suggestion and wants to know if he knows this person.",
|
|
||||||
"chatAskAFriendAddedDescription": "You have added this user to your contacts.",
|
|
||||||
"chatAskAFriendHide": "Hide",
|
|
||||||
"chatAskAFriendRequest": "Request",
|
|
||||||
"chatAskAFriendUnknownUser": "User {userId}",
|
|
||||||
"@chatAskAFriendUnknownUser": {
|
|
||||||
"placeholders": {
|
|
||||||
"userId": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"contactUserDiscoveryImagesLeft": "{imagesLeft} more images are needed until your friends are shared with {username}.",
|
"contactUserDiscoveryImagesLeft": "{imagesLeft} more images are needed until your friends are shared with {username}.",
|
||||||
"@contactUserDiscoveryImagesLeft": {
|
"@contactUserDiscoveryImagesLeft": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|
@ -632,371 +594,5 @@
|
||||||
"version": {}
|
"version": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userDiscoveryEnabledStopSharing": "Stop sharing",
|
"userDiscoveryEnabledStopSharing": "Stop sharing"
|
||||||
"userDiscoveryManualApprovalReachedThreshold": "Would you like to share {username} with your friends?",
|
}
|
||||||
"@userDiscoveryManualApprovalReachedThreshold": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"userDiscoveryManualApprovalHideContact": "Hide contact",
|
|
||||||
"userDiscoveryManualApprovalShareContact": "Share contact",
|
|
||||||
"onboardingSetupCompleteTitle": "You're all set, {username}!",
|
|
||||||
"@onboardingSetupCompleteTitle": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"onboardingSetupCompleteDesc": "You can now share your moments with your friends securely without distractions like ads.",
|
|
||||||
"contactUserDiscoveryManualApprovalPending": "Contact was not yet manually approved.",
|
|
||||||
"contactUserDiscoveryManualApprovalApprove": "Approve",
|
|
||||||
"exampleUserName1": "james",
|
|
||||||
"exampleUserName2": "mary",
|
|
||||||
"exampleUserName3": "john",
|
|
||||||
"exampleUserName4": "patricia",
|
|
||||||
"exampleUserName5": "robert",
|
|
||||||
"exampleUserName6": "jennifer",
|
|
||||||
"exampleUserName7": "michael",
|
|
||||||
"exampleUserName8": "linda",
|
|
||||||
"exampleUserName9": "william",
|
|
||||||
"exampleUserName10": "lena",
|
|
||||||
"exampleUserName11": "david",
|
|
||||||
"exampleJane": "jane",
|
|
||||||
"back": "Back",
|
|
||||||
"makerChangedUsername": "{maker} changed their username from {oldName} to {newName}.",
|
|
||||||
"@makerChangedUsername": {
|
|
||||||
"placeholders": {
|
|
||||||
"maker": {},
|
|
||||||
"oldName": {},
|
|
||||||
"newName": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"makerChangedDisplayName": "{maker} changed their display name from {oldName} to {newName}.",
|
|
||||||
"@makerChangedDisplayName": {
|
|
||||||
"placeholders": {
|
|
||||||
"maker": {},
|
|
||||||
"oldName": {},
|
|
||||||
"newName": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"recoverErrorNoInternet": "No internet connection. Please check your network and try again.",
|
|
||||||
"recoverErrorUsernameNotValid": "The username provided is not valid or does not exist.",
|
|
||||||
"recoverErrorPasswordInvalid": "The password provided is incorrect.",
|
|
||||||
"recoverErrorTryAgainLater": "The server is currently unavailable. Please try again later.",
|
|
||||||
"recoverErrorUnknown": "An unknown error occurred. Please try again.",
|
|
||||||
"recoverSuccessTitle": "Backup successfully recovered.",
|
|
||||||
"recoverSuccessBody": "Click here to open the app again",
|
|
||||||
"iosRecoveryWelcomeBack": "Welcome Back",
|
|
||||||
"iosRecoveryPrompt": "We detected a previously secured twonly identity on this device. Would you like to automatically download and restore your contacts, messages, and settings from your cloud archive?",
|
|
||||||
"iosRecoveryNoBackupFound": "No backup archive could be retrieved from the server for this device.\n\nError: {error}\n\nPlease proceed to register a new twonly account.",
|
|
||||||
"@iosRecoveryNoBackupFound": {
|
|
||||||
"placeholders": {
|
|
||||||
"error": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"registerNewAccount": "Register New Account",
|
|
||||||
"tryRestoreAgain": "Try Restore Again",
|
|
||||||
"registeringNewAccount": "Registering new account",
|
|
||||||
"createShortcut": "Create shortcut",
|
|
||||||
"editShortcut": "Edit shortcut",
|
|
||||||
"deleteShortcut": "Delete shortcut",
|
|
||||||
"deleteShortcutBody": "Are you sure you want to delete this shortcut?",
|
|
||||||
"updateShortcut": "Update shortcut",
|
|
||||||
"selectEmoji": "Select Emoji",
|
|
||||||
"errorEmojiUsedOrInvalid": "Emoji already used or invalid",
|
|
||||||
"subscriptionPledgeSecureTitle": "Secure by Design",
|
|
||||||
"subscriptionPledgeSecureDesc": "Your messages and shared moments are fully end-to-end encrypted.",
|
|
||||||
"subscriptionPledgeNoAdsTitle": "No Ads or Data selling",
|
|
||||||
"subscriptionPledgeNoAdsDesc": "twonly will never show advertisements or sell your private data.",
|
|
||||||
"subscriptionPledgeSubtitle": "Zero ads. Total privacy.",
|
|
||||||
"subscriptionManage": "Manage subscription",
|
|
||||||
"dragToZoom": "Drag to Zoom",
|
|
||||||
"onboardingProfileSelectionTitle": "Choose your setup path",
|
|
||||||
"onboardingProfileSelectionSubtitle": "Choose how you want to configure your security and privacy settings.",
|
|
||||||
"onboardingProfileSelectionDefaultTitle": "Default",
|
|
||||||
"onboardingProfileSelectionDefaultDesc": "Instantly applies recommended settings so you can start using the app.",
|
|
||||||
"onboardingProfileSelectionDefaultBadge": "Fast Setup",
|
|
||||||
"onboardingProfileSelectionCustomizeTitle": "Customize",
|
|
||||||
"onboardingProfileSelectionCustomizeDesc": "Step-by-step setup so you can decide for yourself.",
|
|
||||||
"replyFlameRestored": "Flames restored",
|
|
||||||
"replyAskAFriend": "Ask a friend",
|
|
||||||
"unverifiedWarningButton": "Verify now",
|
|
||||||
"today": "Today",
|
|
||||||
"yesterday": "Yesterday",
|
|
||||||
"galleryDisableWarningTitle": "Disable gallery saving?",
|
|
||||||
"galleryDisableWarningBody": "If you disable this, your media files will not be saved to your gallery and could be permanently lost if twonly is removed or has an issue, as media files are not yet backed up.",
|
|
||||||
"galleryDisableWarningConfirm": "Disable",
|
|
||||||
"settingsStorageScanGalleryTitle": "Import from Gallery",
|
|
||||||
"importGalleryDeselectAll": "Deselect all",
|
|
||||||
"importGallerySelectAll": "Select all",
|
|
||||||
"importGalleryPermissionRequired": "Permission to access your gallery is required to import previous twonly media files.",
|
|
||||||
"importGalleryPermissionError": "An error occurred while requesting permission: {error}",
|
|
||||||
"@importGalleryPermissionError": {
|
|
||||||
"placeholders": {
|
|
||||||
"error": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"importGalleryLoadError": "Failed to load assets: {error}",
|
|
||||||
"@importGalleryLoadError": {
|
|
||||||
"placeholders": {
|
|
||||||
"error": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"importGalleryImportingOf": "Importing {current} of {total}...",
|
|
||||||
"@importGalleryImportingOf": {
|
|
||||||
"placeholders": {
|
|
||||||
"current": {},
|
|
||||||
"total": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"importGalleryStarting": "Starting import...",
|
|
||||||
"importGalleryComplete": "Import complete: {imported} successfully imported and {failed} failed.",
|
|
||||||
"@importGalleryComplete": {
|
|
||||||
"placeholders": {
|
|
||||||
"imported": {},
|
|
||||||
"failed": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"importGalleryGrantAccess": "Grant Access",
|
|
||||||
"importGalleryOpenSettings": "Open Settings",
|
|
||||||
"importGalleryPermissionDenied": "Permission to access gallery denied.",
|
|
||||||
"importGalleryTryAgain": "Try Again",
|
|
||||||
"importGalleryAlbumNotFound": "\"twonly\" album not found",
|
|
||||||
"importGalleryAlbumNotFoundDesc": "If you don't have this album yet, you can also create it to import photos into twonly.",
|
|
||||||
"importGalleryNoImagesFound": "No images found",
|
|
||||||
"importGalleryNoImagesFoundDesc": "There are no images on your device.",
|
|
||||||
"importGalleryFilterTwonly": "Only show the twonly-Album",
|
|
||||||
"importGalleryRefresh": "Refresh",
|
|
||||||
"importGallerySelectToImport": "Select items to import",
|
|
||||||
"importGalleryImportCount": "{count, plural, =1{Import 1 item} other{Import {count} items}}",
|
|
||||||
"@importGalleryImportCount": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"emptyChatListTitle": "Find your first friend",
|
|
||||||
"emptyChatListDesc": "Let friends scan your QR code, or share them your profile.",
|
|
||||||
"emptyChatListShareBtn": "Share your profile",
|
|
||||||
"emptyChatListScanBtn": "QR Code",
|
|
||||||
"emptyChatListAddUsernameBtn": "By Username",
|
|
||||||
"avatarCustomizeRandomize": "Randomize",
|
|
||||||
"avatarCustomizeReset": "Reset",
|
|
||||||
"passwordlessRecovery": "Trusted Friends",
|
|
||||||
"passwordlessRecoveryNotConfigured": "Not configured",
|
|
||||||
"passwordlessRecoveryTestPin": "Test PIN",
|
|
||||||
"passwordlessRecoveryTestPinTitle": "Test PIN",
|
|
||||||
"passwordlessRecoveryTestPinHint": "Enter your PIN",
|
|
||||||
"passwordlessRecoveryTestPinCorrect": "PIN is correct!",
|
|
||||||
"passwordlessRecoveryTestPinIncorrect": "Incorrect PIN.",
|
|
||||||
"passwordlessRecoveryTest": "Test",
|
|
||||||
"passwordlessRecoverySecondFactorNone": "None",
|
|
||||||
"passwordlessRecoverySecondFactorEmailLabel": "Email ({email})",
|
|
||||||
"@passwordlessRecoverySecondFactorEmailLabel": {
|
|
||||||
"placeholders": {
|
|
||||||
"email": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoverySecondFactorPin": "PIN",
|
|
||||||
"passwordlessRecoverySecondFactorEmail": "Email",
|
|
||||||
"passwordlessRecoveryModify": "Modify Recovery Settings",
|
|
||||||
"passwordlessRecoveryModifyDesc": "Update your recovery configuration",
|
|
||||||
"passwordlessRecoverySecondFactor": "Second Factor",
|
|
||||||
"passwordlessRecoveryNoFriendsFound": "No trusted friends found.",
|
|
||||||
"passwordlessRecoveryActiveFriends": "Active Friends",
|
|
||||||
"passwordlessRecoveryActiveFriendsDesc": "These trusted friends are actively using twonly and can probably help you recover your account.",
|
|
||||||
"passwordlessRecoveryInactiveFriends": "Inactive Friends",
|
|
||||||
"passwordlessRecoveryInactiveFriendsDesc": "These friends either have not yet received their share or do not use twonly actively anymore, which could mean that they maybe cannot help.",
|
|
||||||
"passwordlessRecoveryEnableSuccess": "Trusted Friends successfully set up!",
|
|
||||||
"passwordlessRecoveryEnterPin": "Please enter a PIN.",
|
|
||||||
"passwordlessRecoveryEnterEmail": "Please enter an email address.",
|
|
||||||
"passwordlessRecoveryEnableBtn": "Enable Trusted Friends",
|
|
||||||
"passwordlessRecoveryRecoverBtn": "Recover via Trusted Friends",
|
|
||||||
"passwordlessRecoveryModifyBtn": "Modify Trusted Friends",
|
|
||||||
"passwordlessRecoveryStatusEnabled": "Enabled • {count} trusted friends",
|
|
||||||
"@passwordlessRecoveryStatusEnabled": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoveryInfoHowItWorks": "How it works",
|
|
||||||
"passwordlessRecoveryInfoHowItWorksDesc": "twonly operates without phone numbers, which is why we rely on a decentralized recovery mechanism. Using Shamir's Secret Sharing, your cryptographic identity is split into independent shares and distributed among your trusted friends. To restore access, a predefined number of these friends must combine their shares.",
|
|
||||||
"passwordlessRecoveryInfoWhySecondFactor": "Why a Second Factor?",
|
|
||||||
"passwordlessRecoveryInfoWhySecondFactorDesc": "The second factor (Email or PIN) provides important additional protection. Even if your friends were to secretly team up, they still couldn't access your account without this second factor.",
|
|
||||||
"passwordlessRecoveryInfoGotIt": "Got it",
|
|
||||||
"passwordlessRecoveryMethod": "Second factor method",
|
|
||||||
"passwordlessRecoveryMethodNoneDesc": "Without second-factor, your friends could collaborate to recover your account. Therefore, it is recommended to configure a second-factor.",
|
|
||||||
"passwordlessRecoveryMethodPinHint": "Enter PIN",
|
|
||||||
"passwordlessRecoveryMethodEmailHint": "Enter recovery email address",
|
|
||||||
"passwordlessRecoveryMethodEmailDesc": "Your email address is *never stored on the server* and is only sent to it in the event of a recovery.",
|
|
||||||
"passwordlessRecoveryThresholdDesc": "To recover your account you need {count} of your selected trusted friends.",
|
|
||||||
"@passwordlessRecoveryThresholdDesc": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoveryThresholdTitle": "Required trusted friends for recovery",
|
|
||||||
"passwordlessRecoverySelectFriendsNeeded": "Select friends ({count} more needed)",
|
|
||||||
"@passwordlessRecoverySelectFriendsNeeded": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoverySelectFriends": "Select trusted friends",
|
|
||||||
"passwordlessRecoveryTrustedFriends": "Account recovery",
|
|
||||||
"passwordlessRecoveryDoneBtn": "Done ({count})",
|
|
||||||
"@passwordlessRecoveryDoneBtn": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "num"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoveryNoFriendsSelected": "No trusted friends selected yet",
|
|
||||||
"passwordlessRecoverySubtitle": "Recover your identity without a password.",
|
|
||||||
"recoverPasswordlessExplanation": "If enabled, you can recover your account by asking your selected friends to help you.",
|
|
||||||
"recoverPasswordlessNotificationCardTitle": "Enable notifications",
|
|
||||||
"recoverPasswordlessNotificationCardSubtitle": "Get notified when a friend has helped you recover your account.",
|
|
||||||
"recoverPasswordlessNotificationCardBtn": "Enable push notifications",
|
|
||||||
"recoverPasswordlessQrInstructions": "Let friends scan the QR code or share the link.",
|
|
||||||
"recoverPasswordlessShareBtn": "Share Recovery Link",
|
|
||||||
"recoverPasswordlessCopyBtn": "Copy",
|
|
||||||
"recoverPasswordlessCopiedSnackbar": "Link copied to clipboard!",
|
|
||||||
"passwordlessRecoveryNoShareStored": "No recovery share stored for this contact.",
|
|
||||||
"passwordlessRecoveryEmailSent": "Recovery email sent!",
|
|
||||||
"passwordlessRecoveryShareSent": "Recovery share sent!",
|
|
||||||
"passwordlessRecoveryNetworkError": "Network error, please ensure you have internet",
|
|
||||||
"passwordlessRecoveryInvalidEmail": "The email address is invalid.",
|
|
||||||
"passwordlessRecoveryResendEmail": "Resend recovery email",
|
|
||||||
"passwordlessRecoveryHelpAFriend": "Help a Friend",
|
|
||||||
"passwordlessRecoverySelectContactDesc": "Please select the contact who requested recovery below to send them their recovery key.",
|
|
||||||
"passwordlessRecoverySearchContacts": "Search contacts...",
|
|
||||||
"passwordlessRecoveryNoContactsFound": "No contacts found",
|
|
||||||
"passwordlessRecoveryCantHelpHim": "You can't help this person",
|
|
||||||
"passwordlessRecoveryDoesAskedYou": "Has {username} asked you?",
|
|
||||||
"@passwordlessRecoveryDoesAskedYou": {
|
|
||||||
"placeholders": {
|
|
||||||
"username": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"passwordlessRecoveryVerifySourceDesc": "Please make sure this request really came from this person. If in doubt, ask them via another channel!",
|
|
||||||
"passwordlessRecoveryNo": "No",
|
|
||||||
"passwordlessRecoveryYes": "Yes",
|
|
||||||
"passwordlessRecoveryYesWithTimer": "Yes ({seconds}s)",
|
|
||||||
"@passwordlessRecoveryYesWithTimer": {
|
|
||||||
"placeholders": {
|
|
||||||
"seconds": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"recoverPasswordlessSharesReceived": "{received} out of {threshold} friends have helped",
|
|
||||||
"@recoverPasswordlessSharesReceived": {
|
|
||||||
"placeholders": {
|
|
||||||
"received": {},
|
|
||||||
"threshold": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"recoverPasswordlessRecoverNowBtn": "Recover now",
|
|
||||||
"missingRecoveryContactsCardTitle": "Account Recovery",
|
|
||||||
"missingRecoveryContactsCardDesc": "Select Recovery Contacts to help you recover your account without requiring a password.",
|
|
||||||
"missingRecoveryContactsCardAction": "Select Contacts",
|
|
||||||
"memoriesBackupLimitReached": "Cloud backup limit reached! Please upgrade your plan or free up space.",
|
|
||||||
"settingsStorageLocal": "Local storage",
|
|
||||||
"settingsStorageNoCloudBackupTitle": "No Cloud Backup",
|
|
||||||
"settingsStorageNoCloudBackupCard": "Back up your memories to the cloud to free up local space and ensure you never lose your pictures. All end-to-end encrypted.",
|
|
||||||
"galleryActionSave": "Save",
|
|
||||||
"galleryActionExport": "Export",
|
|
||||||
"galleryActionFavorite": "Favorite",
|
|
||||||
"galleryActionUnfavorite": "Unfavorite",
|
|
||||||
"galleryActionDelete": "Delete",
|
|
||||||
"galleryActionShare": "Share",
|
|
||||||
"settingsStorageHidePromo": "Hide",
|
|
||||||
"memoriesBackupTitle": "Memories Backup",
|
|
||||||
"settingsHelpNews": "News",
|
|
||||||
"settingsStorageContents": "Free up space",
|
|
||||||
"settingsStorageSortStorage": "Occupied storage",
|
|
||||||
"settingsStorageSortNewest": "Newest",
|
|
||||||
"settingsStorageSortOldest": "Oldest",
|
|
||||||
"settingsStorageNoContents": "No storage contents found.",
|
|
||||||
"settingsStorageCloudOnly": "Cloud only",
|
|
||||||
"settingsStorageLocalAndCloud": "Local and cloud",
|
|
||||||
"settingsStorageLocalOnly": "Local only",
|
|
||||||
"settingsStorageDisableBackupTitle": "Disable Backup?",
|
|
||||||
"settingsStorageDisableBackupBody": "This will delete all backed up memories from the cloud. There {count, plural, =1 {is *1 image*} other {are *{count} images*}} only stored in the cloud that will be *permanently lost*. Are you sure you want to proceed?",
|
|
||||||
"@settingsStorageDisableBackupBody": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"settingsStorageDisableBackupBtn": "Disable",
|
|
||||||
"settingsStorageDisableBackupAction": "Disable Cloud Backup",
|
|
||||||
"settingsStorageSyncNow": "Sync now",
|
|
||||||
"settingsStorageSyncUpToDate": "All memories are up to date.",
|
|
||||||
"restoreLostFlames": "Restore your {count} lost flames",
|
|
||||||
"@restoreLostFlames": {
|
|
||||||
"placeholders": {
|
|
||||||
"count": {
|
|
||||||
"type": "int"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"settingsShowRestoreFlameTitle": "Show flame restore warning",
|
|
||||||
"contactLabelsTitle": "Contact Labels",
|
|
||||||
"contactLabelsSubtitleEmpty": "No labels selected",
|
|
||||||
"contactLabelsMaxLimit": "Maximum 3 labels per contact",
|
|
||||||
"createLabel": "Create new label",
|
|
||||||
"editLabel": "Edit label",
|
|
||||||
"deleteLabel": "Delete label",
|
|
||||||
"deleteLabelConfirmation": "Are you sure you want to delete this label? It will be removed from all contacts.",
|
|
||||||
"labelNameHint": "Label name",
|
|
||||||
"labelTextColor": "Text color",
|
|
||||||
"labelBackgroundColor": "Background color",
|
|
||||||
"customColor": "Custom Color",
|
|
||||||
"hue": "Hue",
|
|
||||||
"saturation": "Saturation",
|
|
||||||
"brightness": "Brightness",
|
|
||||||
"settingsAppearancePrimaryColor": "Primary Color",
|
|
||||||
"themeSystemDefault": "System default",
|
|
||||||
"themeLight": "Light",
|
|
||||||
"themeDark": "Dark",
|
|
||||||
"backupRecoverySectionTitle": "Secure Account Access",
|
|
||||||
"backupRecoverySectionDescNone": "You must select at least one recovery option, as otherwise no one can help you if you lose access to your device.",
|
|
||||||
"backupRecoverySectionDescSome": "You can recover your account with the recovery options below. It is recommended to enable both options.",
|
|
||||||
"backupRecoveryOptionAFriends": "Via trusted friends",
|
|
||||||
"backupRecoveryOptionAMicrocopy": "Select friends who can help you recover your account.",
|
|
||||||
"backupRecoveryOptionBPassword": "Classic Password",
|
|
||||||
"backupRecoveryOptionBMicrocopy": "Set a password for your access.",
|
|
||||||
"backupCloudSectionTitle": "Backup Your Data",
|
|
||||||
"backupCloudSectionDesc": "Backup your content so nothing gets lost.",
|
|
||||||
"backupCloudContactsMessages": "Contacts & Messages",
|
|
||||||
"backupCloudFreeActive": "Free Active",
|
|
||||||
"backupCloudImagesMedia": "Images & Media",
|
|
||||||
"backupCloudProBadge": "Pro",
|
|
||||||
"memoriesAddingToFavorites": "Adding to favorites...",
|
|
||||||
"memoriesRemovingFromFavorites": "Removing from favorites...",
|
|
||||||
"memoriesDeletingProgress": "Deleting memories...",
|
|
||||||
"memoriesExportingProgress": "Exporting memories...",
|
|
||||||
"fileLimitReachedTitle": "File too large to send",
|
|
||||||
"fileLimitReachedDetail": "This file is {size}, but your plan allows at most {limit} per send.",
|
|
||||||
"@fileLimitReachedDetail": {
|
|
||||||
"placeholders": {
|
|
||||||
"size": { "type": "String" },
|
|
||||||
"limit": { "type": "String" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fileLimitReachedDetailNoSize": "Your plan allows at most {limit} per send.",
|
|
||||||
"@fileLimitReachedDetailNoSize": {
|
|
||||||
"placeholders": {
|
|
||||||
"limit": { "type": "String" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fileLimitReachedHint": "Record a shorter video and send it again.",
|
|
||||||
"fileLimitReachedHintFree": "Record a shorter video, or upgrade your plan to send larger files.",
|
|
||||||
"fileLimitReachedUpgrade": "Upgrade plan"
|
|
||||||
}
|
|
||||||
3
sv.arb
Normal file
3
sv.arb
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"@@locale": "sv"
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue