|
@@ -2501,7 +2501,7 @@ private extension ViewController {
|
|
|
}
|
|
}
|
|
|
let recurringText = "\(localizedDisplayPrice(product.displayPrice))/\(subscriptionUnitText(period.unit))"
|
|
let recurringText = "\(localizedDisplayPrice(product.displayPrice))/\(subscriptionUnitText(period.unit))"
|
|
|
if let trialText = freeTrialPackageText(for: product) {
|
|
if let trialText = freeTrialPackageText(for: product) {
|
|
|
- label.stringValue = "\(recurringText) • \(trialText)"
|
|
|
|
|
|
|
+ label.stringValue = "%@ • %@".localized(with: recurringText, trialText)
|
|
|
} else {
|
|
} else {
|
|
|
label.stringValue = recurringText
|
|
label.stringValue = recurringText
|
|
|
}
|
|
}
|
|
@@ -5496,7 +5496,7 @@ private extension ViewController {
|
|
|
refreshButton.layer?.borderWidth = 1
|
|
refreshButton.layer?.borderWidth = 1
|
|
|
refreshButton.setButtonType(.momentaryChange)
|
|
refreshButton.setButtonType(.momentaryChange)
|
|
|
refreshButton.contentTintColor = palette.textSecondary
|
|
refreshButton.contentTintColor = palette.textSecondary
|
|
|
- refreshButton.image = NSImage(systemSymbolName: "arrow.clockwise", accessibilityDescription: "Sync calendar")
|
|
|
|
|
|
|
+ refreshButton.image = NSImage(systemSymbolName: "arrow.clockwise", accessibilityDescription: "Sync calendar".localized)
|
|
|
refreshButton.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 14, weight: .semibold)
|
|
refreshButton.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 14, weight: .semibold)
|
|
|
refreshButton.imagePosition = .imageOnly
|
|
refreshButton.imagePosition = .imageOnly
|
|
|
refreshButton.imageScaling = .scaleProportionallyDown
|
|
refreshButton.imageScaling = .scaleProportionallyDown
|
|
@@ -7031,7 +7031,7 @@ private extension ViewController {
|
|
|
|
|
|
|
|
private func makeScheduleRefreshButton(
|
|
private func makeScheduleRefreshButton(
|
|
|
action: Selector = #selector(scheduleReloadButtonPressed(_:)),
|
|
action: Selector = #selector(scheduleReloadButtonPressed(_:)),
|
|
|
- accessibilityDescription: String = "Refresh meetings"
|
|
|
|
|
|
|
+ accessibilityDescription: String = "Refresh meetings".localized
|
|
|
) -> NSButton {
|
|
) -> NSButton {
|
|
|
let diameter: CGFloat = 30
|
|
let diameter: CGFloat = 30
|
|
|
let button = HoverButton(title: "", target: self, action: action)
|
|
let button = HoverButton(title: "", target: self, action: action)
|
|
@@ -7291,7 +7291,7 @@ private extension ViewController {
|
|
|
button.layer?.backgroundColor = palette.inputBackground.cgColor
|
|
button.layer?.backgroundColor = palette.inputBackground.cgColor
|
|
|
button.layer?.borderColor = palette.inputBorder.cgColor
|
|
button.layer?.borderColor = palette.inputBorder.cgColor
|
|
|
button.layer?.borderWidth = 1
|
|
button.layer?.borderWidth = 1
|
|
|
- button.image = NSImage(systemSymbolName: systemSymbol, accessibilityDescription: "Scroll meetings")
|
|
|
|
|
|
|
+ button.image = NSImage(systemSymbolName: systemSymbol, accessibilityDescription: "Scroll meetings".localized)
|
|
|
button.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 13, weight: .semibold)
|
|
button.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 13, weight: .semibold)
|
|
|
button.imagePosition = .imageOnly
|
|
button.imagePosition = .imageOnly
|
|
|
button.imageScaling = .scaleProportionallyDown
|
|
button.imageScaling = .scaleProportionallyDown
|
|
@@ -9971,7 +9971,7 @@ private extension ViewController {
|
|
|
return WidgetMeetingSnapshot(
|
|
return WidgetMeetingSnapshot(
|
|
|
id: meeting.id,
|
|
id: meeting.id,
|
|
|
title: meeting.title,
|
|
title: meeting.title,
|
|
|
- timeText: "\(formatter.string(from: meeting.startDate)) - \(endText)",
|
|
|
|
|
|
|
+ timeText: "%@ - %@".localized(with: formatter.string(from: meeting.startDate), endText),
|
|
|
joinLink: meeting.meetURL.absoluteString
|
|
joinLink: meeting.meetURL.absoluteString
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
@@ -10126,7 +10126,7 @@ private extension ViewController {
|
|
|
scheduleGoogleAuthButtonWidthConstraint?.constant = scheduleGoogleSignedInAvatarSize
|
|
scheduleGoogleAuthButtonWidthConstraint?.constant = scheduleGoogleSignedInAvatarSize
|
|
|
button.layer?.cornerRadius = scheduleGoogleSignedInAvatarSize / 2
|
|
button.layer?.cornerRadius = scheduleGoogleSignedInAvatarSize / 2
|
|
|
|
|
|
|
|
- let symbol = NSImage(systemSymbolName: "person.crop.circle.fill", accessibilityDescription: "Profile")
|
|
|
|
|
|
|
+ let symbol = NSImage(systemSymbolName: "person.crop.circle.fill", accessibilityDescription: "Profile".localized)
|
|
|
if let symbol {
|
|
if let symbol {
|
|
|
let sized = resizedImage(symbol, to: NSSize(width: scheduleGoogleSignedInAvatarSize, height: scheduleGoogleSignedInAvatarSize))
|
|
let sized = resizedImage(symbol, to: NSSize(width: scheduleGoogleSignedInAvatarSize, height: scheduleGoogleSignedInAvatarSize))
|
|
|
button.image = sized
|
|
button.image = sized
|
|
@@ -10684,12 +10684,12 @@ private final class InAppBrowserContainerViewController: NSViewController, WKNav
|
|
|
reloadStopButton.title = "Stop".localized
|
|
reloadStopButton.title = "Stop".localized
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- if #available(macOS 11.0, *), let img = NSImage(systemSymbolName: "arrow.clockwise", accessibilityDescription: "Reload") {
|
|
|
|
|
|
|
+ if #available(macOS 11.0, *), let img = NSImage(systemSymbolName: "arrow.clockwise", accessibilityDescription: "Reload".localized) {
|
|
|
reloadStopButton.image = img
|
|
reloadStopButton.image = img
|
|
|
reloadStopButton.imagePosition = .imageOnly
|
|
reloadStopButton.imagePosition = .imageOnly
|
|
|
reloadStopButton.title = ""
|
|
reloadStopButton.title = ""
|
|
|
} else {
|
|
} else {
|
|
|
- reloadStopButton.title = "Reload"
|
|
|
|
|
|
|
+ reloadStopButton.title = "Reload".localized
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
syncProgressFromWebView()
|
|
syncProgressFromWebView()
|