Swift 中的本地化

Posted

技术标签:

【中文标题】Swift 中的本地化【英文标题】:Localization in Swift 【发布时间】:2016-05-20 09:19:52 【问题描述】:

我的应用程序有两种语言。 一个是英文,一个是中文。 当我关闭英文然后按返回按钮时,其他页面不会自动翻译成中文。 只有当我们下拉页面进行刷新时它才会改变。 我不知道它是怎么发生的。 请解释我如何实现它。

【问题讨论】:

【参考方案1】:

如果页面已经加载到内存中,当您返回页面时,标签的文本将不会更新。

所以 yin 有两种选择:

    创建一个设置方法,当viewWillAppear时会调用该方法

    +易于实施 - 即使没有变化也会被调用

    创建注册通知的自定义组件。当您更改语言时,触发通知

    + 这将仅在需要时执行操作 - 实现起来有点复杂

您也可以混合使用这两种方法,发布一个通知,该通知将在所有加载的控制器上调用setup 方法。

【讨论】:

我应该在 Language.swift 中或在该视图页面之前在哪里实现该 viewWillAppear 代码? 受不了你的 VC,这就是为什么第二种方法更好,即使更难实现

以上是关于Swift 中的本地化的主要内容,如果未能解决你的问题,请参考以下文章

Swift 用户交互翻译,本地化代码中的字符串

swift中的本地通知警报声

如何在 Swift 中的 UIWebView 中加载本地 PDF

从 Swift 3 中的锁定屏幕清除本地通知

如何使本地通知操作直接删除 Swift 中的待办事项

Swift 中的本地通知在 iOS 7 上崩溃