好的,我正式大吃一惊.我不久前开始了一个
IOS项目,并且在开始的时候稍微处理了本地化,这变得有点乱,因为我还不知道如何正确地做到这一点.
现在我决定从头开始进行本地化,因此丢弃了所有的.strings文件,并创建了一个合适的多语言结构.我从空的Localizable.strings文件开始,然后运行应用程序以查看我是否正确清理了所有内容.使用空的Localizable.string文件,我假设我的“NSLocalizedString”调用只是将键作为文本返回.他们没有.他们仍然返回旧的.strings文件中的旧文本.
为了确保,我在一个NSLocalizedString调用下放置了一个NSLog语句,如下所示:
NSString *text = NSLocalizedString( key,nil ); NSLog(@"key=%@ text=%@",key,text);
然后我在整个硬盘上搜索返回的文本.我的硬盘上没有文件包含NSLocalizedString返回的字符串.它与键完全不同,因此NSLocalizedString也无法构造它.
谁知道这会怎么样?旧信息是否由XCode缓存在某处?如何说服该工具使用新的Localizable.strings文件?显然,我已经“清理”并重建了整个项目.