在什么情况下的VoiceOver会自动在iOS应用程序切换语言

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

我的手机设置为EN_US为系统的语言,我已经加入瑞典和法国的VoiceOver的转子语言。

添加语言后,我发现,旁白/组合的Safari浏览网页,其中包含文件语言设置时自动启动适当的语言。

检查我已经安装了各种非英语AppStore的应用程序后,他们中的一个触发,当我打开它的屏幕阅读器的自动语言变化。

我用一个很简单的iOS应用的语言和本地化设置实验,看看我是否可以触发这种开关。该应用程序包含一个UILabel单个视图控制器,在故事板编辑器创建的。

我试图在Info.plist中改变“本土化本土发展区”的价值。瑞典不适用于在图形编辑器的下拉,所以我用“开放式源代码”改变了它。这只是读取标签瑞典就好像它是英文文本,那就是,无论从什么都不做区别。

然后我试图编辑project.pbxproj的ahbou's solution,更换为“en”与“SV”的引用。我重新部署以及与此变化,但它没有什么区别。

我尝试了添加第二个非英语语言环境,并与检查和取消选中“使用基地本土化”的选项,但这并不有所作为无论是。

随着周围所有的faffing,它很简单没有在瑞典启动,但转动转子回来后,我从来没有能够再次触发的变化。

它发生,我认为有可能是从Xcode的部署和部署IPA之间的差异,所以我试过了,没有运气。

我想看到的,如果我能引发非最小的应用程序,它不依赖于故事板,并定位于英语和瑞典语VoiceOver的语言变化。如果我通过Xcode的部署,“应用程序语言”设置为瑞典和“应用区”,以瑞典引起的VoiceOver在瑞典启动了应用程序,但只设置应用程序语言之前编辑的模式不。

在着眼于应用商店应用我已经安装触发瑞典的讲话,它看起来像应用程序可能是网页内容的Web视图中显示。即使是这样的话,它工作的事实表明,就必须有某种方式来触发一个标准的iOS应用程序的自动切换。

感谢任何想法!

----编辑周三2019年2月6日----

我尝试了每席的有益的建议的accessibilityLanguage设置。设置在UIApplication的语言做它传播到应用程序中的所有元素。我修改了应用程序的委托,如下所示:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        application.accessibilityLanguage = "sv"
        return true
    }

需要注意的是isAccessibilityElement的值为false默认情况下,UIApplication的(不像用户通常期望看到或与之交互的组件)。这是没有必要将其更改为true,以使语言设置申请,而我不知道更改它的价值将是什么,因为用户不与应用程序直接交互。我曾尝试将其设置为true,这似乎并没有任何区别,只要VoiceOver的关注。

ios xcode locale voiceover
1个回答
0
投票

你可以用任何辅助元素上的accessibilityLanguage属性更改的VoiceOver的语言。它在UIAccessibility补充NSObject记录。

我想这也影响到所有的子元素,所以你应该只需要设置它为您的应用程序窗口。

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