Thay đổi ngôn ngữ trên trình mô phỏng iOS 8.1 không hoạt động


76

Nếu tôi thay đổi ngôn ngữ trên trình mô phỏng iOS 8.1 thành bất kỳ thứ gì và cố gắng phát hiện điều này từ mã bằng

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

Tôi nhận được "en" trở lại. Tôi đã thử đặt lại trình điều hướng, v.v. Tôi đã thử điều này bằng thời gian chạy iOS 7.1 (trong Xcode 5.1.1) và nó hoạt động tốt. Có ai quản lý để tìm ra một giải pháp cho vấn đề này?


Bạn nên gửi một lỗi về nó.
dasdom

Kiểm tra phần "lỗi đã biết" của ghi chú phát hành.
Kevin

1
Hiện có lỗi giả lập này bằng cách sử dụng Xcode Phiên bản 6.1 (6A1052d) và chạy OSX Ver 10.9.5. Mã đúng ở trên trả về en trên trình mô phỏng với ngôn ngữ được đặt thành tiếng Trung (giản thể) trong khi iPad thực tế trả về "zh-Hans" như mong đợi. Sẽ thử nâng cấp lên OS-X X.
harry

1
Sau khi nâng cấp máy nhà phát triển của tôi lên Yosemite, tiếp tục có trình mô phỏng 7.1 hoạt động chính xác, 8.1 tiếp tục bị lỗi.
harry

1
Điều này chắc chắn vẫn không thành công đối với tôi trong trình mô phỏng 8.1.
Estel

Câu trả lời:


167

Theo ghi chú phát hành đây là một vấn đề đã biết. Có một công việc xung quanh. Nếu bạn đi tới "Chỉnh sửa lược đồ ..." thì tab "Tùy chọn" sẽ có tùy chọn "Ngôn ngữ ứng dụng". Điều này chỉ ảnh hưởng đến cài đặt chạy hiện tại, không ảnh hưởng đến ứng dụng, giống như thay đổi ngôn ngữ của thiết bị.

nhập mô tả hình ảnh ở đây


3
Hoạt động cho các ứng dụng, nhưng dường như không cho các tiện ích mở rộng.
Koraktor

3
Đây phải được chấp nhận như một câu trả lời. Mặc dù nó không đưa ra bản sửa lỗi cho lỗi giả lập iOS, nhưng đó là những gì Apple phải làm, câu trả lời này cung cấp giải pháp tốt nhất để chạy ứng dụng của bạn được bản địa hóa. IMHO, cách tiếp cận này tốt hơn nhiều nếu bạn chỉ cần chạy ứng dụng của mình được bản địa hóa và không quan tâm đến việc thay đổi ngôn ngữ hệ thống trong trình mô phỏng.
i4niac

Điều này nhanh hơn so với việc thay đổi cài đặt ngôn ngữ trong Trình mô phỏng - thật tuyệt!
tùy chỉnh vào

2
Công việc này chỉ một phần đối với tôi. Bản địa hóa bảng phân cảnh hoạt động, nhưng không bản địa hóa chuỗi = \
CTiPKA

Thay vì đặt một ngôn ngữ cụ thể, hãy sử dụng "Ngôn ngữ Hệ thống". Đây là một tùy chọn khác ở đây. Điều này sẽ làm cho ngôn ngữ giả lập hợp lệ.
snoersnoer


1

Trình mô phỏng của tôi bằng tiếng Pháp. Khi tôi muốn kiểm tra giao diện bằng tiếng Anh thì thay đổi ngôn ngữ iphone là không đủ. Tôi phải chuyển đổi cài đặt vùng tối thiểu hai lần.


0

sử dụng [[NSLocale availableLocaleIdentifier]


0

Trong trường hợp của tôi, lược đồ chỉnh sửa hoạt động cho khu vực nhưng không hoạt động cho ngôn ngữ. Nó trông có vẻ bị ghi đè bởi ngôn ngữ phát triển. Thay đổi phát triểnRegion hoạt động tốt với project.pbxproj như thế này.

developmentRegion = ja;

nhập mô tả hình ảnh ở đây

Phiên bản Xcode 11.3.1 (11C504)

iPhoneX iOS 13.3.1

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.