1

国際化の目的でNSLocalizedString、配列内に配置しようとしました。各写真に関連する情報を含むランダムな写真があります。英語で動作します。マクロで動作しません。何が問題なのですか?

- (void)showimage
{
 int randomimages = arc4random() % 7+1;

 self.rahmen.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",randomimages]];

/*    text without the local.strings worked perferct

 self.myStrings = [NSArray arrayWithObjects:
 @" info 0, nothing",
 @" info 1 english",
 @" info 2 english",
 @" info 3 english",
 @" info 4 english",
 @" info 5 english",
 @" info 6 english",
 @" inf0 7 different english",nil];
 */

//here I wanted to put the different strings for internationalzation

self.myStrings = [NSArray arrayWithObjects: NSLocalizedString
                   (@"info0",
                    @"info1",
                    @"info2",
                    @"info3",
                    @"info4",
                    @"info5",
                    @"info6",
                    @"info7",nil)
                  ];                                                 
label.text=[self.myStrings objectAtIndex:randomimages];
}
4

2 に答える 2

1

これを試してみてください

self.myStrings = [NSArray arrayWithObjects:
    NSLocalizedString(@"info0",nil),
    NSLocalizedString(@"info1",nil),
    NSLocalizedString(@"info2",nil),
    nil];
于 2015-01-20T12:49:21.930 に答える
0

このNSLocalizedStringマクロは、ローカライズされていない文字列とコメントの 2 つの引数を取ります。それだけです。配列で呼び出して、魔法のように配列を返すようにすることはできません。目的を達成するには、ローカライズされていない各文字列をこのマクロでラップする必要があります。

于 2013-05-25T12:42:40.067 に答える