我正在学习将我的应用程序本地化为简体中文。我正在关注this tutorial如何做到这一点。
由于本教程基于Obj-C,因此格式化字符串可以如下编写:
"Yesterday you sold %@ apps" = "Ayer le vendió %@ aplicaciones";
“你喜欢吗?”=“~好吗?~";
但是我用的是Swift,在Swift中,我不认为你可以用%@
来表示有东西要放进去,我们有字符串插值,对吧?
我的应用与数学有一定的联系。我想在表格视图单元格的详细标签中显示用于计算结果的输入。例如
--------------
1234.5678
From x, y <---- Here is the detailed label
--------------
这里,From x, y
的意思是“结果是从x和y计算出来的”。我想把这个翻译成中文:
从 x, y 得出
以前,我可以用这个:
"From \(someVariable)"
使用字符串文件:
"From" = "从 得出";
这就是我在代码中的用法
"\(NSLocalizedString("From", comment: "")) \(someVariable)"
但如果在中文版本中使用此字符串,则最终字符串将如下所示:
"从 得出 x, y"
我的意思是我可以把从
和得出
放在字符串文件的两个不同的条目中,但是有没有更好的方法呢?
5条答案
按热度按时间ercv8c1e1#
您 * 可以 * 在Swift的
String(format:...)
中使用%@
,它可以被SwiftString
或NSObject
子类的任何示例替代。那么
produces "从 1.2, 2.4 得出". Another option would be to use the
%f
format for double floating point numbers:与
请参阅Niklas' answer,了解更好的解决方案,它也可以本地化数字表示。
tvokkenx2#
从WWDC 2017开始:
njthzxwz3#
快速本地化字符串
再举一个简单的例子
可本地化的.字符串
comment
参数对结果没有影响,用于转换器,并由genstrings
代码生成用作注解j7dteeu84#
iOS 15和macOS Monterey中的新增功能,您可以对String使用新的改进方法。
他们在2021年用Xcode做了很多本地化的更新。查看这个来自WWDC21的视频了解更多信息。
https://developer.apple.com/videos/play/wwdc2021/10221/
cgh8pdjw5#
在目标C中,如果我们想在运行时添加字符串,如下所示
"约翰·苹果籽“是我的名字
您可本地化的.字符串
视图控制器.m
在这篇漂亮的文章中进一步解释
https://www.oneskyapp.com/academy/learn-ios-localization/2-format-strings-plurals/