我了解到,我可以使用标准的iOS本地化机制来获得本地化的NSLocationAlwaysUsageDescription文本。 由于我们正在使用自定义动态本地化机制,我想知道是否有另一种方法来翻译该字符串。 我考虑在应用程序启动时编辑应用程序info.plist文件,但它似乎是只读的。
我能否从应用程序内部更改此值?
我了解到,我可以使用标准的iOS本地化机制来获得本地化的NSLocationAlwaysUsageDescription文本。 由于我们正在使用自定义动态本地化机制,我想知道是否有另一种方法来翻译该字符串。 我考虑在应用程序启动时编辑应用程序info.plist文件,但它似乎是只读的。
我能否从应用程序内部更改此值?
有一种方法。添加一个名为“InfoPlist”的新字符串文件。然后在属性检查器中使用本地化按钮进行本地化,并向InfoPlist的键添加本地化。要本地化CLLocation权限的描述,在每个版本中添加适当的键和本地化值。
//English file
"NSLocationAlwaysUsageDescription" = "English description";
_
//Polish file
"NSLocationAlwaysUsageDescription" = "Polski opis";
使用info.plist字符串无法使用自定义本地化系统。
您的应用程序必须使用iOS默认的本地化机制。
以下是如何使用iOS内置的字符串文件本地化系统来本地化位置请求描述的方法。
// English.strings file
"NSLocationAlwaysUsageDescription" = "English description";
// AnotherLanguage.strings
"NSLocationAlwaysUsageDescription" = "ajbdknfuied wibnrf";
编辑: 对于所有给我点踩的人。这个问题是关于使用自定义的"本地化系统"。他们明确表示不想使用内置的本地化系统,而是使用他们自己定制的。这就是为什么我说这是不可能的。
本地化NSLocationAlwaysUsageDescription
是完全可以做到的。但如果要使用你自己的本地化系统去实现它就不行。