Bản địa hoá iPhone (hoặc là tin cục bộ?) Không chịu bất cứ thông báo về khu vực các bộ sử dụng (ví dụ, UK, Aus, NZ). Chỉ có một bản dịch tiếng Anh "" có sẵn theo mặc định. Tuy nhiên, bạn có thể hack xung quanh với những thứ để buộc nó sử dụng một cài đặt dịch thuật khác - Tôi vừa thực hiện việc này để chọn giữa "tiếng Anh" (Mỹ) và "en_GB" (tiếng Anh của Anh).
Trong file main.m của bạn, thay đổi nó để nó trông giống như dưới đây (đặt trong các thử nghiệm của riêng bạn cho NZ hoặc AU)
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Set up the locale jiggery pokery
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *locale = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
if ([language isEqualToString:@"en"] && [locale isEqualToString:@"GB"]) {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en_GB", @"en", nil] forKey:@"AppleLanguages"];
}
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
này bật ngôn ngữ người sử dụng (ví dụ: " vi ") vào ngôn ngữ NSString và miền địa phương của người dùng (ví dụ: NZ, GB, AU) vào miền địa phương NSString. Nếu chúng (trong trường hợp của tôi) phù hợp với vi và GB, thì tôi đặt cài đặt tùy chọn ngôn ngữ mặc định của người dùng thành "en_GB", sau đó "vi".
Sau đó, trong các đại biểu ứng dụng ứng dụng của bạn: Phương pháp didFinishLaunchingWithOptions bạn muốn loại bỏ NSUserDefaults cài đặt bạn chỉ cần đặt với mã
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
Đó là an toàn để loại bỏ vào thời điểm này bởi vì tất cả các gói khởi động đã được hoàn thành. Bây giờ, ứng dụng của bạn sẽ sử dụng tệp Localization.strings trong thư mục en_GB.lproj.
Đó là một chút của một giải pháp khủng khiếp, hacky, nhưng nó hoạt động cho tôi.
xóa tệp tiếng Anh gây ra nhiều sự cố ... Tôi có nhiều ngôn ngữ khác đang hoạt động, nhưng khi tôi muốn sử dụng cùng một ngôn ngữ nhưng cho các vùng khác nhau, nó không hoạt động: S – dewberry