Språk, nasjonale innstillinger og tastaturoppsett

Et språk er en naturlig språk, for eksempel engelsk, fransk og japansk. En sublanguange er en variant av en naturlig språk som brukes i et bestemt geografisk område, for eksempel engelsk sublanguages talt i Storbritannia og USA. Win32-baserte programmer bruke verdier, kalt språk-IDer, identifiserer språk og sublanguages.

Programmer bruker vanligvis språkinnstillingene til å angi språket i hvilke inndata og utdata er behandlet. Angir de nasjonale innstillingene for tastaturet, for eksempel påvirker tegnverdier generert av tastaturet. Angir de nasjonale innstillingene for skjermen eller skriveren påvirker tegnvariantene vises eller skrives ut. Programmer sette nasjonale innstillinger for et tastatur ved lasting og bruke tastaturoppsettene. De angi regionale innstillinger for en skjerm eller skriver ved å velge en skrift som støtter de angitte nasjonale innstillingene.

Et tastaturoppsett ikke bare angir den fysiske plasseringen av tastene på tastaturet, men også bestemmer tegnverdier generert ved å trykke disse nøklene. Hvert oppsett som identifiserer gjeldende inndataspråk og bestemmer hvilke tegnverdier er generert av hvilke taster og tastekombinasjoner.

Hver tastaturoppsett har et tilsvarende håndtak som identifiserer oppsettet og språk. Lav ordet av håndtaket er en språkidentifikator. Høy ordet er en enhetsreferanse, angir det fysiske oppsettet, eller er null, som angir en standard fysiske oppsettet. Brukeren kan knytte alle inndataspråk et gitt fysiske oppsett. En engelsk-talende bruker som arbeider svært sporadisk i fransk kan for eksempel angi inndataspråket på tastaturet til fransk uten å endre det fysiske oppsettet av tastaturet. Dette betyr at brukeren kan skrive inn tekst på fransk bruker kjent engelsk oppsett.

Programmer er vanligvis ikke forventet å manipulere inndataspråk direkte. I stedet vil brukeren setter opp et annet språk og kombinasjoner, så bytter blant dem. Når brukeren klikker i tekst som er merket med et annet språk, vil programmet kaller funksjonen ActivateKeyboardLayout å aktivere brukerens standardoppsettet for dette språket. Hvis brukeren redigerer tekst i et språk som ikke er i listen aktive, kan programmet kalle funksjonen LoadKeyboardLayout med språket for å få et oppsett som er basert på det aktuelle språket.

Funksjonen ActivateKeyboardLayout angir inndataspråket for gjeldende aktivitet. Parameteren hkl kan være håndtaket til tastaturoppsettet eller en null-utvidede språkidentifikator. Tastatur oppsett håndtakene kan skaffes fra funksjonen LoadKeyboardLayout eller GetKeyboardLayoutList . Verdiene HKL_NEXT og HKL_PREV kan også brukes til å velge neste eller forrige tastaturet. For noen operativsystemer, KLF_UNLOADPREVIOUS verdien har ingen betydning, og ignoreres.

Funksjonen GetKeyboardLayoutName henter navnet på det aktive tastaturoppsettet for kallende tråden. Hvis et program oppretter aktive oppsettet ved hjelp av funksjonen LoadKeyboardLayout , henter GetKeyboardLayoutName samme strengen som brukes til å lage oppsettet. Ellers er strengen primære språkidentifikatoren som svarer til den nasjonale innstillingen av aktiv oppsett. Dette betyr at funksjonen ikke kan nødvendigvis skille mellom forskjellige oppsett med samme primære språket, kan ikke så returnere spesifikk informasjon om inndataspråket. Funksjonen GetKeyboardLayout , men kan brukes til å fastsette inndataspråket.

Funksjonen LoadKeyboardLayout laster et tastaturoppsett og gjør oppsettet som er tilgjengelig for brukeren. Programmer kan gjøre oppsettet umiddelbart aktiv for gjeldende tråd ved hjelp av KLF_ACTIVATE-verdien. Et program kan bruke KLF_REORDER-verdien til å endre rekkefølgen for oppsettene uten også å angi verdien for KLF_ACTIVATE. Programmer bør alltid bruke verdien KLF_SUBSTITUTE_OK ved innlasting av tastaturoppsett for å sikre at brukerens preferanser, om noen, er valgt. For noen operativsystemer ignoreres verdien KLF_UNLOADPREVIOUS.

For flerspråklig støtte gir LoadKeyboardLayout -funksjonen flaggene KLF_REPLACELANG og KLF_NOTELLSHELL. KLF_REPLACELANG-flagg angir at funksjonen vil erstatte et eksisterende oppsett uten å endre språket. Forsøk på å erstatte en eksisterende layout ved hjelp av samme språkidentifikatoren men uten er angir KLF_REPLACELANG en feil. KLF_NOTELLSHELL-flagget hindrer at funksjonen varsle skallet når et tastaturoppsett som er lagt til eller erstattet. Dette er nyttig for programmer som kan legge til flere oppsett i en påfølgende serie av samtaler. Dette flagget som skal brukes i alle unntatt den siste samtalen.

Funksjonen UnloadKeyboardLayout er begrenset på at det ikke kan laste ut systemet standard inndataspråk. Dette sikrer at brukeren alltid har en layout tilgjengelig for skrive inn tekst ved hjelp av samme tegnsettet som brukes av skall- og filsystem.

Index