NSDateFormatterを使用すると各ロケールに対応するローカライズされた各種日付情報が取得出来ます。
曜日に関するメソッドを例に上げると
– weekdaySymbols
– shortWeekdaySymbols
– veryShortWeekdaySymbols
– standaloneWeekdaySymbols
– shortStandaloneWeekdaySymbols
– veryShortStandaloneWeekdaySymbols
のように様々なパターンが用意されています。
日本語(ja)と英語(en)はこんな感じです。
– weekdaySymbols
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
– shortWeekdaySymbols
日 月 火 水 木 金 土
Sun Mon Tue Wed Thu Fri Sat
– veryShortWeekdaySymbols
日 月 火 水 木 金 土
S M T W T F S
すべてのISO言語コード(Wiki)に対応するローカライズされた曜日を表示するサンプルです。
Sample.m
- (void)log
{
for (NSString *lang in [NSLocale ISOLanguageCodes]) {
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.locale = [[NSLocale alloc] initWithLocaleIdentifier:lang];
NSMutableString *allWeekday = [NSMutableString string];
for (NSString *weekday in df.weekdaySymbols) {
[allWeekday appendFormat:@"%@ ", weekday];
}
NSLog(@"%@ -> %@", lang, allWeekday);
// ログ抜粋
// ja -> 日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
// en -> Sunday Monday Tuesday Wednesday Thursday Friday Saturday
}
}