gpt4 book ai didi

iphone - 无论我尝试什么,CFBundleDisplayName 的本地化都不起作用

转载 作者:行者123 更新时间:2023-12-03 20:29:02 26 4
gpt4 key购买 nike

有人可以告诉我如何找到问题吗?我有一个名为“MyApp”的应用程序。我想将应用程序名称本地化为德语。我在主项目目录中有一个目录 de.lproj 。它包含一个文件 Localized.strings 并且工作正常。我添加了一个 InfoPlist.strings 文件,并在其中放置:

CFBundleDisplayName = "应用程序名称";

但它不会显示翻译名称,它保留在“MyApp”上。这是我迄今为止尝试过的:

  • 三重拼写和大小写检查
  • 全部清理
  • 从设备和中删除应用程序模拟器
  • 删除模拟器中的用户目录
  • 更改了 MyApp-Info.plist 中的英文应用程序名称 - 有效。
  • 重读我能在其中找到的所有内容苹果的文档和大量的谷歌搜索,证实了这一点它应该有效。

无论我尝试什么,应用程序名称都是来自 MyApp-Info.plist 的名称。我还将其记录在应用程序委托(delegate)中:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
NSString *prodName = [info objectForKey:@"CFBundleDisplayName"];
NSLog(@"Product Name:%@",prodName);
NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]);
NSLog(@"Current language: %@", currentLanguage);

输出是:

2010-12-08 12:51:00.886 MyApp[25148:207] Product Name:MyApp
2010-12-08 12:51:00.946 MyApp[25148:207] Current Locale: de_DE
2010-12-08 12:51:00.946 MyApp[25148:207] Current language: de

所以语言设置是正确的,但应用程序不会读取 InfoPlist.strings 文件?有什么想法如何从这里继续吗?

预先感谢您的回复。

最佳答案

就我而言,我的 Xcode 项目仅具有以下本地化内容:

  • 英语(开发语言)
  • 日语

(并选中“使用基础国际化”)

...但我的 InfoPlist.strings 文件仅具有以下本地化内容:

  • 基础
  • 日语

当我添加该文件的英文版本后,它就开始工作了。 在此之前,无论我尝试什么,应用程序图标都会显示目标名称(产品名称)。

我假设“Base”作为默认值(即“未明确支持的所有语言”),但实际行为似乎更复杂......

希望这对某人有帮助。

关于iphone - 无论我尝试什么,CFBundleDisplayName 的本地化都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4387294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com