Sto provando a localizzare un UIDatePicker. I documenti di Apple dicono che dovrebbe rilevare automaticamente le impostazioni locali correnti, eppure la lingua rimane la stessa, indipendentemente dalla lingua che seleziono. Cosa devo fare?Posso localizzare un UIDatePicker?
risposta
l'UIDatePicker ha una proprietà locale; se non lo si imposta, dovrebbe essere impostato in base alle impostazioni locali preferite dell'utente. Quando dici "non importa quale lingua seleziono" cosa intendi: stai provando a cambiare le impostazioni internazionali a livello di programmazione o stai modificando le impostazioni locali predefinite del dispositivo utilizzando la pagina Impostazioni?
La proprietà locale (e tutte le altre proprietà di formato specifiche per paese) per impostazione predefinita è il valore restituito da currentLocale, che a sua volta dipende dalle impostazioni del paese di iPhone, non dalle impostazioni della lingua. È necessario impostare il paese appropriato nelle impostazioni generali di iphone.
locale per NSDatepicker è deprecato in iOS 5.1 – Raj
Controllare kraag22 e commenti di Dave DeLong a FunkyKat risposta qui sotto –
NSLocale in UIDatePicker è tornato dal iOS 6. Impostazioni del telefono in iOS 6 vengono ignorati e utilizzati locale en_US di default, quindi è necessario impostare locale nel codice
se si imposta proprietà locale in iOS 5.1.1 funziona anche bene. Anche le impostazioni Phone/Pad vengono ignorate – kraag22
Se crei un 'UIDatePicker' a livello di codice, verrà inizializzato con' [NSLocale currentLocale] '. Se lo stai creando in uno xib, assicurati che il valore dell'attributo "Locale" sia "Predefinito" e * non * "Inglese (Stati Uniti)". –
Dalla mia esperienza, in iOS5 UIDatePicker sembra ignorare il locale impostato e usa le impostazioni locali fornite dalle impostazioni generali. Ma dovrebbe funzionare bene in iOS6.
lo hai testato su iOS6? – Rob
Sì, l'ho fatto. Era un'applicazione sviluppata interamente per l'arabo. Ho impostato le impostazioni internazionali dallo storyboard e ** viewDidLoad ** e le impostazioni locali del selettore della data erano in inglese, in iOS5, come le impostazioni del simulatore. Tuttavia, ha funzionato per iOS6 solo dallo storyboard senza impostarlo da ** viewDidLoad **. Ci scusiamo per la risposta tardiva, ho appena visto il tuo commento. –
Mi riferisco alle impostazioni internazionali in Preferenze. Ho tutto il resto impostato per essere un NSLocalizedString, e tutto si traduce meravigliosamente. Tuttavia, ad esempio, imposto la lingua in Francese in Preferenze. Il mio UIDatePicker non mostrerà i mesi in francese. Non ho impostato affatto la locale, quindi ho pensato che questo dovrebbe mostrare le impostazioni internazionali corrette. Tuttavia, non lo è. –
come stai inizializzando il selettore di date? stai lasciando le impostazioni locali e le proprietà del calendario impostate su zero, o le stai impostando su qualcosa? –
Sono impostati su zero. –