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

时间:2018-06-22 21:19:56

标签: ios xcode localization storyboard localizable.strings

我的IOS应用程序面临的问题是,要在情节提要中自动翻译的所有文本,标题和标签都没有。同时,所有要由我的Swift代码使用NSLocalizableStrings翻译的文本,标题,标签都可以正常工作。

这是我的环境:

  • Xcode v 9.4.1
  • 开发语言:英语

  • 本地化,英语-已本地化6个文件

  • 开发语言:法语-2个文件已本地化(此行在另一个下方,对吗?)

Main.Storyboard包括:

  • 主故事板(基本)
  • Main.strings(英语),其中包含所有英语翻译

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

  • 我已经完成了本地化导出以获取一个en.xliff文件
  • 在文件中,它说source = fr和target = en,这很好
  • 我在.xliff文件中翻译了标签,标题,文本等
  • 我已经使用en .xliff文件完成了本地化导入

要测试本地化,我会进行“编辑方案/运行”,将“应用程序语言”设置为英语,将“应用程序区域”设置为“系统区域”

我所看到的:

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

但是,将由情节提要自动翻译的所有文本仍以法语显示。所有这些(查看标题,按钮,标签等)。看起来根本没有读取Main.strings(英语)。

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

我删除了三遍英语,并重新执行了完整的本地化过程,但没有任何效果。

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

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

1 个答案:

答案 0 :(得分:0)

问题: 如果您创建本地化StoryBoard。然后,您将添加一些标签或按钮,然后在本地化情节提要中将不可用。

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

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

重要提示:

  

通过删除所有本地化字符串将删除备份,删除备份也是如此   首先。