如何快速实时本地化故事板?

11

我正在尝试使用Swift 3和Xcode 8.1本地化我的应用程序。

我正在尝试使用故事板(main.strings(德语))以及通过"NSLocalizedString"进行编程本地化应用程序。

我能够使用以下代码通过"NSLocalizedString"进行编程本地化。

func localized(lang:String) ->String {

        let path = Bundle.main.path(forResource: lang, ofType: "lproj")
        let bundle = Bundle(path: path!)

        return NSLocalizedString(self, tableName:  nil, bundle: bundle!, value: "", comment: "")
    }

但我卡在了在storyboard中定义的本地化上。我已经在main.strings(德语)中定义了本地化字符串。

/* Class = “IBUILabel”; text = “Date :”; ObjectID = “0sh-CK-26C”; */
“0sh-CK-26C.text” = “Datum :”;

有没有办法在运行时本地化Storyboard?

1个回答

9

我认为,本地化Storyboard的最佳方法是:

首先,在本地语言中完成设计工作,然后将Storyboard本地化为所需的语言。然后导出.xliff文件并替换所需语言中的所有文本。然后再将.xliff文件导入到您的项目中。

这样就完成了!


1
谢谢您。但是我应该如何在运行时更改Storyboard的语言(例如,在按钮点击时)? - New iOS Dev
如果您想在单击按钮时执行此操作,则只能从代码中执行。您无法实时更改故事板。如果要更改故事板,则必须重新启动应用程序。 - Krishna Datt Shukla
哦,明白了。您能否分享一下如何在按钮点击时更改Storyboard的语言...考虑重新启动的情况。 - New iOS Dev
谢谢。我们可以通过编程重新启动应用程序吗? - New iOS Dev
让我们在聊天中继续这个讨论 - Krishna Datt Shukla
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接