Seb*_*Seb 2 nslocalizedstring ios swift
我如何翻译一个包含变量的字符串,如下所示:
let alert = UIAlertController(title: NSLocalizedString("NEUEARTIKEL",comment:"Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), message: nil, preferredStyle: .Alert)
Run Code Online (Sandbox Code Playgroud)
当我在localizable.string中正常翻译String时:
NEUEARTIKEL="Add an item to \(titelArr[sender.tag]):";
Run Code Online (Sandbox Code Playgroud)
警报将显示(titelArr [sender.tag])而不是其值.
这可能很简单,但我是一个新手快速的一个是不能谷歌的东西有用!;-)
谢谢你的帮助// Seb
在localisable中,您无法直接设置自定义文本,只能使用文本和格式标记.因此,为了实现目标,您可以这样做:
NEUEARTIKEL="Add an item to %@:";
Run Code Online (Sandbox Code Playgroud)
之后,使用标准格式良好的格式 NSString(format: <#NSString#>, <#args: CVarArgType#>...)
let title = NSString(format: NSLocalizedString("NEUEARTIKEL", nil), titelArr[sender.tag])
let alert = UIAlertController(title: title, message: nil, preferredStyle: .Alert)
Run Code Online (Sandbox Code Playgroud)
完成后,您可以根据需要格式化可本地化的字符串.
这是另一种方式,我是如何做到的.
let NEUEARTIKEL = "Add an item to %@:"
let alert = UIAlertController(title: String.localizedStringWithFormat(NSLocalizedString(NEUEARTIKEL, comment: "Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), titelArr[sender.tag]), message: nil, preferredStyle: .Alert)
Run Code Online (Sandbox Code Playgroud)
基本上,具有格式的Localized String的主要思想是这样的:
let math = "Math"
let science = "Science"
String.localizedStringWithFormat(NSLocalizedString("I love %@ and %@", comment: "loved Subjects"), math, science)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5980 次 |
| 最近记录: |