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

问题描述 投票:0回答:1

我的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代码中,而不是利用故事板自动翻译,但老实说这并不令人兴奋。

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

ios xcode localization storyboard localizable.strings
1个回答
0
投票

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

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

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

重要的提示:

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

© www.soinside.com 2019 - 2024. All rights reserved.