lms*_*lms 18 iphone localization ios
某些iOS控件具有Apple内置的本地化字符串."完成","编辑","返回"栏按钮项是一些示例.有没有办法访问这些字符串?
我正在制作带有标准"删除"或"取消"选项的UIActionSheet,就像您在"联系人"应用中删除联系人一样.
有没有办法在代码中引用这些字符串?如果没有,是否有某些地方我至少可以获得这些字符串(比如从Apple应用程序的资源中提取它们)?它可以节省额外的本地化工作,并确保与平台的一致性.
如果iOS与Mac OS一样,每个应用程序都带有自己的Localizable.strings文件.在每个字符串文件中,您拥有所有那些小字符串,如完成,编辑,取消等.
这些是我从Finder.app的英文Localizable.string文件中复制的一些字符串:
<key>AL1</key>
<string>Cancel</string>
<key>AL4</key>
<string>OK</string>
<key>AL9</key>
<string>Don’t Save</string>
<key>FF24</key>
<string>Save</string>
<key>U32</key>
<string>Yes</string>
<key>U33</key>
<string>No</string>
Run Code Online (Sandbox Code Playgroud)
你明白了.每个小字符串都在每个应用程序中本地化
这个来自iTunes.app.
/* ===== Ask User Strings ===== */
"23987.001" = "Yes";
"23987.002" = "No";
"23987.003" = "OK";
"23987.004" = "Cancel";
"23987.005" = "Ignore";
"23987.006" = "Quit";
"23987.007" = "Don’t Quit";
"23987.008" = "Apply";
"23987.009" = "Don’t Apply";
"23987.010" = "Later";
"23987.011" = "Don’t Save";
"23987.012" = "Save";
"23987.013" = "Stop";
"23987.014" = "Continue";
"23987.015" = "Delete";
"23987.016" = "Remove";
"23987.017" = "Replace";
"23987.018" = "Don’t Replace";
"23987.019" = "Do not ask me again";
Run Code Online (Sandbox Code Playgroud)
看起来更有条理.虽然可能不允许复制他们的文件;-)
一个在苹果devforum答案由苹果公司开发者关系奎因(eskimo1).
某些UI元素会自动为您进行本地化.例如,UIBarButtonItem上的图稿. 但是,没有支持的方法来获取字符串,如"OK"和"取消",因为它们在UIActionSheet中使用. 但是,对于你的本地人来说,它们应该是微不足道的.
但是2岁.但是较新的线程具有相同的结果.无法获得这些字符串.
可以使用以下代码片段从 UIKit 包中访问本地化字符串:
static NSString * UIKitLocalizedString(NSString *string)
{
NSBundle *UIKitBundle = [NSBundle bundleForClass:[UIApplication class]];
return UIKitBundle ? [UIKitBundle localizedStringForKey:string value:string table:nil] : string;
}
Run Code Online (Sandbox Code Playgroud)
全部归功于0xced(在 XCDFormInputAccessoryView 中使用)
| 归档时间: |
|
| 查看次数: |
2593 次 |
| 最近记录: |