Joh*_*und 3 cocoa-touch localization objective-c ios
可能重复:
如何在用户的区域设置中获取星期几的名称?
即使用户区域设置为(sv-SE for Sweden aso),我也知道如何获得两个字母的NSString(en as English aso).
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]
Run Code Online (Sandbox Code Playgroud)
现在让我们假设用户已将语言和瑞典的英语设置为区域.什么是用英语,而不是瑞典语,或用户可以选择的语言和区域组合的工作日数组的代码?
/约翰
这是我的前3种首选语言的完整命令行程序示例:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSDateFormatter * df = [[NSDateFormatter alloc] init];
NSArray * preferredLanguages =[[NSLocale preferredLanguages] subarrayWithRange:NSMakeRange(0, 3)];
[preferredLanguages enumerateObjectsUsingBlock:^(NSString *languageIdentifier, NSUInteger idx, BOOL *stop) {
[df setLocale: [[NSLocale alloc] initWithLocaleIdentifier:languageIdentifier]];
NSArray * weekdays = [df weekdaySymbols];
[weekdays enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@ %@",languageIdentifier, obj);
}];
NSLog(@"------------");
}];
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出语言德语,英语和土耳其语:
de Sonntag
de Montag
de Dienstag
de Mittwoch
de Donnerstag
de Freitag
de Samstag
------------
en Sunday
en Monday
en Tuesday
en Wednesday
en Thursday
en Friday
en Saturday
------------
tr Pazar
tr Pazartesi
tr Sal?
tr Çar?amba
tr Per?embe
tr Cuma
tr Cumartesi
------------
Run Code Online (Sandbox Code Playgroud)
只是指出:
根据您的要求,这些线就足够了
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale preferredLanguages] objectAtIndex:0]]];
NSArray *weekdays = [df weekdaySymbols];
NSLog(@"%@", weekdays);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1076 次 |
| 最近记录: |