我正在本地化我的应用程序并在我的代码中添加NSLocalizedString()
,这些字符串将显示在屏幕上。问题是我有一个UIPickerview
显示12项,我想本地化它,而不是在核心数据中添加不同的语言字符串。 这就是我现在返回的标题。我如何本地化它?我如何本地化uipickerview的标题/文字
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.items objectAtIndex:row];
}
这是否正常工作?
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *localizedTitle = [NSString stringWithFormat:NSLocalizedString(@"%@", @"Item Name"),[self.items objectAtIndex:row]];
return localizedTitle;
}
我应该只有Localizable.strings文件中所有项目的列表?
在此先感谢!
感谢您的回复!我不想使用核心数据进行本地化。我只想使用Localizable.strings进行本地化。这些单词将在应用程序中的很多不同位置使用,并且希望将其设置一次,并且不会在每种语言的核心数据中具有不同的表格 – Yan
然后,最简单的方法是使Localizable.strings有这样的命令:picker_1_0 =“some_value”; picker_2_0 =“some_value”等。然后当UIPickerView的dataSource调用 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)组件方法你用这种方式本地化NSLocalizedString(“”, NSString stringWithFormat:@“picker_%d_%d”,row,component]); 以这种方式使用它,您将拥有UIPickerView需要的方式订购的按键。 –
这是否意味着所有的采集器将具有从字符串文件中获取的相同值? – Yan