如何反向查找本地化字符串
How can I reverse lookup a localized string
我有兴趣在屏幕上查找给定文本的本地化字符串键。
这可能吗?
例如在一个人为的例子中:
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"
正如nburk所说,在某些情况下你可以这样做,但在其他情况下你不能这样做:
- 有可能不同的键指的是同一个字符串。您无法找出哪个密钥是原始密钥。
- 屏幕上的字符串可以包含通过
%…
粘贴到字符串中的数据。那样你就找不到字符串了。
你为什么要这样做?
我有兴趣在屏幕上查找给定文本的本地化字符串键。
这可能吗?
例如在一个人为的例子中:
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"
正如nburk所说,在某些情况下你可以这样做,但在其他情况下你不能这样做:
- 有可能不同的键指的是同一个字符串。您无法找出哪个密钥是原始密钥。
- 屏幕上的字符串可以包含通过
%…
粘贴到字符串中的数据。那样你就找不到字符串了。
你为什么要这样做?