Да, ваше решение хорошо (и я видел, что оно реализовано именно так для многих приложений). Вам нужен базовый одноэлементный класс, который будет реализовывать словарь и будет возвращать правильную строку при запросе имени локализованной строки.
Как минимум, вам, вероятно, понадобится
какой-то конструктор для чтения в локализованных строках.
метод setLanguage (String language) для установки текущего локализованного языка.
метод getLocalizedString: (поле String) для получения локализованной строки для текущего языка.
Вот базовая реализация заголовка:
@interface LocalizedString : NSObject
+ (void)setLanguage(String language);
+ (void)getLocalizedStringForField(String field);
static current_language;
@end