Uma localidade identifica uma combinação especifica de linguagem e convenções culturais para um país ou região.
Um identificador de localidade pode ser gerenciado de forma segura como uma string. Mas você pode utilizar a classe LocaleID para obter informações adicionais relacionadas à localidade.
Você pode criar um objeto LocaleID da seguinte forma:
var locale:LocaleID = new LocaleID("es-MX");
Após o objeto LocaleID ser criado, você pode recuperar os dados do ID de localidade. Utilize os métodos
getKeysAndValues()
,
getLanguage()
,
getRegion()
,
getScript()
,
getVariant()
e
isRightToLeft()
e a propriedade
name
.
Os valores obtidos destes métodos e propriedades podem refletir informações adicionais sobre a localidade, que não podem ser extraídas diretamente do identificador de localidade.
Quando um aplicativo cria um serviço de informações sobre localidade, como um formatador de data, a localidade tem que ser especificada. A lista de localidades que possuem suporte pode variar conforme o sistema operacional, portanto, a localidade solicitada pode não estar disponível.
Primeiro o Flash Player tenta combinar o código de linguagem solicitado. Então ele tenta refinar a localidade procurando um sistema de escrita e região correspondentes (script) Por exemplo:
var loc:LocaleID = new LocaleID("es");
trace(loc.getLanguage()); // es
trace(loc.getScript()); // Latn
trace(loc.getRegion()); // ES
Neste exemplo o construtor
LocaleID()
obteve dados sobre a localidade que corresponde melhor ao código de linguagem "es" para o usuário.
Limitações de outras classes de localidade e idioma
A classe
fl.lang.Locale
permite que você substitua strings de texto com base em uma localidade, utilizando pacotes de recursos contendo valores de string. No entanto, esta classe não suporta outros recursos de internacionalização como número, moeda ou formatação de data, classificação e comparação, e assim por diante. Além disso esta classe está disponível apenas no Flash Professional.
Você também pode obter a configuração atual do código de linguagem do sistema operacional utilizando a propriedade
flash.system.Capabilities.language
. No entanto, essa propriedade recupera somente códigos de idioma ISO 639-1 de caracteres duplos - e não o ID de localidade completo — e somente possui suporte a um conjunto específico de localidades.
No AIR 1.5, é possível utilizar a propriedade
flash.system.Capabilities.languages
. Essa propriedade fornece um conjunto de idiomas de interface preferidos dos usuário. Portanto, não possui as limitações de
Capabilities.language
.