Технические вопросы и ответы QA1544

Получение локализованного приложения называет в Какао

Q: Как я могу получить локализованное имя своего приложения Какао?

A: Как я могу получить локализованное имя своего приложения Какао?

Существует несколько различных версий имени приложения, все из которых легко доступны как NSString. В зависимости от какого Вам нужно, можно использовать один из следующих пяти подходов:

Каноническое «короткое» имя приложения определяется CFBundleName и используется меню и о поле.

Перечисление 1  , Получающее краткое название приложения от основного пакета.

 NSString *appName =          [[[NSBundle mainBundle] localizedInfoDictionary] objectForKey:(NSString *)kCFBundleNameKey];

Каноническое «имя дисплея приложения» обычно более длинно и используется Средством поиска для отображения пакета.

Перечисление 2  Получая имя дисплея приложения.

 NSString *appName =          [[[NSBundle mainBundle] localizedInfoDictionary] objectForKey:@"CFBundleDisplayName"];

Обратите внимание на то, что для обоих из этих предыдущих методов возможно возвратиться nil. Если они делают, жизнеспособный подход должен сделать то, что значение по умолчанию о поле делает и просто использует само имя процесса.

Перечисление 3  , Получающее имя процесса.

 NSString *appName = [[NSProcessInfo processInfo] processName];

Начиная с Mac OS X 10.6, можно теперь использовать NSRunningApplication получить имя локализованного приложения.

Перечисление 4  Получая использование имени локализованного приложения NSRunningApplication.

 NSString *appName = [[NSRunningApplication currentApplication] localizedName];

Вероятно, наиболее общий подход, однако, должен спросить NSFileManager. Метод displayNameAtPath: возвратит локализованное имя дисплея, если оно будет существовать, возвратитесь к имени пакета, если оно не делает и даже отразит переименование приложения пользователем.

Перечисление 5  Получая общий дисплей называет от NSFileManager.

 NSString *bundlePath = [[NSBundle mainBundle] bundlePath];     NSString *appName = [[NSFileManager defaultManager] displayNameAtPath: bundlePath];

Для получения дополнительной информации см. Обзор Файловой системы: Имена Дисплея и раздел «Localizing Your Application Name» в Темах Программирования Интернационализации: Локализация Путей.



История версии документа


ДатаПримечания
27.10.2009

Фиксированная опечатка в листинге кода 5. Добавленная информация о NSRunningApplication для Snow Leopard (листинг кода 4)

21.09.2007

Новый документ, описывающий, как получить несколько версий имени приложения в Какао.