iphone - 如何在 iOS 4 中更改 iPhone 应用程序的首选语言

标签 iphone objective-c internationalization ios4

已讨论更改 iPhone 应用程序的语言 many times ,但我坚持这一点:提供的解决方案需要重新启动应用程序才能使更改生效。但如何在 iPhone 4 上实现这一目标呢?按“home”会将应用程序发送到后台,单击应用程序图标只会将其返回。用户的体验就像应用程序已重新启动一样,并且想知道为什么语言没有改变。感谢您的帮助。

最佳答案

您可以编写自己的 NSLocalizedString 替代品。在头文件中,执行类似

#undef NSLocalizedString
#define NSLocalizedString(key, comment) MyLocalizedStringFunction(key)

在您的函数中,使用 NSBundle 加载正确的 .lproj 包,然后调用

[bundle localizedStringForKey:key value:nil table:nil];

就可以得到你想要的字符串了。

我不知道这是否是最好的方法:我们必须使用它,因为我们想要支持 iPhone 上不存在的语言,因此您的问题可能有一个更简单的解决方案。

关于iphone - 如何在 iOS 4 中更改 iPhone 应用程序的首选语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3235671/

相关文章:

iphone - 如何读取/扫描条形码?

ios - 在 iOS 中获取其他 Facebook 用户的个人资料图片

python - 如何将 Django REST 框架与具有外键默认值的模型一起使用?

ios - 在国际化我的应用程序之前,如何更改 Xcode 中的开发语言?

php - 在多语言(例如英语和法语)应用程序中抛出异常

iphone - UIImage 不透明

ios - 标准Parse.com设置会发出警告“正在执行长时间运行的操作……”

objective-c - Objective-C 与 Swift 自定义初始化器

iphone - ios - 获取 NSString 的一部分

objective-c - 使用 [PFFFacebookUtils initializeFacebookWithApplicationLaunchOptions :launchOptions] (semaphore_wait_slow trap) 解析自 Facebook 4.0.x 以来的登录挂起