Вы можете иметь несколько строковых таблиц для любого заданного языка (то есть нескольких .strings
файлов). Когда вы хотите локализованную строку, вы можете получить ее через:
NSString *str;
// Look up string in Full.strings
str = [[NSBundle mainBundle] localizedStringForKey:@"SomeKey"
value:@"DefaultValue"
table:@"Full"];
// Look up strings in Lite.strings
str = [[NSBundle mainBundle] localizedStringForKey:@"SomeKey"
value:@"DefaultValue"
table:@"Lite"];
Поскольку таблица для этого метода может быть переменной, вы даже можете переключать ее во время выполнения. Выше предполагается, что у вас есть таблица Full.strings
и таблица Lite.strings
.
Full.strings
"SomeKey" = "This string appears in the full version";
Lite.strings
"SomeKey" = "This string appears in the lite version";
Возможно, вы не захотите отправлять их вместе, если это так, вы можете настроить свой Info.plist так, чтобы он содержал имя таблицы, используемой для конкретной цели (если вы добавляете запись с именем "TableToUse"
, вы можно получить через [[[NSBundle mainBundle] infoDictionary] objectForKey:@"TableToUse"]
)