Onde está a lista de localidades Windows disponíveis?

8

Se você abrir o Regional and Language Options (via Control Panel ) e clicar na guia Regional Options , haverá uma lista suspensa de todas as localidades disponíveis.

Onde esta lista é preenchida?

(Eu quero comparar as configurações para cada localidade; estou bem com a forma de fazer isso, mas eu preciso de uma lista de nomes de localidade para fazer um loop.)

EDIT: Depois de navegar pelo meu diretório do Windows (provavelmente deve mencionar que estou usando o XP), o arquivo

C:\WINDOWS\system32\locale.nls

parece um candidato plausível, mas é um arquivo binário. É isso que eu deveria estar olhando, e se sim, como eu o leio?

    
por Richard Cotton 21.07.2010 / 14:48

2 respostas

6

A Microsoft não facilita as coisas para você. O arquivo NLS mencionado na dose da pergunta contém as informações de localidade, mas é em HEX. Mesmo com um editor hexadecimal, o conteúdo está longe de ser legível por humanos. Decidi adotar uma estratégia alternativa, inspirada na resposta de r0ca.

Existe uma lista mais precisa das localidades disponíveis publicadas pela Microsoft . Infelizmente, nem mesmo essa lista está correta. (Eu instalei todos os locais disponíveis, e eu tenho o Nothern Sotho, que não está na lista da Microsoft, mas não o espanhol tradicional, o espanhol moderno ou o macedônio. O ucraniano está na lista duas vezes.)

Os nomes não estão bem na lista da Microsoft.

Em geral, os nomes devem estar no formato "Language" ou "Language_Country Name", por ex. "English" ou "English_United Kindom"

Isso significa que os sublinhados após o primeiro devem ser substituídos por espaços e que os nomes das pessoas precisam ser substituídos pelos nomes dos países, por exemplo, "Malay_Brunei_Darussalam" torna-se "Malay_Brunei Darussalam" "Dutch_Belgian" se torna "Dutch_Belgium"

Existem muitas outras esquisitices. O latim, o cirílico e algumas outras palavras precisam ser colocados entre colchetes, e. "Serbian_Cyrillic_Bosnia_Herzegovina" torna-se "sérvio (cirílico) _Bosnia and Herzegovina"

Da mesma forma "Sami_Inari" torna-se "Sami (Inari) _Finland"

Existem muitos outros exemplos de ter que adivinhar nomes de países apropriados "English_Philippines" torna-se "English_Republic das Filipinas"

Eu calculei a maioria dessas exceções alterando minha localidade do Windows no painel de controle, carregando R e digitando

Sys.getlocale()

Infelizmente, esse método não funciona atualmente com as localidades indianas (além de algumas outras). Veja o relatório de erros aqui .

    
por 23.07.2010 / 15:57
2

Você tem todos eles listados aqui . Eu espero que isso seja o que você está procurando

    
por 21.07.2010 / 15:08