Skip to content

Commit

Permalink
Fixed missing translations.
Browse files Browse the repository at this point in the history
  • Loading branch information
jensutbult committed Jan 16, 2025
1 parent e6cbd34 commit 0c5eea0
Show file tree
Hide file tree
Showing 11 changed files with 191 additions and 32 deletions.
162 changes: 152 additions & 10 deletions Authenticator/Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,62 @@
}
}
},
"A PIN must be at least %llu characters long and may contain letters, numbers and special characters." : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long and may contain letters, numbers and special characters."
}
},
"fr" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long and may contain letters, numbers and special characters."
}
},
"ja" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long and may contain letters, numbers and special characters."
}
},
"sk" : {
"stringUnit" : {
"state" : "translated",
"value" : "Kód PIN musí mať aspoň %llu znakov a môže obsahovať písmená, číslice a špeciálne znaky."
}
}
}
},
"A PIN must be at least %llu characters long, contain at least 2 unique characters, and not be a commonly used PIN, like \"123456\". It may contain letters, numbers and special characters." : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long, contain at least 2 unique characters, and not be a commonly used PIN, like \"123456\". It may contain letters, numbers and special characters."
}
},
"fr" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long, contain at least 2 unique characters, and not be a commonly used PIN, like \"123456\". It may contain letters, numbers and special characters."
}
},
"ja" : {
"stringUnit" : {
"state" : "new",
"value" : "A PIN must be at least %llu characters long, contain at least 2 unique characters, and not be a commonly used PIN, like \"123456\". It may contain letters, numbers and special characters."
}
},
"sk" : {
"stringUnit" : {
"state" : "translated",
"value" : "Kód PIN musí mať aspoň %llu znakov, musí obsahovať aspoň 2 jedinečné znaky a nesmie byť bežne používaným kódom PIN, ako napríklad \"123456\". Môže obsahovať písmená, číslice a špeciálne znaky."
}
}
}
},
"About" : {
"comment" : "About navigation title",
"localizations" : {
Expand Down Expand Up @@ -496,6 +552,7 @@
},
"and can be used by other applications" : {
"comment" : "PIV extension substring in 'These certificates have been added to this [iPad/iPhone] and can be used by other applications'",
"extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
Expand Down Expand Up @@ -640,6 +697,7 @@
},
"Certificates on this YubiKey can be used to authenticate and sign requests from other applications if added to this" : {
"comment" : "PIV extension no certs on yubikey message",
"extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
Expand Down Expand Up @@ -667,6 +725,9 @@
}
}
},
"Certificates on this YubiKey can be used to authenticate and sign requests from other applications if added to this %@." : {
"comment" : "PIV extension no certs on yubikey message"
},
"Certificates on YubiKey" : {
"comment" : "PIV extension table cell header",
"localizations" : {
Expand Down Expand Up @@ -1037,6 +1098,35 @@
}
}
},
"Configuration read" : {
"comment" : "NFC connection stopped message.",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "new",
"value" : "Configuration read"
}
},
"fr" : {
"stringUnit" : {
"state" : "new",
"value" : "Configuration read"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "設定読み込み"
}
},
"sk" : {
"stringUnit" : {
"state" : "translated",
"value" : "Čítanie konfigurácie"
}
}
}
},
"Confirm OATH reset" : {
"extractionState" : "stale",
"localizations" : {
Expand Down Expand Up @@ -2214,7 +2304,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "ALLGEMEINES"
"value" : "ALLGEMEINE EINSTELLUNGEN"
}
},
"fr" : {
Expand All @@ -2236,13 +2326,16 @@
}
}
}
},
"Get a shared secret from any service you wish to secure, store it on the YubiKey and use it to generate your security codes.\n\nYou will need a YubiKey 5Ci or a compatible YubiKey with NFC to get started." : {

},
"How does it work" : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Wie funktioniert das"
"value" : "Einführung"
}
},
"fr" : {
Expand All @@ -2264,6 +2357,15 @@
}
}
}
},
"How it works" : {

},
"If you have a YubiKey 5Ci, plug it in.\n\nTouch the contacts on the sides when prompted." : {

},
"If you have a YubiKey with NFC, pull down the main view to activate NFC.\n\nHold the key horizontally and tilt the iPhone towards the key.\n\nTouch the center of the key to the edge of the phone." : {

},
"Incorrect password. Re-enter password." : {
"comment" : "OATH password entry retry",
Expand Down Expand Up @@ -2299,7 +2401,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "YubiKey einfügen"
"value" : "YubiKey verbinden"
}
},
"fr" : {
Expand Down Expand Up @@ -2327,7 +2429,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "YubiKey stecken oder nach unten ziehen, um NFC zu aktivieren"
"value" : "YubiKey verbinden oder nach unten ziehen, um NFC zu aktivieren"
}
},
"fr" : {
Expand Down Expand Up @@ -2378,6 +2480,9 @@
}
}
}
},
"Invalid session state." : {

},
"Invalid signature" : {
"comment" : "PIV extension NFC invalid signature\nPIV extension invalid signature",
Expand Down Expand Up @@ -3497,7 +3602,6 @@
},
"Other applications can use client certificates on your YubiKey for authentication and signing purposes." : {
"comment" : "PIV extension info alert message",
"extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
Expand Down Expand Up @@ -4154,6 +4258,7 @@
},
"Public key certificates on" : {
"comment" : "PIV extension no certs on device message",
"extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
Expand All @@ -4180,6 +4285,12 @@
}
}
}
},
"Public key certificates on %@" : {
"comment" : "PIV extension no certs on device"
},
"QR codes are available from the services you wish to secure.\n\nSimply scan the QR code when you add your YubiKey and generate your own security codes." : {

},
"re-enter password" : {
"localizations" : {
Expand Down Expand Up @@ -4243,7 +4354,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Erfahre mehr..."
"value" : "Weitere Infos..."
}
},
"fr" : {
Expand Down Expand Up @@ -5467,6 +5578,9 @@
}
}
}
},
"The key is busy performing another operation." : {

},
"The passwords do not match" : {
"comment" : "Configuration set password not matching error alert message",
Expand Down Expand Up @@ -5555,6 +5669,9 @@
}
}
}
},
"The requested functionality is missing or disabled in this YubiKey." : {

},
"The smart card extension requires notifications to be enabled for Yubico Authenticator. Enable it in the iOS Settings." : {
"comment" : "PIV extensions notifications alert message",
Expand Down Expand Up @@ -5612,6 +5729,9 @@
}
}
}
},
"The YubiKey is not connected." : {

},
"There's already an account named" : {
"comment" : "OATH substring in 'There's already an account named [issuer, name] on this YubiKey.",
Expand Down Expand Up @@ -5644,6 +5764,7 @@
},
"These certificates have been added to this" : {
"comment" : "PIV extension substring in 'These certificates have been added to this [iPad/iPhone] and can be used by other applications'",
"extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
Expand Down Expand Up @@ -5671,6 +5792,9 @@
}
}
},
"These certificates have been added to this %@ and can be used by other applications." : {
"comment" : "PIV extension certs on device"
},
"This operation is not supported over Lightning on this YubiKey. Please use Yubico Authenticator for desktop to reset the FIDO application." : {
"localizations" : {
"de" : {
Expand Down Expand Up @@ -6016,7 +6140,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "One-Time Passwort zeigen/verbergen"
"value" : "One-Time Password Einstellungen"
}
},
"fr" : {
Expand All @@ -6038,6 +6162,9 @@
}
}
}
},
"Touch key time out." : {

},
"Touch the button on the YubiKey now." : {
"comment" : "FIDO reset view",
Expand Down Expand Up @@ -6389,7 +6516,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Was gibt es Neues?"
"value" : "Neuigkeiten"
}
},
"fr" : {
Expand Down Expand Up @@ -6418,7 +6545,7 @@
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Was gibt es Neues?"
"value" : "Neuigkeiten"
}
},
"fr" : {
Expand Down Expand Up @@ -6470,13 +6597,16 @@
}
}
}
},
"Where to get QR codes" : {

},
"While the YubiKey is inserted the on-screen keyboard will not appear. To show the keyboard you will have to remove the YubiKey and then re-insert it." : {
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Solange der YubiKey eingesteckt ist, wird die Bildschirmtastatur nicht angezeigt. Um die Tastatur anzuzeigen, musst Du den YubiKey abziehen und dann wieder einstecken."
"value" : "Solange der YubiKey verbunden ist, wird die Bildschirmtastatur nicht angezeigt. Um die Tastatur anzuzeigen, musst Du den YubiKey abziehen und erneut verbinden."
}
},
"fr" : {
Expand Down Expand Up @@ -6784,6 +6914,18 @@
}
}
}
},
"YubiKey 5 Series NFC authentication" : {

},
"YubiKey 5Ci authentication" : {

},
"YubiKey connection is not found." : {

},
"YubiKey connection lost." : {

},
"YubiKey has been reset" : {
"extractionState" : "stale",
Expand Down
2 changes: 1 addition & 1 deletion Authenticator/Model/ConfigurationViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class ConfigurationViewModel: ObservableObject {
session.getDeviceInfo { info, error in
DispatchQueue.main.async {
self?.deviceInfo = info
YubiKitManager.shared.stopNFCConnection(withMessage: "Configuration read")
YubiKitManager.shared.stopNFCConnection(withMessage: String(localized: "Configuration read", comment: "NFC connection stopped message."))
}
}
}
Expand Down
16 changes: 8 additions & 8 deletions Authenticator/UI/About/TutorialView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -85,24 +85,24 @@ struct TutorialPageModel: Hashable, Identifiable {

extension TutorialView {
var tutorialPages: [TutorialPageModel] {
[TutorialPageModel(title: "How it works",
[TutorialPageModel(title: String(localized: "How it works"),
image: Image(.authAppImgLight),
text: "Get a shared secret from any service you wish to secure, store it on the YubiKey and use it to generate your security codes." + "\n\n" + "You will need a YubiKey 5Ci or a compatible YubiKey with NFC to get started.",
text: String(localized: "Get a shared secret from any service you wish to secure, store it on the YubiKey and use it to generate your security codes.\n\nYou will need a YubiKey 5Ci or a compatible YubiKey with NFC to get started."),
link: URL(string: "https://www.yubico.com/")!),

TutorialPageModel(title: "YubiKey 5Ci authentication",
TutorialPageModel(title: String(localized: "YubiKey 5Ci authentication"),
image: Image(.authAppIntro2Yk5Ci),
text: "If you have a YubiKey 5Ci, plug it in." + "\n\n" + "Touch the contacts on the sides when prompted.",
text: String(localized: "If you have a YubiKey 5Ci, plug it in.\n\nTouch the contacts on the sides when prompted."),
link: nil),

TutorialPageModel(title: "YubiKey 5 Series NFC authentication",
TutorialPageModel(title: String(localized: "YubiKey 5 Series NFC authentication"),
image: Image(.authAppIntro3YkNfc),
text: "If you have a YubiKey with NFC, pull down the main view to activate NFC." + "\n\n" + "Hold the key horizontally and tilt the iPhone towards the key.\n\nTouch the center of the key to the edge of the phone.",
text: String(localized: "If you have a YubiKey with NFC, pull down the main view to activate NFC.\n\nHold the key horizontally and tilt the iPhone towards the key.\n\nTouch the center of the key to the edge of the phone."),
link: nil),

TutorialPageModel(title: "Where to get QR codes",
TutorialPageModel(title: String(localized: "Where to get QR codes"),
image: Image(.authAppIntro4QrCode),
text: "QR codes are available from the services you wish to secure." + "\n\n" + "Simply scan the QR code when you add your YubiKey and generate your own security codes.",
text: String(localized: "QR codes are available from the services you wish to secure.\n\nSimply scan the QR code when you add your YubiKey and generate your own security codes."),
link: nil)
]
}
Expand Down
Loading

0 comments on commit 0c5eea0

Please sign in to comment.