В документации Django говорится:
Предостережение с использованием переменных или вычисленных значений, как в предыдущем два примера: утилита Django для обнаружения строк перевода, django-admin.py makemessages, не сможет найти эти последовательности.
Это нормально для меня, я готов предоставить переводы для всех возможных значений переведенной переменной вручную. Но как это сделать?
Допустим, у меня в шаблоне такой код:
{% trans var %}
var извлекается из базы данных, и я знаю все возможные его значения - допустим, возможные значения - «Алиса» и «Боб».
Я думал, что все, что мне нужно сделать, это предоставить следующие записи:
msgid "Alice"
msgstr "Alicja"
в django.po файл. К сожалению, всякий раз, когда я запускаю djangoadmin makemessages после этого, эти записи комментируются:
#~ msgid "Alice"
#~ msgstr "Alicja"
Что я делаю неправильно? Я неправильно понял идею перевода вычисленных значений?
-121--1087092- Я не могу получить доступ к своему NSMuterArray в didStartRowAtIndexPath
, хотя я могу получить доступ к нему в cellForRowAtIndexPath
.
Вот мой код: -
- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"drinks" ofType:@"plist"];
self.drinkArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSLog(@"%@", self.drinkArray);
[super viewDidLoad];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
NSLog(@"I am inside cellForRowAtIndexPath");
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
NSDictionary *dict = [self.drinkArray objectAtIndex:indexPath.row];
cell.textLabel.text = [dict objectForKey:@"name"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
[dict release];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DrinkDetails *detailViewController = [[DrinkDetails alloc] initWithNibName:@"DrinkDetails" bundle:nil];
// ...
// Pass the selected object to the new view controller.
//detailViewController.drink = [self.drinkArray objectAtIndex:indexPath.row];
NSLog(@"%@", self.drinkArray);
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
Когда-то NSLog печатает глупые выходные данные и когда-то выдает ошибку «» EXC_BAD_ACCESS.
Посмотрите и проверьте, что не так с моим кодом.
Любая помощь будет оценена.
Спасибо.