我尝试做本地化。它的工作正常,但在这里,我在UIAlertView中遇到了问题。它不适用于超过一个字符串,但我需要保留多个字符串AlertView OtherButton标题。
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"AlertTitle", @"")
message:NSLocalizedString(@"AlertMessage", @"")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"AlertCancel", @"")
otherButtonTitles:NSLocalizedString(@"AlertOk", @""), nil];
答案 0 :(得分:1)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%@",NSLocalizedString(@"AlertTitle",nil)] message:[NSString stringWithFormat:@"%@",NSLocalizedString(@"AlertMessage",nil)] delegate:nil cancelButtonTitle:[NSString stringWithFormat:@"%@",NSLocalizedString(@"AlertCancel",nil)] otherButtonTitles:[NSString stringWithFormat:@"%@",NSLocalizedString(@"AlertOk",nil)], nil];
答案 1 :(得分:1)
尝试以下代码。
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"AlertTitle", nil) message:NSLocalizedString(@"AlertMessage", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Cancel", nil) otherButtonTitles:NSLocalizedString(@"Change Password", nil), NSLocalizedString(@"Profile", nil), NSLocalizedString(@"log out", nil), nil];
[alertView show];
答案 2 :(得分:0)
为了简化所有NSLocalizedString调用,我使用了这个技术
#define Trad(string, ...) [NSString stringWithFormat: NSLocalizedString(string, nil), ##__VA_ARGS__]
然后您可以像这样创建AlertView:
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:Trad(@"Title")
message:Trad(@"Message")
delegate:nil
cancelButtonTitle:Trad(@"Cancel")
otherButtonTitles:Trad(@"Button1"),
Trad(@"Button2"),
Trad(@"Button3"), nil];
#define语句不是必需的,它的唯一目的是简化代码。