2009-07-20 17 views
9

Ich versuche, einen UIDatePicker zu lokalisieren. Apples Dokumente sagen, dass es das aktuelle Gebietsschema automatisch erkennen sollte, aber die Sprache bleibt gleich, egal welche Sprache ich auswähle. Was muss ich tun?Kann ich einen UIDatePicker lokalisieren?

Antwort

0

der UIDatePicker hat eine locale Eigenschaft; Wenn Sie es nicht festlegen, sollte es standardmäßig auf das bevorzugte Gebietsschema des Benutzers eingestellt werden. Wenn Sie sagen: "Egal welche Sprache ich auswähle", was meinen Sie? Versuchen Sie, das Gebietsschema programmgesteuert zu ändern, oder ändern Sie das Standardgebietsschema des Geräts auf der Seite Einstellungen?

+0

Ich beziehe mich auf die internationale Einstellung in den Einstellungen. Ich habe alles andere eingerichtet, um ein NSLocalizedString zu sein, und alles übersetzt wunderbar. Allerdings sage ich die Sprache in den Einstellungen auf Französisch. Mein UIDatePicker zeigt keine Monate in Französisch an. Ich habe das Gebietsschema überhaupt nicht eingestellt, also dachte ich, dass dies das korrekte Gebietsschema anzeigen sollte. Es ist jedoch nicht. –

+0

Wie initialisierst du die Datumsauswahl? Verlässt du die Gebietsschema- und Kalendereigenschaften, die auf Null gesetzt sind, oder setzt du sie auf etwas? –

+0

Sie sind auf Null eingestellt. –

11

Die locale-Eigenschaft (und alle anderen länderspezifischen Formateigenschaften) entspricht standardmäßig dem von currentLocale zurückgegebenen Wert, der wiederum von den Ländereinstellungen des iPhones und nicht von den Spracheinstellungen abhängt. Sie müssen das entsprechende Land in den allgemeinen Einstellungen für iphone einstellen.

+2

locale für NSDatepicker in ios Kommentaren unten – Raj

+0

überprüfen kraag22 und Dave DeLongs veraltet, wenn Sie locale-Eigenschaft in iOS 5.1.1 funktioniert es auch gut. Phone/Pad-Einstellungen werden auch ignoriert –

5

NSLocale in UIDatePicker ist wieder da iOS 6. Telefoneinstellungen in iOS 6 werden ignoriert und en_US locale standardmäßig verwendet, so dass Sie locale in Code

+1

bei FunkyKat Antwort 5.1 – kraag22

+2

Wenn Sie einen 'UIDatePicker' programmgesteuert erstellen, wird er mit' [NSLocale currentLocale] 'initialisiert. Wenn Sie es in einer XIB erstellen, stellen Sie sicher, dass der Wert des Attributs "Locale" auf "Standard" und nicht auf "Englisch (USA)" gesetzt ist. –

2

Aus meiner Erfahrung in iOS5 UIDatePicker zu ignorieren scheint setzen müssen Setzen Sie das Gebietsschema und verwenden Sie das von den allgemeinen Einstellungen bereitgestellte Gebietsschema. Aber es sollte gut in iOS6 funktionieren.

+0

hast du es auf iOS6 getestet? – Rob

+0

Ja, tat ich. Es war eine vollständig für Arabisch entwickelte Anwendung. Ich habe das Gebietsschema vom Storyboard und ** viewDidLoad ** eingestellt und das Locale des Datums-Pickers war Englisch, unter iOS5, wie die Einstellungen des Simulators waren. Allerdings funktionierte es für iOS6 nur vom Storyboard, ohne es von ** viewDidLoad ** zu setzen. Entschuldigung für die späte Antwort, ich habe gerade Ihren Kommentar gesehen. –

Verwandte Themen