Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Crowdin updates #1430

Merged
merged 3 commits into from
Jan 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 134 additions & 8 deletions RadixWallet/Core/Resources/Generated/L10n.generated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1835,8 +1835,8 @@ internal enum L10n {
}
/// Enter a seed phrase to approve
internal static let passphraseDescription = L10n.tr("Localizable", "factorSources_card_passphraseDescription", fallback: "Enter a seed phrase to approve")
/// Passphrase
internal static let passphraseTitle = L10n.tr("Localizable", "factorSources_card_passphraseTitle", fallback: "Passphrase")
/// Mnemonic
internal static let passphraseTitle = L10n.tr("Localizable", "factorSources_card_passphraseTitle", fallback: "Mnemonic")
/// Enter a decentralized password to approve
internal static let passwordDescription = L10n.tr("Localizable", "factorSources_card_passwordDescription", fallback: "Enter a decentralized password to approve")
/// Password
Expand Down Expand Up @@ -2841,8 +2841,6 @@ internal enum L10n {
internal static let networkstaking = L10n.tr("Localizable", "infoLink_title_networkstaking", fallback: "What is Staking?")
/// What are NFTs?
internal static let nfts = L10n.tr("Localizable", "infoLink_title_nfts", fallback: "What are NFTs?")
/// I don’t have a hardware device
internal static let nohardwaredevice = L10n.tr("Localizable", "infoLink_title_nohardwaredevice", fallback: "I don’t have a hardware device")
/// Learn about passphrases
internal static let passphrases = L10n.tr("Localizable", "infoLink_title_passphrases", fallback: "Learn about passphrases")
/// Learn about passwords
Expand Down Expand Up @@ -3700,6 +3698,10 @@ internal enum L10n {
/// Seed Phrases
internal static let title = L10n.tr("Localizable", "securityFactors_seedPhrases_title", fallback: "Seed Phrases")
}
internal enum SelectFactor {
/// Select Factor Type
internal static let title = L10n.tr("Localizable", "securityFactors_selectFactor_title", fallback: "Select Factor Type")
}
}
internal enum SecurityProblems {
internal enum Common {
Expand Down Expand Up @@ -3899,6 +3901,8 @@ internal enum L10n {
internal enum AddHardwareFactor {
/// Add Hardware Device
internal static let button = L10n.tr("Localizable", "shieldSetupPrepareFactors_addHardwareFactor_button", fallback: "Add Hardware Device")
/// I don’t have a hardware device
internal static let noDeviceButton = L10n.tr("Localizable", "shieldSetupPrepareFactors_addHardwareFactor_noDeviceButton", fallback: "I don’t have a hardware device")
/// Choose a hardware device to use as a security factor in your Shield.
internal static let subtitle = L10n.tr("Localizable", "shieldSetupPrepareFactors_addHardwareFactor_subtitle", fallback: "Choose a hardware device to use as a security factor in your Shield.")
/// Add a Hardware Device
Expand Down Expand Up @@ -3932,11 +3936,133 @@ internal enum L10n {
internal static let subtitle = L10n.tr("Localizable", "shieldSetupSelectFactors_subtitle", fallback: "Choose the factors you’ll use to sign transactions. You’ll use **all** of these factors every time you send assets or log in to dApps.")
/// Select Factors for Transactions
internal static let title = L10n.tr("Localizable", "shieldSetupSelectFactors_title", fallback: "Select Factors for Transactions")
internal enum StatusMessage {
}
internal enum ShieldSetupStatus {
/// Cannot use this factor by itself
internal static let factorCannotBeUsedByItself = L10n.tr("Localizable", "shieldSetupStatus_factorCannotBeUsedByItself", fallback: "Cannot use this factor by itself")
/// You cannot create a Shield with this combination of factors. **Read more**
internal static let invalidCombination = L10n.tr("Localizable", "shieldSetupStatus_invalidCombination", fallback: "You cannot create a Shield with this combination of factors. **Read more**")
/// Choosing 2 factors will make your Shield more secure and reliable
internal static let recommendedFactors = L10n.tr("Localizable", "shieldSetupStatus_recommendedFactors", fallback: "Choosing 2 factors will make your Shield more secure and reliable")
internal enum Authentication {
/// You need to choose a factor to continue
internal static let atLeastOneFactor = L10n.tr("Localizable", "shieldSetupStatus_authentication_atLeastOneFactor", fallback: "You need to choose a factor to continue")
}
internal enum Transactions {
/// You need to select at least 1 factor for signing transactions
internal static let atLeastOneFactor = L10n.tr("Localizable", "shieldSetupSelectFactors_statusMessage_atLeastOneFactor", fallback: "You need to select at least 1 factor for signing transactions")
/// Choosing 2 factors will make your Shield more secure and reliable
internal static let recommendedFactors = L10n.tr("Localizable", "shieldSetupSelectFactors_statusMessage_recommendedFactors", fallback: "Choosing 2 factors will make your Shield more secure and reliable")
internal static let atLeastOneFactor = L10n.tr("Localizable", "shieldSetupStatus_transactions_atLeastOneFactor", fallback: "You need to select at least 1 factor for signing transactions")
}
}
internal enum ShieldWizardName {
/// Give this Security Shield a name, so you can identify it later.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardName_subtitle", fallback: "Give this Security Shield a name, so you can identify it later.")
/// Name your Security Shield
internal static let title = L10n.tr("Localizable", "shieldWizardName_title", fallback: "Name your Security Shield")
}
internal enum ShieldWizardRecovery {
/// Recovery
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_title", fallback: "Recovery")
internal enum Combination {
/// OR
internal static let label = L10n.tr("Localizable", "shieldWizardRecovery_combination_label", fallback: "OR")
}
internal enum Confirm {
/// Factors you can use to complete the recovery of your Accounts and Personas.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardRecovery_confirm_subtitle", fallback: "Factors you can use to complete the recovery of your Accounts and Personas.")
/// Confirming a Recovery
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_confirm_title", fallback: "Confirming a Recovery")
}
internal enum Factors {
/// You'll need to use the following:
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_factors_title", fallback: "You'll need to use the following:")
}
internal enum Fallback {
/// We recommend setting this for an extended period, so you have time to notice and cancel a recovery you don’t want.
internal static let note = L10n.tr("Localizable", "shieldWizardRecovery_fallback_note", fallback: "We recommend setting this for an extended period, so you have time to notice and cancel a recovery you don’t want.")
/// Set a time period to automatically confirm recovery **WITHOUT** presenting any of the above confirmation factors.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardRecovery_fallback_subtitle", fallback: "Set a time period to automatically confirm recovery **WITHOUT** presenting any of the above confirmation factors.")
/// Emergency Fallback
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_fallback_title", fallback: "Emergency Fallback")
internal enum Day {
/// Day
internal static let label = L10n.tr("Localizable", "shieldWizardRecovery_fallback_day_label", fallback: "Day")
}
internal enum Days {
/// Days
internal static let label = L10n.tr("Localizable", "shieldWizardRecovery_fallback_days_label", fallback: "Days")
}
internal enum Week {
/// Week
internal static let label = L10n.tr("Localizable", "shieldWizardRecovery_fallback_week_label", fallback: "Week")
}
internal enum Weeks {
/// Weeks
internal static let label = L10n.tr("Localizable", "shieldWizardRecovery_fallback_weeks_label", fallback: "Weeks")
}
}
internal enum SetFallback {
/// Set
internal static let button = L10n.tr("Localizable", "shieldWizardRecovery_setFallback_button", fallback: "Set")
/// Set a time period to automatically confirm recovery **WITHOUT** presenting any confirmation factors.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardRecovery_setFallback_subtitle", fallback: "Set a time period to automatically confirm recovery **WITHOUT** presenting any confirmation factors.")
/// Emergency Fallback
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_setFallback_title", fallback: "Emergency Fallback")
}
internal enum Start {
/// Factors you can use to start recovering, and temporarily lock, Accounts and Personas if you lose access.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardRecovery_start_subtitle", fallback: "Factors you can use to start recovering, and temporarily lock, Accounts and Personas if you lose access.")
/// Starting a Recovery
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_start_title", fallback: "Starting a Recovery")
}
internal enum Step {
/// Step 2 of 2
internal static let title = L10n.tr("Localizable", "shieldWizardRecovery_step_title", fallback: "Step 2 of 2")
}
}
internal enum ShieldWizardRegularAccess {
/// Factors required to withdraw assets from Accounts.
internal static let subtitle = L10n.tr("Localizable", "shieldWizardRegularAccess_subtitle", fallback: "Factors required to withdraw assets from Accounts.")
/// Regular Access
internal static let title = L10n.tr("Localizable", "shieldWizardRegularAccess_title", fallback: "Regular Access")
internal enum Authentication {
/// Single factor required to log in to dApps with Personas and prove ownership of Accounts.
internal static let title = L10n.tr("Localizable", "shieldWizardRegularAccess_authentication_title", fallback: "Single factor required to log in to dApps with Personas and prove ownership of Accounts.")
}
internal enum Combination {
/// OR
internal static let label = L10n.tr("Localizable", "shieldWizardRegularAccess_combination_label", fallback: "OR")
}
internal enum Override {
/// Add an override
internal static let button = L10n.tr("Localizable", "shieldWizardRegularAccess_override_button", fallback: "Add an override")
/// Or you can use the following:
internal static let description = L10n.tr("Localizable", "shieldWizardRegularAccess_override_description", fallback: "Or you can use the following:")
/// Override (advanced)
internal static let title = L10n.tr("Localizable", "shieldWizardRegularAccess_override_title", fallback: "Override (advanced)")
}
internal enum OverrideCombination {
/// OR
internal static let label = L10n.tr("Localizable", "shieldWizardRegularAccess_overrideCombination_label", fallback: "OR")
}
internal enum SetThreshold {
/// All (Recommended)
internal static let all = L10n.tr("Localizable", "shieldWizardRegularAccess_setThreshold_all", fallback: "All (Recommended)")
/// Set
internal static let button = L10n.tr("Localizable", "shieldWizardRegularAccess_setThreshold_button", fallback: "Set")
/// Set the number of factors required to sign
internal static let title = L10n.tr("Localizable", "shieldWizardRegularAccess_setThreshold_title", fallback: "Set the number of factors required to sign")
}
internal enum Step {
/// Step 1 of 2
internal static let title = L10n.tr("Localizable", "shieldWizardRegularAccess_step_title", fallback: "Step 1 of 2")
}
internal enum ThresholdDescription {
/// All
internal static let all = L10n.tr("Localizable", "shieldWizardRegularAccess_thresholdDescription_all", fallback: "All")
/// You'll need to use **%@** of the following
internal static func title(_ p1: Any) -> String {
return L10n.tr("Localizable", "shieldWizardRegularAccess_thresholdDescription_title", String(describing: p1), fallback: "You'll need to use **%@** of the following")
}
}
}
internal enum Splash {
Expand Down
48 changes: 43 additions & 5 deletions RadixWallet/Core/Resources/Resources/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,7 @@ Code: %@";
"factorSources_card_deviceDescription" = "Use phone biometrics/PIN to approve";
"factorSources_card_ledgerTitle" = "Ledger Nano";
"factorSources_card_ledgerDescription" = "Connect via USB to approve";
"factorSources_card_passphraseTitle" = "Passphrase";
"factorSources_card_passphraseTitle" = "Mnemonic";
"factorSources_card_passphraseDescription" = "Enter a seed phrase to approve";
"factorSources_card_arculusCardTitle" = "Arculus Card";
"factorSources_card_arculusCardDescription" = "Tap to your phone to approve";
Expand Down Expand Up @@ -1113,6 +1113,7 @@ Code: %@";
"securityFactors_ledgerWallet_subtitle" = "Hardware wallet designed for holding crypto";
"securityFactors_ledgerWallet_counterSingular" = "1 set";
"securityFactors_ledgerWallet_counterPlural" = "%d set";
"securityFactors_selectFactor_title" = "Select Factor Type";
"configurationBackup_title" = "Configuration Backup";
"configurationBackup_heading" = "You need an up-to-date Configuration Backup to recover your Accounts and Personas if you lose access to them.\n\nYour Backup does not contain your keys or seed phrase.";
"configurationBackup_automated_text" = "Configuration Backup status";
Expand Down Expand Up @@ -1338,7 +1339,6 @@ Code: %@";
"infoLink_title_passwords" = "Learn about passwords";
"infoLink_title_buildingshield" = "How your Security Shield is built";
"infoLink_title_securityshields" = "Learn about Security Shields";
"infoLink_title_nohardwaredevice" = "I don’t have a hardware device";
"hiddenEntities_title" = "Hidden Personas & Accounts";
"hiddenEntities_text" = "You have hidden the following Personas and Accounts. They remain on the Radix Network, but while hidden, your wallet will treat them as if they don’t exist.";
"hiddenEntities_personas" = "Personas";
Expand Down Expand Up @@ -1442,6 +1442,7 @@ Code: %@";
"shieldSetupPrepareFactors_addHardwareFactor_title" = "Add a Hardware Device";
"shieldSetupPrepareFactors_addHardwareFactor_subtitle" = "Choose a hardware device to use as a security factor in your Shield.";
"shieldSetupPrepareFactors_addHardwareFactor_button" = "Add Hardware Device";
"shieldSetupPrepareFactors_addHardwareFactor_noDeviceButton" = "I don’t have a hardware device";
"shieldSetupPrepareFactors_addAnotherFactor_title" = "Add Another Factor";
"shieldSetupPrepareFactors_addAnotherFactor_subtitle" = "You need to add **1 more factor** to begin building your Shield.";
"shieldSetupPrepareFactors_addAnotherFactor_passphraseHint" = "Choosing a passphrase is only recommended for advanced users";
Expand All @@ -1452,8 +1453,6 @@ Code: %@";
"shieldSetupPrepareFactors_completion_button" = "Build Shield";
"shieldSetupSelectFactors_title" = "Select Factors for Transactions";
"shieldSetupSelectFactors_subtitle" = "Choose the factors you’ll use to sign transactions. You’ll use **all** of these factors every time you send assets or log in to dApps.";
"shieldSetupSelectFactors_statusMessage_atLeastOneFactor" = "You need to select at least 1 factor for signing transactions";
"shieldSetupSelectFactors_statusMessage_recommendedFactors" = "Choosing 2 factors will make your Shield more secure and reliable";
"shieldSetupSelectFactors_buildButtonTitle" = "Build Shield";
"renameLabel_factorSource_title" = "Rename Factor Source";
"renameLabel_factorSource_subtitle" = "Enter a new name for this Factor Source";
Expand All @@ -1466,4 +1465,43 @@ Code: %@";
"renameLabel_account_empty" = "Account label required";
"renameLabel_account_tooLong" = "Account label too long";
"renameLabel_update" = "Update";
"renameLabel_success" = "Updated";
"renameLabel_success" = "Updated";
"shieldSetupStatus_transactions_atLeastOneFactor" = "You need to select at least 1 factor for signing transactions";
"shieldSetupStatus_recommendedFactors" = "Choosing 2 factors will make your Shield more secure and reliable";
"shieldSetupStatus_invalidCombination" = "You cannot create a Shield with this combination of factors. **Read more**";
"shieldSetupStatus_authentication_atLeastOneFactor" = "You need to choose a factor to continue";
"shieldSetupStatus_factorCannotBeUsedByItself" = "Cannot use this factor by itself";
"shieldWizardName_title" = "Name your Security Shield";
"shieldWizardName_subtitle" = "Give this Security Shield a name, so you can identify it later.";
"shieldWizardRecovery_step_title" = "Step 2 of 2";
"shieldWizardRecovery_title" = "Recovery";
"shieldWizardRecovery_start_title" = "Starting a Recovery";
"shieldWizardRecovery_start_subtitle" = "Factors you can use to start recovering, and temporarily lock, Accounts and Personas if you lose access.";
"shieldWizardRecovery_confirm_title" = "Confirming a Recovery";
"shieldWizardRecovery_confirm_subtitle" = "Factors you can use to complete the recovery of your Accounts and Personas.";
"shieldWizardRecovery_combination_label" = "OR";
"shieldWizardRecovery_factors_title" = "You\'ll need to use the following:";
"shieldWizardRecovery_fallback_title" = "Emergency Fallback";
"shieldWizardRecovery_fallback_subtitle" = "Set a time period to automatically confirm recovery **WITHOUT** presenting any of the above confirmation factors.";
"shieldWizardRecovery_fallback_note" = "We recommend setting this for an extended period, so you have time to notice and cancel a recovery you don’t want.";
"shieldWizardRecovery_fallback_days_label" = "Days";
"shieldWizardRecovery_fallback_day_label" = "Day";
"shieldWizardRecovery_fallback_weeks_label" = "Weeks";
"shieldWizardRecovery_fallback_week_label" = "Week";
"shieldWizardRecovery_setFallback_title" = "Emergency Fallback";
"shieldWizardRecovery_setFallback_subtitle" = "Set a time period to automatically confirm recovery **WITHOUT** presenting any confirmation factors.";
"shieldWizardRecovery_setFallback_button" = "Set";
"shieldWizardRegularAccess_step_title" = "Step 1 of 2";
"shieldWizardRegularAccess_title" = "Regular Access";
"shieldWizardRegularAccess_subtitle" = "Factors required to withdraw assets from Accounts.";
"shieldWizardRegularAccess_combination_label" = "OR";
"shieldWizardRegularAccess_thresholdDescription_title" = "You\'ll need to use **%@** of the following";
"shieldWizardRegularAccess_thresholdDescription_all" = "All";
"shieldWizardRegularAccess_override_title" = "Override (advanced)";
"shieldWizardRegularAccess_override_description" = "Or you can use the following:";
"shieldWizardRegularAccess_override_button" = "Add an override";
"shieldWizardRegularAccess_overrideCombination_label" = "OR";
"shieldWizardRegularAccess_authentication_title" = "Single factor required to log in to dApps with Personas and prove ownership of Accounts.";
"shieldWizardRegularAccess_setThreshold_title" = "Set the number of factors required to sign";
"shieldWizardRegularAccess_setThreshold_all" = "All (Recommended)";
"shieldWizardRegularAccess_setThreshold_button" = "Set";
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ extension InfoLinkSheet {
case passwords
case securityshields
case buildingshield
case nohardwaredevice
}
}

Expand Down Expand Up @@ -181,8 +180,6 @@ extension InfoLinkSheet.GlossaryItem {
L10n.InfoLink.Glossary.securityshields
case .buildingshield:
L10n.InfoLink.Glossary.buildingshield
case .nohardwaredevice:
"TODO" // TODO: update
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@ extension PrepareFactorSources.AddFactorSource {
.controlState(store.controlState)

if store.showNoHardwareDeviceInfo {
InfoButton(.nohardwaredevice, label: L10n.InfoLink.Title.nohardwaredevice, showIcon: false)
Button(L10n.ShieldSetupPrepareFactors.AddHardwareFactor.noDeviceButton) {
// TODO: Handle the action and add a popup for skipping this step
}
.buttonStyle(.primaryText())
}
}
}
Expand Down
Loading