本地化 UIAlertController (IOS)
Localization UIAlertController (IOS)
我有 ActionSheet 的代码,因为我可以翻译单词 "Copy"、"Past"、"Send"、"Cancel".我怎样才能将它们翻译成其他语言?
我有一个文件Localized.strings可以这样使用吗?
actionSheetController.title = NSLocalizedString("Words", comment: "")
@IBAction func showActionSheetButtonAction(_ sender: Any) {
let actionSheetController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
actionSheetController.addAction(
UIAlertAction(title: "Copy", style: .default, handler: { [weak self] _ in
guard let strongSelf = self else { return }
UIPasteboard.general.string = strongSelf.displayResultLabel.text
print ("Copy")
let alert = UIAlertController(title: "Copied", message: "", preferredStyle: .alert)
let when = DispatchTime.now() + 0.6
DispatchQueue.main.asyncAfter(deadline: when){
// your code with delay
alert.dismiss(animated: true, completion: nil)
}
self?.present(alert, animated: true, completion:nil)
})
)
actionSheetController.addAction(
UIAlertAction(title: "Paste", style: .default, handler: { [weak self] _ in
guard let strongSelf = self else { return }
strongSelf.displayResultLabel.text = UIPasteboard.general.string
print ("Past")
})
)
actionSheetController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
present(actionSheetController, animated: true, completion: nil)
}
只要需要向用户显示本地化文本,就应该使用本地化字符串宏:
let actionSheetController = UIAlertController(title: NSLocalizedString("Words", comment: "Title for Alert Sheet"), message: nil, preferredStyle: .actionSheet)
我有 ActionSheet 的代码,因为我可以翻译单词 "Copy"、"Past"、"Send"、"Cancel".我怎样才能将它们翻译成其他语言?
我有一个文件Localized.strings可以这样使用吗?
actionSheetController.title = NSLocalizedString("Words", comment: "")
@IBAction func showActionSheetButtonAction(_ sender: Any) {
let actionSheetController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
actionSheetController.addAction(
UIAlertAction(title: "Copy", style: .default, handler: { [weak self] _ in
guard let strongSelf = self else { return }
UIPasteboard.general.string = strongSelf.displayResultLabel.text
print ("Copy")
let alert = UIAlertController(title: "Copied", message: "", preferredStyle: .alert)
let when = DispatchTime.now() + 0.6
DispatchQueue.main.asyncAfter(deadline: when){
// your code with delay
alert.dismiss(animated: true, completion: nil)
}
self?.present(alert, animated: true, completion:nil)
})
)
actionSheetController.addAction(
UIAlertAction(title: "Paste", style: .default, handler: { [weak self] _ in
guard let strongSelf = self else { return }
strongSelf.displayResultLabel.text = UIPasteboard.general.string
print ("Past")
})
)
actionSheetController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
present(actionSheetController, animated: true, completion: nil)
}
只要需要向用户显示本地化文本,就应该使用本地化字符串宏:
let actionSheetController = UIAlertController(title: NSLocalizedString("Words", comment: "Title for Alert Sheet"), message: nil, preferredStyle: .actionSheet)