From 1e9597070a45573454e913d2dd033d3e5bdad5ab Mon Sep 17 00:00:00 2001
From: mpretty-cyro <15862619+mpretty-cyro@users.noreply.github.com>
Date: Mon, 29 Sep 2025 00:38:09 +0000
Subject: [PATCH] [Automated] Update translations from Crowdin
---
run/localizer/constants.ts | 7 +-
run/localizer/locales.ts | 677 ++++++++++++++++++++++++++++++++++++-
2 files changed, 668 insertions(+), 16 deletions(-)
diff --git a/run/localizer/constants.ts b/run/localizer/constants.ts
index 6fd2b45b0..dd2717db3 100644
--- a/run/localizer/constants.ts
+++ b/run/localizer/constants.ts
@@ -9,14 +9,19 @@ export enum LOCALE_DEFAULTS {
token_name_short = 'SESH',
usd_name_short = 'USD',
app_pro = 'Session Pro',
+ session_foundation = 'Session Foundation',
+ pro = 'Pro',
}
export const rtlLocales = ['ar', 'fa', 'he', 'ps', 'ur'];
-export const crowdinLocales = ['en'] as const;
+export const crowdinLocales = [
+ 'en',
+] as const;
export type CrowdinLocale = (typeof crowdinLocales)[number];
export function isCrowdinLocale(locale: string): locale is CrowdinLocale {
return crowdinLocales.includes(locale as CrowdinLocale);
}
+
diff --git a/run/localizer/locales.ts b/run/localizer/locales.ts
index 94b497a5b..faf657d74 100644
--- a/run/localizer/locales.ts
+++ b/run/localizer/locales.ts
@@ -41,7 +41,7 @@ type WithStoreVariant = {storevariant: string};
type WithMin = {min: string};
type WithMax = {max: string};
-export type TokenSimpleNoArgs =
+export type TokenSimpleNoArgs =
'about' |
'accept' |
'accountIDCopy' |
@@ -81,12 +81,15 @@ export type TokenSimpleNoArgs =
'appIconEnableIconAndName' |
'appIconSelect' |
'appIconSelectionTitle' |
+ 'appName' |
'appNameCalculator' |
'appNameMeetingSE' |
'appNameNews' |
'appNameNotes' |
'appNameStocks' |
'appNameWeather' |
+ 'appPro' |
+ 'appProBadge' |
'appearanceAutoDarkMode' |
'appearanceHideMenuBar' |
'appearanceLanguage' |
@@ -198,9 +201,13 @@ export type TokenSimpleNoArgs =
'cameraGrantAccessDescription' |
'cameraGrantAccessQr' |
'cancel' |
+ 'cancelPlan' |
'change' |
'changePasswordFail' |
'changePasswordModalDescription' |
+ 'checkingProStatus' |
+ 'checkingProStatusDescription' |
+ 'checkingProStatusUpgradeDescription' |
'clear' |
'clearAll' |
'clearDataAll' |
@@ -286,6 +293,8 @@ export type TokenSimpleNoArgs =
'copy' |
'create' |
'creatingCall' |
+ 'currentPassword' |
+ 'currentPlan' |
'cut' |
'darkMode' |
'databaseErrorClearDataWarning' |
@@ -374,10 +383,14 @@ export type TokenSimpleNoArgs =
'enjoyingSession' |
'enjoyingSessionDescription' |
'enter' |
+ 'enterPasswordDescription' |
+ 'enterPasswordTooltip' |
+ 'errorCheckingProStatus' |
'errorConnection' |
'errorCopyAndQuit' |
'errorDatabase' |
'errorGeneric' |
+ 'errorLoadingProPlan' |
'errorUnknown' |
'failedToDownload' |
'failures' |
@@ -449,12 +462,16 @@ export type TokenSimpleNoArgs =
'hideOthers' |
'image' |
'images' |
+ 'important' |
'incognitoKeyboard' |
'incognitoKeyboardDescription' |
'info' |
'invalidShortcut' |
'join' |
'later' |
+ 'launchOnStartDescriptionDesktop' |
+ 'launchOnStartDesktop' |
+ 'launchOnStartupDisabledDesktop' |
'learnMore' |
'leave' |
'leaving' |
@@ -472,6 +489,7 @@ export type TokenSimpleNoArgs =
'linkPreviewsSendModalDescription' |
'linkPreviewsTurnedOff' |
'linkPreviewsTurnedOffDescription' |
+ 'links' |
'loadAccount' |
'loadAccountProgressMessage' |
'loading' |
@@ -484,7 +502,9 @@ export type TokenSimpleNoArgs =
'lockAppStatus' |
'lockAppUnlock' |
'lockAppUnlocked' |
+ 'logs' |
'manageMembers' |
+ 'managePro' |
'max' |
'media' |
'membersAddAccountIdOrOns' |
@@ -534,7 +554,10 @@ export type TokenSimpleNoArgs =
'modalMessageCharacterDisplayTitle' |
'modalMessageCharacterTooLongTitle' |
'modalMessageTooLongTitle' |
+ 'networkName' |
+ 'newPassword' |
'next' |
+ 'nextSteps' |
'nicknameEnter' |
'nicknameErrorShorter' |
'nicknameRemove' |
@@ -607,6 +630,7 @@ export type TokenSimpleNoArgs =
'open' |
'openSurvey' |
'other' |
+ 'oxenFoundation' |
'password' |
'passwordChange' |
'passwordChangeShortDescription' |
@@ -630,8 +654,8 @@ export type TokenSimpleNoArgs =
'passwordSetShortDescription' |
'passwordStrengthCharLength' |
'passwordStrengthIncludeNumber' |
- 'passwordStrengthIncludesLetter' |
'passwordStrengthIncludesLowercase' |
+ 'passwordStrengthIncludesSymbol' |
'passwordStrengthIncludesUppercase' |
'passwordStrengthIndicator' |
'passwordStrengthIndicatorDescription' |
@@ -675,20 +699,39 @@ export type TokenSimpleNoArgs =
'pinConversation' |
'pinUnpin' |
'pinUnpinConversation' |
+ 'plusLoadsMore' |
'preferences' |
'preview' |
'previewNotification' |
+ 'pro' |
'proActivated' |
+ 'proAllSet' |
'proAlreadyPurchased' |
'proAnimatedDisplayPicture' |
'proAnimatedDisplayPictureCallToActionDescription' |
'proAnimatedDisplayPictureFeature' |
'proAnimatedDisplayPictureModalDescription' |
+ 'proAnimatedDisplayPictures' |
+ 'proAnimatedDisplayPicturesDescription' |
'proAnimatedDisplayPicturesNonProModalDescription' |
'proBadge' |
+ 'proBadgeVisible' |
+ 'proBadges' |
+ 'proBadgesDescription' |
+ 'proBetaFeatures' |
'proCallToActionLongerMessages' |
'proCallToActionPinnedConversations' |
'proCallToActionPinnedConversationsMoreThan' |
+ 'proCancellation' |
+ 'proCancellationOptions' |
+ 'proClearAllDataDevice' |
+ 'proClearAllDataNetwork' |
+ 'proErrorRefreshingStatus' |
+ 'proExpired' |
+ 'proExpiredDescription' |
+ 'proExpiringSoon' |
+ 'proFaq' |
+ 'proFaqDescription' |
'proFeatureListAnimatedDisplayPicture' |
'proFeatureListLargerGroups' |
'proFeatureListLoadsMore' |
@@ -696,10 +739,50 @@ export type TokenSimpleNoArgs =
'proFeatureListPinnedConversations' |
'proGroupActivated' |
'proGroupActivatedDescription' |
+ 'proImportantDescription' |
'proIncreasedAttachmentSizeFeature' |
'proIncreasedMessageLengthFeature' |
+ 'proLargerGroups' |
+ 'proLargerGroupsDescription' |
+ 'proLargerGroupsTooltip' |
+ 'proLongerMessages' |
+ 'proLongerMessagesDescription' |
'proMessageInfoFeatures' |
+ 'proOptionsRenewalSubtitle' |
+ 'proPlanError' |
+ 'proPlanLoading' |
+ 'proPlanLoadingDescription' |
+ 'proPlanLoadingEllipsis' |
+ 'proPlanNetworkLoadError' |
+ 'proPlanNotFound' |
+ 'proPlanNotFoundDescription' |
+ 'proPlanRecover' |
+ 'proPlanRenew' |
+ 'proPlanRenewStart' |
+ 'proPlanRenewSupport' |
+ 'proPlanRestored' |
+ 'proPlanRestoredDescription' |
+ 'proRefundDescription' |
+ 'proRefundRequestSessionSupport' |
+ 'proRefunding' |
+ 'proRenewBeta' |
+ 'proRequestedRefund' |
'proSendMore' |
+ 'proSettings' |
+ 'proStats' |
+ 'proStatsLoading' |
+ 'proStatsLoadingDescription' |
+ 'proStatsTooltip' |
+ 'proStatusError' |
+ 'proStatusInfoInaccurateNetworkError' |
+ 'proStatusLoading' |
+ 'proStatusLoadingDescription' |
+ 'proStatusLoadingSubtitle' |
+ 'proStatusNetworkErrorDescription' |
+ 'proStatusRefreshNetworkError' |
+ 'proSupportDescription' |
+ 'proUnlimitedPins' |
+ 'proUnlimitedPinsDescription' |
'proUserProfileModalCallToAction' |
'profile' |
'profileDisplayPicture' |
@@ -750,7 +833,10 @@ export type TokenSimpleNoArgs =
'remove' |
'removePasswordFail' |
'removePasswordModalDescription' |
+ 'renew' |
+ 'renewingPro' |
'reply' |
+ 'requestRefund' |
'resend' |
'resolving' |
'restart' |
@@ -766,6 +852,8 @@ export type TokenSimpleNoArgs =
'screenSecurity' |
'screenshotNotifications' |
'screenshotNotificationsDescription' |
+ 'screenshotProtectionDescriptionDesktop' |
+ 'screenshotProtectionDesktop' |
'search' |
'searchContacts' |
'searchConversation' |
@@ -784,6 +872,8 @@ export type TokenSimpleNoArgs =
'sessionAppearance' |
'sessionClearData' |
'sessionConversations' |
+ 'sessionDownloadUrl' |
+ 'sessionFoundation' |
'sessionHelp' |
'sessionInviteAFriend' |
'sessionMessageRequests' |
@@ -799,12 +889,16 @@ export type TokenSimpleNoArgs =
'sessionNotifications' |
'sessionPermissions' |
'sessionPrivacy' |
+ 'sessionProBeta' |
'sessionRecoveryPassword' |
'sessionSettings' |
'set' |
'setCommunityDisplayPicture' |
'setPasswordModalDescription' |
+ 'settingsCannotChangeDesktop' |
'settingsRestartDescription' |
+ 'settingsScreenSecurityDesktop' |
+ 'settingsStartCategoryDesktop' |
'share' |
'shareAccountIdDescription' |
'shareAccountIdDescriptionCopied' |
@@ -817,6 +911,7 @@ export type TokenSimpleNoArgs =
'showNoteToSelf' |
'showNoteToSelfDescription' |
'spellChecker' |
+ 'stakingRewardPool' |
'stickers' |
'strength' |
'supportDescription' |
@@ -825,7 +920,10 @@ export type TokenSimpleNoArgs =
'theContinue' |
'theDefault' |
'theError' |
+ 'theReturn' |
'themePreview' |
+ 'tokenNameLong' |
+ 'tokenNameShort' |
'tooltipBlindedIdCommunities' |
'translate' |
'tray' |
@@ -835,6 +933,7 @@ export type TokenSimpleNoArgs =
'unavailable' |
'undo' |
'unknown' |
+ 'unsupportedCpu' |
'updateApp' |
'updateCommunityInformation' |
'updateCommunityInformationDescription' |
@@ -847,17 +946,22 @@ export type TokenSimpleNoArgs =
'updateGroupInformationDescription' |
'updateGroupInformationEnterShorterDescription' |
'updateNewVersion' |
+ 'updatePlan' |
+ 'updatePlanTwo' |
'updateProfileInformation' |
'updateProfileInformationDescription' |
'updateReleaseNotes' |
'updateSession' |
'updates' |
'updating' |
+ 'upgradeSession' |
'upgradeTo' |
'uploading' |
'urlCopy' |
'urlOpen' |
'urlOpenBrowser' |
+ 'urlOpenDescriptionAlternative' |
+ 'usdNameShort' |
'useFastMode' |
'video' |
'videoErrorPlay' |
@@ -870,6 +974,7 @@ export type TokenSimpleNoArgs =
'window' |
'yes' |
'you' |
+ 'yourCpuIsUnsupportedSSE42' |
'yourRecoveryPassword' |
'zoomFactor' |
'zoomFactorDescription';
@@ -1018,13 +1123,51 @@ export type TokensSimpleAndArgs = {
notificationsMutedFor: WithTimeLarge,
notificationsMutedForTime: WithDateTime,
notificationsSystem: WithMessageCount & WithConversationCount,
+ onDevice: { device_type: string },
+ onDeviceDescription: { device_type: string, platform_account: string },
onboardingBubbleCreatingAnAccountIsEasy: WithEmoji,
onboardingBubbleWelcomeToSession: WithEmoji,
+ openStoreWebsite: { platform_store: string },
passwordErrorLength: WithMin & WithMax,
+ plusLoadsMoreDescription: WithIcon,
+ proAllSetDescription: WithDate,
+ proAutoRenewTime: WithTime,
+ proBilledAnnually: { price: string },
+ proBilledMonthly: { price: string },
+ proBilledQuarterly: { price: string },
+ proCancellationDescription: { platform_account: string },
+ proDiscountTooltip: { percent: string },
+ proExpiringSoonDescription: WithTime,
+ proExpiringTime: WithTime,
+ proPercentOff: { percent: string },
+ proPlanActivatedAuto: WithDate & { current_plan: string },
+ proPlanActivatedAutoShort: WithDate & { current_plan: string },
+ proPlanActivatedNotAuto: WithDate,
+ proPlanExpireDate: WithDate,
+ proPlanPlatformRefund: { platform_store: string, platform_account: string },
+ proPlanPlatformRefundLong: { platform_store: string },
+ proPlanRenewDesktop: WithIcon & { platform_store: string },
+ proPlanRenewDesktopLinked: { platform_store: string },
+ proPlanRenewDesktopStore: { platform_store: string, platform_account: string },
+ proPlanSignUp: { platform_store: string, platform_account: string },
+ proPriceOneMonth: { monthly_price: string },
+ proPriceThreeMonths: { monthly_price: string },
+ proPriceTwelveMonths: { monthly_price: string },
+ proRefundNextSteps: { platform_account: string },
+ proRefundRequestStorePolicies: { platform_account: string },
+ proRefundSupport: { platform_account: string, platform_store: string },
+ proRefundingDescription: { platform_account: string, platform_store: string },
+ proRenewingNoAccessBilling: WithIcon & { platform_store: string, buildVariant: string },
+ proTosPrivacy: WithIcon,
+ proUpdatePlanDescription: WithDate & { current_plan: string, selected_plan: string },
+ proUpdatePlanExpireDescription: WithDate & { selected_plan: string },
+ processingRefundRequest: { platform_account: string },
rateSessionModalDescription: WithStoreVariant,
+ refundPlanNonOriginatorApple: { platform_account: string },
remainingCharactersOverTooltip: WithCount,
screenshotTaken: WithName,
searchMatchesNoneSpecific: WithQuery,
+ sessionNetworkDataPrice: WithDateTime,
sessionNetworkDescription: WithIcon,
systemInformationDesktop: WithInformation,
tooltipAccountIdVisible: WithName,
@@ -1033,7 +1176,8 @@ export type TokensSimpleAndArgs = {
updateVersion: WithVersion,
updated: WithRelativeTime,
urlOpenDescription: WithUrl,
- sessionNetworkDataPrice: WithDateTime
+ viaStoreWebsite: { platform_store: string },
+ viaStoreWebsiteDescription: { platform_account: string, platform_store: string }
};
export type TokensPluralAndArgs = {
@@ -1059,13 +1203,17 @@ export type TokensPluralAndArgs = {
messageNewYouveGot: WithCount,
messageNewYouveGotGroup: WithGroupName & WithCount,
modalMessageCharacterDisplayDescription: WithLimit & WithCount,
+ proBadgesSent: WithCount & { total: string },
+ proGroupsUpgraded: WithCount & { total: string },
+ proLongerMessagesSent: WithCount & { total: string },
+ proPinnedConversations: WithCount & { total: string },
promotionFailed: WithCount,
promotionFailedDescription: WithCount,
remainingCharactersTooltip: WithCount,
searchMatches: WithFoundCount & WithCount
};
-export type TokenSimpleWithArgs =
+export type TokenSimpleWithArgs =
'accountIdShare' |
'adminMorePromotedToAdmin' |
'adminPromoteDescription' |
@@ -1209,13 +1357,51 @@ export type TokenSimpleWithArgs =
'notificationsMutedFor' |
'notificationsMutedForTime' |
'notificationsSystem' |
+ 'onDevice' |
+ 'onDeviceDescription' |
'onboardingBubbleCreatingAnAccountIsEasy' |
'onboardingBubbleWelcomeToSession' |
+ 'openStoreWebsite' |
'passwordErrorLength' |
+ 'plusLoadsMoreDescription' |
+ 'proAllSetDescription' |
+ 'proAutoRenewTime' |
+ 'proBilledAnnually' |
+ 'proBilledMonthly' |
+ 'proBilledQuarterly' |
+ 'proCancellationDescription' |
+ 'proDiscountTooltip' |
+ 'proExpiringSoonDescription' |
+ 'proExpiringTime' |
+ 'proPercentOff' |
+ 'proPlanActivatedAuto' |
+ 'proPlanActivatedAutoShort' |
+ 'proPlanActivatedNotAuto' |
+ 'proPlanExpireDate' |
+ 'proPlanPlatformRefund' |
+ 'proPlanPlatformRefundLong' |
+ 'proPlanRenewDesktop' |
+ 'proPlanRenewDesktopLinked' |
+ 'proPlanRenewDesktopStore' |
+ 'proPlanSignUp' |
+ 'proPriceOneMonth' |
+ 'proPriceThreeMonths' |
+ 'proPriceTwelveMonths' |
+ 'proRefundNextSteps' |
+ 'proRefundRequestStorePolicies' |
+ 'proRefundSupport' |
+ 'proRefundingDescription' |
+ 'proRenewingNoAccessBilling' |
+ 'proTosPrivacy' |
+ 'proUpdatePlanDescription' |
+ 'proUpdatePlanExpireDescription' |
+ 'processingRefundRequest' |
'rateSessionModalDescription' |
+ 'refundPlanNonOriginatorApple' |
'remainingCharactersOverTooltip' |
'screenshotTaken' |
'searchMatchesNoneSpecific' |
+ 'sessionNetworkDataPrice' |
'sessionNetworkDescription' |
'systemInformationDesktop' |
'tooltipAccountIdVisible' |
@@ -1224,9 +1410,10 @@ export type TokenSimpleWithArgs =
'updateVersion' |
'updated' |
'urlOpenDescription' |
- 'sessionNetworkDataPrice'
+ 'viaStoreWebsite' |
+ 'viaStoreWebsiteDescription'
-export type TokenPluralWithArgs =
+export type TokenPluralWithArgs =
'adminSendingPromotion' |
'clearDataErrorDescription' |
'deleteMessage' |
@@ -1249,6 +1436,10 @@ export type TokenPluralWithArgs =
'messageNewYouveGot' |
'messageNewYouveGotGroup' |
'modalMessageCharacterDisplayDescription' |
+ 'proBadgesSent' |
+ 'proGroupsUpgraded' |
+ 'proLongerMessagesSent' |
+ 'proPinnedConversations' |
'promotionFailed' |
'promotionFailedDescription' |
'remainingCharactersTooltip' |
@@ -1375,6 +1566,9 @@ export const simpleDictionaryNoArgs: Record<
appIconSelectionTitle: {
en: "Icon",
},
+ appName: {
+ en: "Session",
+ },
appNameCalculator: {
en: "Calculator",
},
@@ -1393,6 +1587,12 @@ export const simpleDictionaryNoArgs: Record<
appNameWeather: {
en: "Weather",
},
+ appPro: {
+ en: "Session Pro",
+ },
+ appProBadge: {
+ en: "Session Pro Badge",
+ },
appearanceAutoDarkMode: {
en: "Auto Dark Mode",
},
@@ -1700,7 +1900,7 @@ export const simpleDictionaryNoArgs: Record<
en: "Voice and Video Calls (Beta)",
},
callsVoiceAndVideoModalDescription: {
- en: "Your IP is visible to your call partner and a Session Technology Foundation server while using beta calls.",
+ en: "Your IP is visible to your call partner and a Session Foundation server while using beta calls.",
},
callsVoiceAndVideoToggleDescription: {
en: "Enables voice and video calls to and from other users.",
@@ -1726,6 +1926,9 @@ export const simpleDictionaryNoArgs: Record<
cancel: {
en: "Cancel",
},
+ cancelPlan: {
+ en: "Cancel Plan",
+ },
change: {
en: "Change",
},
@@ -1735,6 +1938,15 @@ export const simpleDictionaryNoArgs: Record<
changePasswordModalDescription: {
en: "Change your password for Session. Locally stored data will be re-encrypted with your new password.",
},
+ checkingProStatus: {
+ en: "Checking Pro Status",
+ },
+ checkingProStatusDescription: {
+ en: "Checking your Pro details. Some information on this page may be inaccurate until this check is complete.",
+ },
+ checkingProStatusUpgradeDescription: {
+ en: "Checking your Pro status. You'll be able to upgrade to Pro once this check is complete.",
+ },
clear: {
en: "Clear",
},
@@ -1931,7 +2143,7 @@ export const simpleDictionaryNoArgs: Record<
en: "Enter Key",
},
conversationsEnterDescription: {
- en: "Function of the enter key when typing in a conversation.",
+ en: "Define how the Enter and Shift+Enter keys function in conversations.",
},
conversationsEnterNewLine: {
en: "SHIFT + ENTER sends a message, ENTER starts a new line.",
@@ -1990,6 +2202,12 @@ export const simpleDictionaryNoArgs: Record<
creatingCall: {
en: "Creating Call",
},
+ currentPassword: {
+ en: "Current Password",
+ },
+ currentPlan: {
+ en: "Current Plan",
+ },
cut: {
en: "Cut",
},
@@ -2254,6 +2472,15 @@ export const simpleDictionaryNoArgs: Record<
enter: {
en: "Enter",
},
+ enterPasswordDescription: {
+ en: "Enter the password you set for Session",
+ },
+ enterPasswordTooltip: {
+ en: "Enter the password you use to unlock Session
\non startup, not your Recovery Password",
+ },
+ errorCheckingProStatus: {
+ en: "Error checking Pro status.",
+ },
errorConnection: {
en: "Please check your internet connection and try again.",
},
@@ -2266,6 +2493,9 @@ export const simpleDictionaryNoArgs: Record<
errorGeneric: {
en: "Something went wrong. Please try again later.",
},
+ errorLoadingProPlan: {
+ en: "Error loading Pro plan.",
+ },
errorUnknown: {
en: "An unknown error occurred.",
},
@@ -2479,6 +2709,9 @@ export const simpleDictionaryNoArgs: Record<
images: {
en: "images",
},
+ important: {
+ en: "Important",
+ },
incognitoKeyboard: {
en: "Incognito Keyboard",
},
@@ -2497,6 +2730,15 @@ export const simpleDictionaryNoArgs: Record<
later: {
en: "Later",
},
+ launchOnStartDescriptionDesktop: {
+ en: "Launch Session automatically when your computer starts up.",
+ },
+ launchOnStartDesktop: {
+ en: "Launch on Startup",
+ },
+ launchOnStartupDisabledDesktop: {
+ en: "This setting is managed by your system on Linux. To enable automatic startup, add Session to your startup applications in system settings.",
+ },
learnMore: {
en: "Learn More",
},
@@ -2548,6 +2790,9 @@ export const simpleDictionaryNoArgs: Record<
linkPreviewsTurnedOffDescription: {
en: "Session must contact linked websites to generate previews of links you send and receive.
You can turn them on in Session's settings.",
},
+ links: {
+ en: "Links",
+ },
loadAccount: {
en: "Load Account",
},
@@ -2584,9 +2829,15 @@ export const simpleDictionaryNoArgs: Record<
lockAppUnlocked: {
en: "Session is unlocked",
},
+ logs: {
+ en: "Logs",
+ },
manageMembers: {
en: "Manage Members",
},
+ managePro: {
+ en: "Manage Pro",
+ },
max: {
en: "Max",
},
@@ -2734,9 +2985,18 @@ export const simpleDictionaryNoArgs: Record<
modalMessageTooLongTitle: {
en: "Message Too Long",
},
+ networkName: {
+ en: "Session Network",
+ },
+ newPassword: {
+ en: "New Password",
+ },
next: {
en: "Next",
},
+ nextSteps: {
+ en: "Next Steps",
+ },
nicknameEnter: {
en: "Enter nickname",
},
@@ -2953,6 +3213,9 @@ export const simpleDictionaryNoArgs: Record<
other: {
en: "Other",
},
+ oxenFoundation: {
+ en: "Oxen Foundation",
+ },
password: {
en: "Password",
},
@@ -3022,12 +3285,12 @@ export const simpleDictionaryNoArgs: Record<
passwordStrengthIncludeNumber: {
en: "Includes a number",
},
- passwordStrengthIncludesLetter: {
- en: "Includes a letter",
- },
passwordStrengthIncludesLowercase: {
en: "Includes a lowercase letter",
},
+ passwordStrengthIncludesSymbol: {
+ en: "Includes a symbol",
+ },
passwordStrengthIncludesUppercase: {
en: "Includes a uppercase letter",
},
@@ -3157,6 +3420,9 @@ export const simpleDictionaryNoArgs: Record<
pinUnpinConversation: {
en: "Unpin Conversation",
},
+ plusLoadsMore: {
+ en: "Plus Loads More...",
+ },
preferences: {
en: "Preferences",
},
@@ -3166,9 +3432,15 @@ export const simpleDictionaryNoArgs: Record<
previewNotification: {
en: "Preview Notification",
},
+ pro: {
+ en: "Pro",
+ },
proActivated: {
en: "Activated",
},
+ proAllSet: {
+ en: "You're all set!",
+ },
proAlreadyPurchased: {
en: "You’ve already got",
},
@@ -3184,11 +3456,29 @@ export const simpleDictionaryNoArgs: Record<
proAnimatedDisplayPictureModalDescription: {
en: "users can upload GIFs",
},
+ proAnimatedDisplayPictures: {
+ en: "Animated Display Pictures",
+ },
+ proAnimatedDisplayPicturesDescription: {
+ en: "Set animated GIFs and WebP images as your display picture.",
+ },
proAnimatedDisplayPicturesNonProModalDescription: {
en: "Upload GIFs with",
},
proBadge: {
- en: "Session Pro Badge",
+ en: "Pro Badge",
+ },
+ proBadgeVisible: {
+ en: "Show Session Pro badge to other users",
+ },
+ proBadges: {
+ en: "Badges",
+ },
+ proBadgesDescription: {
+ en: "Show your support for Session with an exclusive badge next to your display name.",
+ },
+ proBetaFeatures: {
+ en: "Pro Beta Features",
},
proCallToActionLongerMessages: {
en: "Want to send longer messages? Send more text and unlock premium features with Session Pro",
@@ -3199,6 +3489,36 @@ export const simpleDictionaryNoArgs: Record<
proCallToActionPinnedConversationsMoreThan: {
en: "Want more than 5 pins? Organize your chats and unlock premium features with Session Pro",
},
+ proCancellation: {
+ en: "Cancellation",
+ },
+ proCancellationOptions: {
+ en: "Two ways to cancel your plan:",
+ },
+ proClearAllDataDevice: {
+ en: "Are you sure you want to delete your data from this device?
Session Pro cannot be transferred to another account. Please save your Recovery Password to ensure you can restore your Pro plan later.",
+ },
+ proClearAllDataNetwork: {
+ en: "Are you sure you want to delete your data from the network? If you continue, you will not be able to restore your messages or contacts.
Session Pro cannot be transferred to another account. Please save your Recovery Password to ensure you can restore your Pro plan later.",
+ },
+ proErrorRefreshingStatus: {
+ en: "Error refreshing Pro status",
+ },
+ proExpired: {
+ en: "Expired",
+ },
+ proExpiredDescription: {
+ en: "Unfortunately, your Pro plan has expired. Renew to keep accessing the exclusive perks and features of Session Pro.",
+ },
+ proExpiringSoon: {
+ en: "Expiring Soon",
+ },
+ proFaq: {
+ en: "Pro FAQ",
+ },
+ proFaqDescription: {
+ en: "Find answers to common questions in the Session Pro FAQ.",
+ },
proFeatureListAnimatedDisplayPicture: {
en: "Upload GIF and WebP display pictures",
},
@@ -3220,18 +3540,138 @@ export const simpleDictionaryNoArgs: Record<
proGroupActivatedDescription: {
en: "This group has expanded capacity! It can support up to 300 members because a group admin has",
},
+ proImportantDescription: {
+ en: "Requesting a refund is final. If approved, your Pro plan will be canceled immediately and you will lose access to all Pro features.",
+ },
proIncreasedAttachmentSizeFeature: {
en: "Increased Attachment Size",
},
proIncreasedMessageLengthFeature: {
en: "Increased Message Length",
},
+ proLargerGroups: {
+ en: "Larger Groups",
+ },
+ proLargerGroupsDescription: {
+ en: "Groups you are an admin in are automatically upgraded to support 300 members.",
+ },
+ proLargerGroupsTooltip: {
+ en: "Larger group chats (up to 300 members) are coming soon for all Pro Beta users!",
+ },
+ proLongerMessages: {
+ en: "Longer Messages",
+ },
+ proLongerMessagesDescription: {
+ en: "You can send messages up to 10,000 characters in all conversations.",
+ },
proMessageInfoFeatures: {
en: "This message used the following Session Pro features:",
},
+ proOptionsRenewalSubtitle: {
+ en: "Currently, there are three ways to renew:",
+ },
+ proPlanError: {
+ en: "Pro Plan Error",
+ },
+ proPlanLoading: {
+ en: "Pro Plan Loading",
+ },
+ proPlanLoadingDescription: {
+ en: "Information about your Pro plan is still being loaded. You cannot update your plan until this process is complete.",
+ },
+ proPlanLoadingEllipsis: {
+ en: "Pro plan loading...",
+ },
+ proPlanNetworkLoadError: {
+ en: "Unable to connect to the network to load your current plan. Updating your plan via Session will be disabled until connectivity is restored.
Please check your network connection and retry.",
+ },
+ proPlanNotFound: {
+ en: "Pro Plan Not Found",
+ },
+ proPlanNotFoundDescription: {
+ en: "No active plan was found for your account. If you believe this is a mistake, please reach out to Session support for assistance.",
+ },
+ proPlanRecover: {
+ en: "Recover Pro Plan",
+ },
+ proPlanRenew: {
+ en: "Renew Pro Plan",
+ },
+ proPlanRenewStart: {
+ en: "Renew your Session Pro plan to start using powerful Session Pro Beta features again.",
+ },
+ proPlanRenewSupport: {
+ en: "Your Session Pro plan has been renewed! Thank you for supporting the Session Network.",
+ },
+ proPlanRestored: {
+ en: "Pro Plan Restored",
+ },
+ proPlanRestoredDescription: {
+ en: "A valid plan for Session Pro was detected and your Pro status has been restored!",
+ },
+ proRefundDescription: {
+ en: "We’re sorry to see you go. Here's what you need to know before requesting a refund.",
+ },
+ proRefundRequestSessionSupport: {
+ en: "Your refund request will be handled by Session Support.
Request a refund by hitting the button below and completing the refund request form.
While Session Support strives to process refund requests within 24-72 hours, processing may take longer during times of high request volume.",
+ },
+ proRefunding: {
+ en: "Refunding Pro",
+ },
+ proRenewBeta: {
+ en: "Renew Pro Beta",
+ },
+ proRequestedRefund: {
+ en: "Refund Requested",
+ },
proSendMore: {
en: "Send more with",
},
+ proSettings: {
+ en: "Pro Settings",
+ },
+ proStats: {
+ en: "Your Pro Stats",
+ },
+ proStatsLoading: {
+ en: "Pro Stats Loading",
+ },
+ proStatsLoadingDescription: {
+ en: "Your Pro stats are loading, please wait.",
+ },
+ proStatsTooltip: {
+ en: "Pro stats reflect usage on this device and may appear differently on linked devices",
+ },
+ proStatusError: {
+ en: "Pro Status Error",
+ },
+ proStatusInfoInaccurateNetworkError: {
+ en: "Unable to connect to the network to check your Pro status. Information displayed on this page may be inaccurate until connectivity is restored.
Please check your network connection and retry.",
+ },
+ proStatusLoading: {
+ en: "Pro Status Loading",
+ },
+ proStatusLoadingDescription: {
+ en: "Your Pro information is being loaded. Some actions on this page may be unavailable until loading is complete.",
+ },
+ proStatusLoadingSubtitle: {
+ en: "Pro status loading",
+ },
+ proStatusNetworkErrorDescription: {
+ en: "Unable to connect to the network to check your Pro status. You cannot upgrade to Pro until connectivity is restored.
Please check your network connection and retry.",
+ },
+ proStatusRefreshNetworkError: {
+ en: "Unable to connect to the network to refresh your Pro status. Some actions on this page will be disabled until connectivity is restored.
Please check your network connection and retry.",
+ },
+ proSupportDescription: {
+ en: "Need help with your Pro plan? Submit a request to the support team.",
+ },
+ proUnlimitedPins: {
+ en: "Unlimited Pins",
+ },
+ proUnlimitedPinsDescription: {
+ en: "Organize all your chats with unlimited pinned conversations.",
+ },
proUserProfileModalCallToAction: {
en: "Want to get more out of Session? Upgrade to Session Pro for a more powerful messaging experience.",
},
@@ -3359,7 +3799,7 @@ export const simpleDictionaryNoArgs: Record<
en: "Enter your recovery password to load your account. If you haven't saved it, you can find it in your app settings.",
},
recoveryPasswordView: {
- en: "View Password",
+ en: "View Recovery Password",
},
recoveryPasswordVisibility: {
en: "Recovery Password Visibility",
@@ -3382,9 +3822,18 @@ export const simpleDictionaryNoArgs: Record<
removePasswordModalDescription: {
en: "Remove your current password for Session. Locally stored data will be re-encrypted with a randomly generated key, stored on your device.",
},
+ renew: {
+ en: "Renew",
+ },
+ renewingPro: {
+ en: "Renewing Pro",
+ },
reply: {
en: "Reply",
},
+ requestRefund: {
+ en: "Request Refund",
+ },
resend: {
en: "Resend",
},
@@ -3430,6 +3879,12 @@ export const simpleDictionaryNoArgs: Record<
screenshotNotificationsDescription: {
en: "Require a notification when a contact takes a screenshot of a one-to-one chat.",
},
+ screenshotProtectionDescriptionDesktop: {
+ en: "Conceal the Session window in screenshots taken on this device.",
+ },
+ screenshotProtectionDesktop: {
+ en: "Screenshot Protection",
+ },
search: {
en: "Search",
},
@@ -3484,6 +3939,12 @@ export const simpleDictionaryNoArgs: Record<
sessionConversations: {
en: "Conversations",
},
+ sessionDownloadUrl: {
+ en: "https://getsession.org/download",
+ },
+ sessionFoundation: {
+ en: "Session Foundation",
+ },
sessionHelp: {
en: "Help",
},
@@ -3529,6 +3990,9 @@ export const simpleDictionaryNoArgs: Record<
sessionPrivacy: {
en: "Privacy",
},
+ sessionProBeta: {
+ en: "Session Pro Beta",
+ },
sessionRecoveryPassword: {
en: "Recovery Password",
},
@@ -3544,9 +4008,18 @@ export const simpleDictionaryNoArgs: Record<
setPasswordModalDescription: {
en: "Set a password for Session. Locally stored data will be encrypted with this password. You will be asked to enter this password each time Session starts.",
},
+ settingsCannotChangeDesktop: {
+ en: "Cannot Update Setting",
+ },
settingsRestartDescription: {
en: "You must restart Session to apply your new settings.",
},
+ settingsScreenSecurityDesktop: {
+ en: "Screen Security",
+ },
+ settingsStartCategoryDesktop: {
+ en: "Startup",
+ },
share: {
en: "Share",
},
@@ -3583,6 +4056,9 @@ export const simpleDictionaryNoArgs: Record<
spellChecker: {
en: "Spell Checker",
},
+ stakingRewardPool: {
+ en: "Staking Reward Pool",
+ },
stickers: {
en: "Stickers",
},
@@ -3607,9 +4083,18 @@ export const simpleDictionaryNoArgs: Record<
theError: {
en: "Error",
},
+ theReturn: {
+ en: "Return",
+ },
themePreview: {
en: "Theme Preview",
},
+ tokenNameLong: {
+ en: "Session Token",
+ },
+ tokenNameShort: {
+ en: "SESH",
+ },
tooltipBlindedIdCommunities: {
en: "Blinded IDs are used in communities to reduce spam and increase privacy",
},
@@ -3637,6 +4122,9 @@ export const simpleDictionaryNoArgs: Record<
unknown: {
en: "Unknown",
},
+ unsupportedCpu: {
+ en: "Unsupported CPU",
+ },
updateApp: {
en: "App updates",
},
@@ -3673,6 +4161,12 @@ export const simpleDictionaryNoArgs: Record<
updateNewVersion: {
en: "A new version of Session is available, tap to update",
},
+ updatePlan: {
+ en: "Update Plan",
+ },
+ updatePlanTwo: {
+ en: "Two ways to update your plan:",
+ },
updateProfileInformation: {
en: "Update Profile Information",
},
@@ -3691,6 +4185,9 @@ export const simpleDictionaryNoArgs: Record<
updating: {
en: "Updating...",
},
+ upgradeSession: {
+ en: "Upgrade Session",
+ },
upgradeTo: {
en: "Upgrade to",
},
@@ -3706,6 +4203,12 @@ export const simpleDictionaryNoArgs: Record<
urlOpenBrowser: {
en: "This will open in your browser.",
},
+ urlOpenDescriptionAlternative: {
+ en: "Links will open in your browser.",
+ },
+ usdNameShort: {
+ en: "USD",
+ },
useFastMode: {
en: "Use Fast Mode",
},
@@ -3742,6 +4245,9 @@ export const simpleDictionaryNoArgs: Record<
you: {
en: "You",
},
+ yourCpuIsUnsupportedSSE42: {
+ en: "Your CPU does not support SSE 4.2 instructions, which are required by Session on Linux x64 operating systems to process images. Please upgrade to a compatible CPU or use a different operating system.",
+ },
yourRecoveryPassword: {
en: "Your Recovery Password",
},
@@ -4186,18 +4692,129 @@ export const simpleDictionaryWithArgs: Record<
},
notificationsSystem: {
en: "{message_count} new messages in {conversation_count} conversations",
+ },
+ onDevice: {
+ en: "On your {device_type} device",
+ },
+ onDeviceDescription: {
+ en: "Open this Session account on an {device_type} device logged into the {platform_account} you originally signed up with. Then, change your plan via the Session Pro settings.",
},
onboardingBubbleCreatingAnAccountIsEasy: {
en: "Creating an account is instant, free, and anonymous {emoji}",
},
onboardingBubbleWelcomeToSession: {
en: "Welcome to Session {emoji}",
+ },
+ openStoreWebsite: {
+ en: "Open {platform_store} Website",
},
passwordErrorLength: {
en: "Password must be between {min} and {max} characters long",
+ },
+ plusLoadsMoreDescription: {
+ en: "New features coming soon to Pro. Discover what's next on the Pro Roadmap {icon}",
+ },
+ proAllSetDescription: {
+ en: "Your Session Pro plan was updated! You will be billed when your current Pro plan is automatically renewed on {date}.",
+ },
+ proAutoRenewTime: {
+ en: "Pro auto-renewing in {time}",
+ },
+ proBilledAnnually: {
+ en: "{price} Billed Annually",
+ },
+ proBilledMonthly: {
+ en: "{price} Billed Monthly",
+ },
+ proBilledQuarterly: {
+ en: "{price} Billed Quarterly",
+ },
+ proCancellationDescription: {
+ en: "Canceling your Session Pro plan will prevent your plan from automatically renewing before your Pro plan expires. Canceling Pro does not result in a refund. You will continue to be able to use Session Pro features until your plan expires.
\nBecause you originally signed up for Session Pro via a {platform_account}, you'll need to use the same {platform_account} to cancel your plan.",
+ },
+ proDiscountTooltip: {
+ en: "Your current plan is already discounted by {percent}% of the full Session Pro price.",
+ },
+ proExpiringSoonDescription: {
+ en: "Your Pro plan is expiring in {time}. Update your plan to keep accessing the exclusive perks and features of Session Pro.",
+ },
+ proExpiringTime: {
+ en: "Pro expiring in {time}",
+ },
+ proPercentOff: {
+ en: "{percent}% Off",
+ },
+ proPlanActivatedAuto: {
+ en: "Your Session Pro plan is active!
Your plan will automatically renew for another {current_plan} on {date}. Updates to your plan take effect when Pro is next renewed.",
+ },
+ proPlanActivatedAutoShort: {
+ en: "Your Session Pro plan is active!
Your plan will automatically renew for another {current_plan} on {date}.",
+ },
+ proPlanActivatedNotAuto: {
+ en: "Your Session Pro plan will expire on {date}.
Update your plan now to ensure uninterrupted access to exclusive Pro features.",
+ },
+ proPlanExpireDate: {
+ en: "Your Session Pro plan will expire on {date}.",
+ },
+ proPlanPlatformRefund: {
+ en: "Because you originally signed up for Session Pro via the {platform_store} Store, you'll need to use the same {platform_account} to request a refund.",
+ },
+ proPlanPlatformRefundLong: {
+ en: "Because you originally signed up for Session Pro via the {platform_store} Store, your refund request will be processed by Session Support.
Request a refund by hitting the button below and completing the refund request form.
While Session Support strives to process refund requests within 24-72 hours, processing may take longer during times of high request volume.",
+ },
+ proPlanRenewDesktop: {
+ en: "Currently, Pro plans can only be purchased and renewed via the {platform_store} or {platform_store} Stores. Because you are using Session Desktop, you're not able to renew your plan here.
Session Pro developers are working hard on alternative payment options to allow users to purchase Pro plans outside of the {platform_store} and {platform_store} Stores. Pro Roadmap {icon}",
+ },
+ proPlanRenewDesktopLinked: {
+ en: "Renew your plan in the Session Pro settings on a linked device with Session installed via the {platform_store} or {platform_store} Store.",
+ },
+ proPlanRenewDesktopStore: {
+ en: "Renew your plan on the {platform_store} website using the {platform_account} you signed up for Pro with.",
+ },
+ proPlanSignUp: {
+ en: "Because you originally signed up for Session Pro via the {platform_store} Store, you'll need to use your {platform_account} to update your plan.",
+ },
+ proPriceOneMonth: {
+ en: "1 Month - {monthly_price} / Month",
+ },
+ proPriceThreeMonths: {
+ en: "3 Months - {monthly_price} / Month",
+ },
+ proPriceTwelveMonths: {
+ en: "12 Months - {monthly_price} / Month",
+ },
+ proRefundNextSteps: {
+ en: "{platform_account} is now processing your refund request. This typically takes 24-48 hours. Depending on their decision, you may see your Pro status change in Session.",
+ },
+ proRefundRequestStorePolicies: {
+ en: "Your refund request will be handled exclusively by {platform_account} through the {platform_account} website.
Due to {platform_account} refund policies, Session developers have no ability to influence the outcome of refund requests. This includes whether the request is approved or denied, as well as whether a full or partial refund is issued.",
+ },
+ proRefundSupport: {
+ en: "Please contact {platform_account} for further updates on your refund request. Due to {platform_account} refund policies, Session developers have no ability to influence the outcome of refund requests.
{platform_store} Refund Support",
+ },
+ proRefundingDescription: {
+ en: "Refunds for Session Pro plans are handled exclusively by {platform_account} through the {platform_store} Store.
Due to {platform_account} refund policies, Session developers have no ability to influence the outcome of refund requests. This includes whether the request is approved or denied, as well as whether a full or partial refund is issued.",
+ },
+ proRenewingNoAccessBilling: {
+ en: "Currently, Pro plans can only be purchased and renewed via the {platform_store} or {platform_store} Stores. Because you installed Session using the {buildVariant}, you're not able to renew your plan here.
Session Pro developers are working hard on alternative payment options to allow users to purchase Pro plans outside of the {platform_store} and {platform_store} Stores. Pro Roadmap {icon}",
+ },
+ proTosPrivacy: {
+ en: "By updating, you agree to the Session Pro Terms of Service {icon} and Privacy Policy {icon}",
+ },
+ proUpdatePlanDescription: {
+ en: "You are currently on the {current_plan} Plan. Are you sure you want to switch to the {selected_plan} Plan?
By updating, your plan will automatically renew on {date} for an additional {selected_plan} of Pro access.",
+ },
+ proUpdatePlanExpireDescription: {
+ en: "Your plan will expire on {date}.
By updating, your plan will automatically renew on {date} for an additional {selected_plan} of Pro access.",
+ },
+ processingRefundRequest: {
+ en: "{platform_account} is processing your refund request",
},
rateSessionModalDescription: {
en: "We're glad you're enjoying Session, if you have a moment, rating us in the {storevariant} helps others discover private, secure messaging!",
+ },
+ refundPlanNonOriginatorApple: {
+ en: "Because you originally signed up for Session Pro via a different {platform_account}, you'll need to use that {platform_account} to update your plan.",
},
remainingCharactersOverTooltip: {
en: "Reduce message length by {count}",
@@ -4207,6 +4824,9 @@ export const simpleDictionaryWithArgs: Record<
},
searchMatchesNoneSpecific: {
en: "No results found for {query}",
+ },
+ sessionNetworkDataPrice: {
+ en: "Price data powered by CoinGecko
Accurate at {date_time}",
},
sessionNetworkDescription: {
en: "Messages are sent using the Session Network. The network is comprised of nodes incentivized with Session Token, which keeps Session decentralized and secure. Learn More {icon}",
@@ -4232,8 +4852,11 @@ export const simpleDictionaryWithArgs: Record<
urlOpenDescription: {
en: "Are you sure you want to open this URL in your browser?
{url}",
},
- sessionNetworkDataPrice: {
- en: "Price data powered by CoinGecko
Accurate at {date_time}",
+ viaStoreWebsite: {
+ en: "Via the {platform_store} website",
+ },
+ viaStoreWebsiteDescription: {
+ en: "Change your plan using the {platform_account} you used to sign up with, via the {platform_store} website.",
},
} as const;
@@ -4370,6 +4993,30 @@ export const pluralsDictionaryWithArgs = {
other: "Messages have a character limit of {limit} characters. You have {count} characters remaining."
},
},
+ proBadgesSent: {
+ en:{
+ one: "{total} Pro Badge Sent",
+ other: "{total} Pro Badges Sent"
+ },
+ },
+ proGroupsUpgraded: {
+ en:{
+ one: "{total} Group Upgraded",
+ other: "{total} Groups Upgraded"
+ },
+ },
+ proLongerMessagesSent: {
+ en:{
+ one: "{total} Longer Message Sent",
+ other: "{total} Longer Messages Sent"
+ },
+ },
+ proPinnedConversations: {
+ en:{
+ one: "{total} Pinned Conversation",
+ other: "{total} Pinned Conversations"
+ },
+ },
promotionFailed: {
en:{
one: "Promotion Failed",