изменить язык моего приложения IPHONE в настройках приложения без изменения языка устройства

Я хочу сделать язык изменяемым из настроек приложения. Для этого я сделал settings.bundle и заставил язык использовать этот код Как заставить NSLocalizedString использовать определенный язык, я также установите для UIApplicationExitsOnSuspend значение YES, чтобы мое приложение перезагружалось каждый раз, когда оно переходит в фоновый режим. Это частично сработало для меня, но у меня есть 2 проблемы: - Заставка (которая локализована) не меняется с помощью этого метода. - Я должен дважды войти/вернуться, чтобы смена языка вступила в силу в приложении Views, и это только в OS 4 и выше.

Есть ли у кого-нибудь решение для этого?


person marouen    schedule 30.12.2010    source источник


Ответы (3)


Для этого вам нужно создать собственную структуру перевода! Извини !

person VdesmedT    schedule 30.12.2010
comment
Спасибо VdesmedT за ваш ответ. Думаю, я перестану исследовать это решение. - person marouen; 30.12.2010

К сожалению, нет встроенного способа. Вероятно, проще всего было бы интегрировать такой сервис, как GetLocalization.com, чтобы ваше приложение загружало языковой файл через API ( тогда легко добавить новые языки и переводы, даже если приложение уже выпущено). Тогда вам нужен простой загрузчик, который загружает этот языковой файл в память, и функция, которая заменяет исходную строку переведенной во время выполнения. Вы можете вычислить хэш для исходной строки, чтобы их можно было быстро найти, хорошим алгоритмом для этого является hashPJW Питера Вайнбергера.

person petteri    schedule 30.12.2010
comment
Спасибо, Петтери, за ответ. Это вариант, о котором я не задумывался. Но, по крайней мере, теперь я уверен, что решение, которое я начал, — это тупик. - person marouen; 30.12.2010

Хитрость использования определенного языка путем выбора его из приложения заключается в том, чтобы заставить NSLocalizedString использовать определенный пакет в зависимости от выбранного языка,

вот сообщение, которое я написал для этого http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html

а вот код одного примера приложения https://github.com/object2dot0/Advance-Localization-in-ios-apps

person object2.0    schedule 01.05.2011