本地化 UIAlertController (IOS)
Posted
技术标签:
【中文标题】本地化 UIAlertController (IOS)【英文标题】:Localization UIAlertController (IOS) 【发布时间】:2017-08-26 07:09:30 【问题描述】:我有 ActionSheet 的代码,因为我可以翻译“复制”、“过去”、“发送”、“取消”等词。如何将它们翻译成其他语言?
我有一个文件 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)
【问题讨论】:
【参考方案1】:当您需要向用户显示本地化文本时,您应该只使用本地化字符串宏:
let actionSheetController = UIAlertController(title: NSLocalizedString("Words", comment: "Title for Alert Sheet"), message: nil, preferredStyle: .actionSheet)
【讨论】:
以上是关于本地化 UIAlertController (IOS)的主要内容,如果未能解决你的问题,请参考以下文章
从第一个 UIAlertController 打开第二个 UIAlertController
swift UIAlertController使用 UIAlertController的宽度 为270
从 AppDelegate 到 PresentedViewController 的警报:“尝试在...上呈现 UIAlertController 已经在呈现 UIAlertController”