我试图弄清楚如何将NSLocalizedString与变量一起使用.
例如,如果我想输出"由Peter和Larry",在我的Localizable.strings文件中,我应该有以下内容吗?
"account.by_user" = "by %@ and %@";
Run Code Online (Sandbox Code Playgroud)
我怎么会叫NSLocalizedString("account.by_user", comment: "")用,如果有2个变量name1,并name2在那里name1=彼得和name2=拉里?
dua*_*uan 25
是的,你应该拥有"account.by_user" = "by %@ and %@";并采取这个:
let localizedString = NSLocalizedString("account.by_user", comment: "any comment")
let wantedString = String(format: localizedString, "Peter","Larry")
Run Code Online (Sandbox Code Playgroud)
r_1*_*_19 14
这是另一种方式,我是如何做到的.
let myString = String.localizedStringWithFormat(NSLocalizedString("by %@ and %@", comment: "yourComment"), name1, name2)
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)
在下面添加一个小示例,因为我花了一些时间来确定 Localizable.strings 文件格式。
向本地化字符串添加变量的示例:
在代码中:
let myVar: String = "My Var"
String(format: NSLocalizedString("translated_key %@",
comment: "Comment"), myVar)
Run Code Online (Sandbox Code Playgroud)
在 Localizable.strings 文件中:
"translated_key %@" = "My var is: %@";
Run Code Online (Sandbox Code Playgroud)
当然,%@右边的可以替换:
"translated_key %@" = "My var is: %@";
"translated_key %@" = "%@ is my var";
"translated_key %@" = "I use %@ as my var";
Run Code Online (Sandbox Code Playgroud)
此外,%@可以替换为%dfor int 或%ffor a float。
Localizable.strings文件的示例:
在Localizable.strings文件中:
localizable_text = "Title %@ (Code: %@)";
Run Code Online (Sandbox Code Playgroud)
在Swift类中:
let title = "Error"
let code = "123456"
let alertMessage = String(format: NSLocalizedString("localizable_text", comment: ""), title, code)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13437 次 |
| 最近记录: |