如何在 Flutter 应用程序中翻译 iOS 上的位置服务请求对话框

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

我想在多语言的 Flutter 应用中使用定位服务。这一切都没有问题并且工作正常,除了 iOS 中位置服务使用请求的翻译。出于某种原因,无论我尝试什么,所使用的语言仍然是基本语言(英语)。不仅仅是我通过 NSLocationWhenInUseUsageDescription info.plist 条目提供的额外字符串,还有完整的对话框。

我已经通过 Project Runner > 信息选项卡 > 本地化添加了语言

我在 info.plist 文件 Localizations 键中添加了语言。

设置了上面提到的info.plist文件中的NSLocationWhenInUseUsageDescription键

我在 lproj 目录中为每种语言都有单独的 InfoPlist.strings 文件,每个文件都有一个 NSLocationWhenInUseUsageDescription 键的条目。

当我运行应用程序(模拟器或真实设备)时,我可以按预期更改应用程序设置中的语言,并且应用程序会更改语言。所有字符串都按预期翻译,但当我第一次访问定位服务时,请求权限的对话框仍然是英文。我检查了不同的字符串,它使用了 Base.lproj/InfoPlist.strings 文件中的条目。为什么它不能识别正确的语言设置?

检查下面的评论后编辑:当设备语言改变时对话框改变语言(不是应用程序)。但是,包含的应用程序信息字符串仍然是 base.lproj/InfoPlist.strings 文件中的字符串,而不是特定语言字符串。如何改变它?

ios flutter localization translation location-services
© www.soinside.com 2019 - 2024. All rights reserved.