未从Main.Storyboard加载的翻译(英语)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未从Main.Storyboard加载的翻译(英语)相关的知识,希望对你有一定的参考价值。

我的ios应用程序面临的问题是,故事板中自动翻译的所有文本,标题,标签都不是。同时,使用NSLocalizableStrings通过我的Swift代码翻译的所有文本,标题,标签都运行良好。

这是我的环境:

  • Xcode v 9.4.1
  • 发展语言:英语
  • 本地化,英语 - 本地化的6个文件
  • 开发语言:法语 - 本地化了2个文件(此行低于另一个,对吗?)

Main.Storyboard包括:

  • Main.Storyboard(Base)
  • Main.strings(英文),包含所有英文翻译

.strings文件是正确的,包含NSLocalizable函数的翻译

  • 我已完成Export for Localization以获取en.xliff文件
  • 在文件中,它表示source = fr和target = en,这很好
  • 我在en .xliff文件中翻译了标签,标题,文本等
  • 我使用en .xliff文件完成了导入本地化

为了测试本地化,我执行Edit Scheme / Run,将Application Language设置为English,将Application Region设置为System Region

我所看到的 :

无论视图如何,所有要由Swift代码中的NSLocalizableString函数翻译的文本都会按预期正确翻译和显示。好

但是,故事板自动翻译的所有文本仍然以法语显示。所有这些(查看标题,按钮,标签等)。看起来好像没有读取Main.strings(英文)。

最后一部分应该是直截了当的,不是吗?

我已经删除了三次英语并重做完整的本地化过程,没有任何效果。

我的备份解决方案是将所有翻译移动到Swift代码中,而不是利用故事板自动翻译,但老实说这并不令人兴奋。

任何线索?有帮助吗?非常感谢

答案

问题:如果您创建Localization StoryBoard。之后你会添加一些标签或按钮然后在本地化故事板中不可用。

解决方案:从项目中删除完整的本地化故事(<YourStoryBoardName> .String)。不要仅删除参考。

打开en.lproj> <YourStoryBoardName> .String并删除。为其他语言执行此操作然后再次创建此项,您将在本地化中找到所有按钮和标签

重要的提示:

通过删除您的所有本地化字符串将删除所以首先做备份。

以上是关于未从Main.Storyboard加载的翻译(英语)的主要内容,如果未能解决你的问题,请参考以下文章

ios - Xcode 9.4.1 在 main.storyboard 中卡住加载

英语Preserve log怎么翻译?

storyboard的使用

MacOS-MacAPP通过纯代码不依赖storyboard/xib加载UI主界面

SDWebImage 库未从缓存加载图像

main.storyboard 和 launchscreen.storyboard 有啥区别? [复制]