2011-02-25 6 views
5

मैं अपने आईफोन ऐप को स्थानीयकरण/अंतर्राष्ट्रीयकरण की प्रक्रिया में हूं और एक प्रश्न है। मेरे ऐप में एक ही स्थान पर, मैं साल के 12 महीनों की एक सूची दिखाता हूं। चूंकि यह वर्तमान में गैर-स्थानीयकृत स्थिति में है, मेरे पास जनवरी-दिसंबर महीने में एनएसएआरएआरई में हार्ड-कोड किया गया है। मैं उपयोगकर्ता के लोकेल के आधार पर महीनों के इस एनएसएआरएआर को प्रोग्रामेटिक रूप से बनाने के लिए एनएससीएंडर का उपयोग करना चाहता हूं। इसे करने का बेहतरीन तरीका क्या है?स्थानीय कैलेंडर कैलेंडर नामों के प्रोग्रामिंग के एनएसएआरएआरई का निर्माण कैसे करें?

उत्तर

11

आप NSDateFormatter से महीने के स्थानीय नाम प्राप्त कर सकते हैं:,

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
for (int i = 0; i < 12; ++i) { 
    NSString *monthName = [[df monthSymbols] objectAtIndex:i]; 
    [...] 
} 
[df release]; 
+4

शांत! करुणा यह सिम्युलेटर में काम नहीं करता है, एक बार जब भी यह एक गलत तरीका था ... जब तक मैंने इसे डिवाइस पर नहीं किया ... tks Volker – meronix

+0

यह उल्लेख करने के लिए धन्यवाद कि यह सिम्युलेटर में काम नहीं करता है, मैं पागल हो रहा था! –

2

यात्रा करने के लिए कोई ज़रूरत नहीं बस सीधे महीने मिलती है:

NSDateFormatter dateFormatter = [[NSDateFormatter alloc] init]; 
NSLog(@"Months = %@", dateFormatter.monthSymbols); 

स्विफ्ट:

let dateFormatter = NSDateFormatter() 
print("Months = \(dateFormatter.monthSymbols)") 
0

स्विफ्ट संस्करण .... खेल के मैदान में प्रयास किया

स्थान प्रदान करें या का उपयोग

currentlocale
var str = "Hello, playground" 

var formatter = NSDateFormatter() 

formatter.locale = NSLocale(localeIdentifier: "sv_SE") 
//formatter.locale = NSLocale.currentLocale() // use this to find it automatically 

print(formatter.monthSymbols) 

परिणाम

"["januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"]\n" 
संबंधित मुद्दे