Зміна мови на симуляторі iOS 8.1 не працює


76

Якщо я зміню мову на симуляторі iOS 8.1 на що-небудь і спробую виявити це за допомогою коду

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);

Я повертаюся "en". Я спробував скинути налаштування навігатора тощо. Я спробував це за допомогою середовища виконання iOS 7.1 (у Xcode 5.1.1), і це спрацювало нормально. Хтось зумів знайти спосіб вирішення цієї проблеми?


Ви повинні повідомити про це помилку.
dasdom

Перегляньте розділ "відомі помилки" у примітках до випуску.
Кевін

1
На даний момент ця помилка симулятора використовується за допомогою Xcode версії 6.1 (6A1052d) та запуску OSX Ver 10.9.5. Правильний код повертає en на симуляторі з мовою, встановленою китайською (спрощеною), тоді як фактичний iPad повертає "zh-Hans", як очікувалося. Спробуємо оновити до OS-X X.
Гаррі

1
Після оновлення моєї машини розробника до Йосеміті, продовжуйте правильно працювати симулятор 7.1, 8.1 продовжує виходити з ладу.
Гаррі

1
Це, безумовно, все ще не вдається для мене в симуляторі 8.1.
Estel

Відповіді:


167

Згідно з примітками до випуску, це відома проблема. Є робота навколо. Якщо ви перейдете до "Редагувати схему ...", то на вкладці "Параметри" з'явиться опція "Мова програми". Це впливає лише на поточні налаштування запуску, а не на додаток, подібно до зміни мови пристрою.

введіть тут опис зображення


3
Працює для додатків, але, мабуть, не для розширень.
Koraktor

3
Це потрібно прийняти як відповідь. Незважаючи на те, що він не пропонує виправлення помилки симулятора iOS, це те, що Apple повинна зробити, але ця відповідь пропонує найкраще обхідне рішення для запуску ваших програм локалізовано. ІМХО, такий підхід набагато кращий, якщо вам потрібно лише запустити програму локалізовано і не піклуватися про зміну мови системи в симуляторі.
i4niac

Це швидше, ніж зміна мовних налаштувань у Simulator - приємно!
Спеціальні бонбони

2
Ця робота для мене лише частково. Локалізація
раскадровки

Замість того, щоб встановлювати конкретну мову, використовуйте "System Language". Це інший варіант тут. Це зробить мову симулятора дійсною.
snoersnoer

1

Інший обман iOS8.1 Simulator завжди використовує розкладку клавіатури США, незважаючи на німецьку апаратну клавіатуру

Відома та задокументована помилка, згадана у примітках до випуску Xcode 6.1. Подайте радар, якщо хочете додати свій +1 до списку скарг на http://bugreport.apple.com


1

Мій симулятор - французькою мовою. Коли я хочу перевірити інтерфейс англійською мовою, тоді зміни мови iphone недостатньо. Мені потрібно переключити налаштування регіону мінімум два рази.



0

У моєму випадку схема редагування працює для регіону, але не для мови. Це виглядає перезаписаним мовою розробки. Зміна developmentRegion чудово працює з project.pbxproj, як це.

developmentRegion = ja;

введіть тут опис зображення

Версія Xcode 11.3.1 (11C504)

iPhoneX iOS 13.3.1

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.