如何反向查找本地化字符串

时间:2015-07-12 07:22:48

标签: ios objective-c nslocalizedstring nslocale

我有兴趣在屏幕上找到给定文本的本地化字符串键。

这可能吗?

例如在一个人为的例子中:

UILabel *label = [[UILabel alloc] initWithFrame:frame];
label.text = NSLocalizedString(@"The key for this label",nil);

// at runtime

UILabel *theLabel = ... // get the label
NSString *text = theLabel.text; 
NSLog(@"%@",text); // prints "Foo bar"

// now I want to get the key:

NSString *localizedKey = ???? NSLocalizedStringReverseLookup(text) 
NSLog(@"%@",localizedKey); // should print "The key for this label"

1 个答案:

答案 0 :(得分:0)

你可以在某些情况下这样做,正如nburk所说,但你不能在其他情况下这样做:

  • 不同的密钥可能指的是同一个字符串。你无法找到原来的钥匙。
  • 屏幕上的字符串可以包含通过%…粘贴到字符串中的数据。那时你找不到字符串。

你为什么要这样做?