这是场景。我在应用程序中有一组设置。例如,将我的应用视为视频播放器。因此,有允许全屏,显示字幕等设置。所有这些设置都有布尔值,因为您可以打开或关闭它们。
这些设置应在表格视图中显示在应用内部。如果其中任何一个被激活或用户点击它们激活/停用,您可以通过设置该单元格的复选标记附件视图来显示它。
由于我需要以这种方式显示设置,并且只在应用程序中显示,因此我不能简单地使用设置包。还有一个问题。我需要对这些设置进行本地化。
我最初的想法是为我支持的语言单独使用plist。
Settings_en.plist (英文)
Settings_sv.plist (瑞典语)
然后根据系统语言获取plist名称并显示其值。
let filePath = NSBundle.mainBundle().bundlePath.stringByAppendingPathComponent(NSLocalizedString("SETTINGS_PLIST", comment: ""))
但这并不理想,因为我说我用瑞典语运行并且我将字幕设置改为开启。现在我必须在两个plists中更新它。如果我将来添加更多语言,这将很快变得更加混乱。
是否有更好的方法来存储更容易保存和获取的设置,还支持本地化?
答案 0 :(得分:0)
我能在其他地方找到答案。以下是解决此问题的步骤。
Localizable.strings(英文)
FULL_SCREEN =“全屏”;
SUBTITLES =“字幕”;
Localizable.strings(瑞典语)
FULL_SCREEN =“Helskärm”;
SUBTITLES =“Undertexter”;
let setting = settings[indexPath.row] as [String: Bool]
let title = setting.keys.first
cell.textLabel?.text = NSLocalizedString(title!, comment: "")