我正在尝试设置我的Xcode项目来生成我相信我想要翻译成每种语言的XLIFF,以发送到translating service以翻译我的应用程序。我想跟随this tutorial,但我仍然在努力。
当添加一种语言翻译成我的故事板时,创建了一个.strings文件,并从我的故事板中取出了所有文本并将其放入.strings文件中并自动完成。
现在我试图让它在我的Swift文件中用于字符串。例如,我在我的代码中将"Error"
更改为NSLocalizedString("error", tableName: nil, bundle: Bundle.main, value: "Error", comment: "Error Alert Controller Title")
。
问题是它不会像故事板那样创建任何.strings
文件。因此,当它试图去Editor > Export For Localization
它给我一个错误说Localization failed to read a strings file
。
有想法该怎么解决这个吗?我假设我可以手动创建.strings
文件,但这似乎是一个巨大的痛苦,似乎应该有一个更简单的方法。
是的,有一种生成字符串文件的方法。
打开Mac的终端应用程序,然后切换到项目的ViewController.swift
文件所在的目录。
现在运行此命令:
genstrings -o en.lproj *.swift
这意味着:读取所有Swift文件以获取本地化字符串,然后将它们写入英语项目的本地化字符串文件。
它将列出您使用NSLocalizedString
在代码中编写的所有字符串。