如何本地化启动屏幕

Kal*_*pit 17 localization

我已经本地化LaunchScreen.xib,通过它,LaunchScreen分为两部分.

LaunchScreen.xib(英文)LaunchScreen.xib(葡萄牙语),但当我将设备语言更改为葡萄牙语时LaunchScreen.xib(English),也会加载.

Ven*_*ari 36

  1. 从项目中的"添加新文件"菜单中为每种语言添加多个"LaunchScreen.storyboard".(让我们说西班牙语 - 启动Screen_sp)

  2. 将身份检查器菜单中的"Info.plist"本地化为InfoPlist.strings(Base),InfoPlist.strings(西班牙语),以用于您要使用的每种语言.

  3. 现在作为示例:在InfoPlist.strings(西班牙语)中添加以下键:

    "UILaunchStoryboardName"="LaunchScreen_sp";

你完成了 不要忘记在项目的"常规"设置中将"LaunchScreen"设置为启动屏幕文件.

  • @PICyourBrain这种方法有一个限制,它首先在语言方面采用动态启动屏幕,但如果你之后改变语言它就不起作用. (4认同)
  • 这实际上并没有实现本地化的LaunchScreen.如果您明确修改plist以使用LaunchScreen_sp,则表示"始终使用西班牙语启动屏幕"而不是"在西班牙语国家时使用西班牙语启动屏幕".我相信发布屏幕会作为PNG缓存在引擎盖下.最初在WWDC上呈现该功能的方式暗示了这一点:"使用iOS 8,您现在可以提供Interface Builder文档,并在运行时让操作系统为您生成所有必需的启动映像." 因此,我认为本地化是不可能的. (2认同)
  • 这对我来说确实有用。该应用程序将显示 Launch_Screen_sp,然后显示 Launch_Screen_base。(Xcode 12.2 和 iOS 14.2) (2认同)

sam*_*ize 21

答案是:您无法本地化启动屏幕

人机界面指南中,他们指出:

避免在启动屏幕上包含文字.由于启动屏幕是静态的,因此任何显示的文本都不会本地化.

文本无法本地化.

那图像怎么样?

我尝试过本地化,截至2017年4月,我认为本地化不起作用.本地化的故事板将被忽略.

  • 存在一些黑客,但最好的答案应该是“您不应该本地化启动屏幕” (2认同)

Jar*_*edH 6

正如用户:Samewize 指出的那样,用户界面指南建议不要在启动屏幕上本地化文本。

避免在启动屏幕上包含文本。由于启动屏幕是静态的,因此不会对任何显示的文本进行本地化。

添加到,截至9月2019年,即使有资产目录的本地化(WWDC 2019视频),我一直无法定位出现在启动屏幕上的图像。我假设启动屏幕是静态生成的,不考虑本地化。