A linguagem é uma linguagem natural, tais como inglês, francês e japonês. Um sublanguange é uma variante de uma língua natural que é falada em uma região geográfica específica, tais como as entrelaçadas inglês falado na Grã-Bretanha e Estados Unidos. Aplicativos baseados em Win32 usam valores, chamados de identificadores de idiomas, para identificar com exclusividade entrelaçadas e idiomas.
Aplicativos geralmente usam localidades para definir o idioma no qual entrada e saída é processada. Configuração a localidade para o teclado, por exemplo, afeta os valores de caractere gerados pelo teclado. Configuração a localidade para o Exibir ou impressora afeta os glifos exibida ou impressa. Aplicativos definir a localidade para um teclado, carregando e usando layouts de teclado. Eles definir a localidade para um monitor ou impressora, selecionando uma fonte que ofereça suporte a determinado Localidadeidade.
Um layout de teclado não só especifica a posição física das teclas no teclado, mas também determina os valores de caractere gerados, pressionando as teclas. Cada layout identifica o idioma de entrada atual e determina quais valores de caractere são gerados pelo qual chaves e as combinações de teclas.
Cada layout de teclado tem um correspondente identificador que identifica o layout e idioma. A palavra baixa do identificador é um identificador de idioma. A palavra alta é um identificador dispositivo, especificando o layout físico, ou é zero, indicando um layout físico padrão. O usuário pode associar um determinado layout físico qualquer idioma de entrada. Por exemplo, um usuário de língua inglesa que trabalha muito ocasionalmente em francês pode definir o idioma de entrada do teclado francês sem alterar o layout do teclado físico. Isso significa que o usuário pode enter texto em francês usando o layout inglês familiar.
Aplicativos geralmente não devem manipular diretamente os idiomas de entrada. Em vez disso, o usuário configura as combinações de idioma e layout, em seguida, alterna entre eles. Quando o usuário clica em texto marcado com um idioma diferente, o aplicativo chama a função ActivateKeyboardLayout para ativar o layout de padrão do usuário para esse idioma. Se o usuário edita texto num idioma que não está na lista de ativa, o aplicativo pode chamar a LoadKeyboardLayout função com o idioma para obter um layout com base no idioma.
A ActivateKeyboardLayout função define o idioma de entrada para a tarefa atual. O hkl parâmetro pode ser o identificador para o layout do teclado ou um identificador de idioma zero-estendido. Alças de layout do teclado podem ser obtidas a função LoadKeyboardLayout ou GetKeyboardLayoutList . Os valores HKL_NEXT e HKL_PREV também podem ser usados para selecionar o teclado anterior ou seguinte. Para alguns sistemas operacionais, o valor KLF_UNLOADPREVIOUS não tem sentido e é ignorado.
O GetKeyboardLayoutName função recupera o nome do layout de teclado ativo para o thread de chamada. Se um aplicativo cria o layout ativo usando a LoadKeyboardLayout função, GetKeyboardLayoutName recupera a mesma seqüência de caracteres usada para criar o layout. Caso contrário, a Cadeia de caracteres é o identificador de idioma primário correspondente para a localidade do ativo layout. Isso significa que a função não pode necessariamente diferenciar entre layouts diferentes com a mesma língua principal, assim não é possível retornar informações específicas sobre o idioma de entrada. A GetKeyboardLayout função, no entanto, pode ser usada para determinar o idioma de entrada.
A LoadKeyboardLayout função carrega um layout de teclado e disponibiliza o layout para o usuário. Aplicativos podem tornar o layout imediatamente ativo para o thread atual, usando o valor KLF_ACTIVATE. Um aplicativo pode usar o valor KLF_REORDER para reorganizar os layouts sem especificar também o valor KLF_ACTIVATE. Aplicativos sempre devem usar o valor KLF_SUBSTITUTE_OK ao carregar os layouts de teclado para garantir que a preferência do usuário, se houver, é selecionada. Para alguns sistemas operacionais, o valor KLF_UNLOADPREVIOUS é ignorado.
Suporte multilíngüe, LoadKeyboardLayout função fornece os sinalizadores KLF_REPLACELANG e KLF_NOTELLSHELL. O sinalizador KLF_REPLACELANG direciona a função para substituir um layout de teclado existente sem alterar o idioma. A tentar substituir um layout existente usando o mesmo identificador de idioma mas sem KLF_REPLACELANG a especificação é um erro. O sinalizador KLF_NOTELLSHELL impede que a função notificando o shell quando um layout de teclado é adicionado ou substituído. Isso é útil para aplicativos que adicionar vários layouts em uma série de chamadas consecutiva. Esse sinalizador deve ser usado em todos, mas a última chamada.
A função UnloadKeyboardLayout é restrita em que ele não pode descarregar o idioma de entrada padrão sistema. Isso garante que o usuário tenha sempre um layout disponível para inserir texto usando o mesmo caractere definido como usado pelo sistema de shell e arquivos.