Pergunta

Existe alguma solução para exibir para o usuário uma data usando suas configurações de localidade, mas as palavras estão em um idioma diferente?

O que eu quero é exibir para um usuário que configurou en_us Uma data no idioma alemão (nomes de meses, dias da semana, por exemplo).

Foi útil?

Solução

Boa pergunta. É possível se você criar primeiro um NSDateFormatter Com a localidade do usuário (padrão), defina seu estilo e guarde o formato de data atual. Depois disso, defina o local para o idioma que deseja exibir e redefinir o formato da data:

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateStyle:NSDateFormatterFullStyle];
NSString *usersDateFormat = [df dateFormat];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier(@"de_DE")] autorelease]];
[df setDateFormat:usersDateFormat];
NSString *dateString = [df stringFromDate:[NSDate date]];

Outras dicas

A referência da classe iOS para NSDateFormatter possui código de amostra para isso:

http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/classes/nsdateformatter_class/reference/reference.html

Está na seção de visão geral.

Basicamente, você define manualmente o local e o formatador formata a data fornecida com a localidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top