השפה היא בשפה טבעית, כגון אנגלית, צרפתית ויפנית. Sublanguange הוא וריאציה של שפה טבעית אשר מדוברת באזור גיאוגרפי מסוים, כגון sublanguages האנגלית המדוברת בריטניה וארצות הברית. יישומים מבוססי-Win32 להשתמש בערכים, הנקראים מזהי שפה, לזיהוי ייחודי של שפות, sublanguages.
יישומים משתמשים בדרך כלל אזורים כדי להגדיר את שפת הקלט אילו ומעובדים פלט. לדוגמה, הגדרת האזור עבור לוח המקשים, משפיעה על ערכי תווים שנוצרו על-ידי לוח המקשים. הגדרת האזור עבור צג או מדפסת משפיעה על הגליפים מוצג או מודפס. יישומים להגדיר את האזור עבור לוח מקשים על-ידי טעינת ושימוש פריסות לוח מקשים. הם להגדיר את האזור עבור צג או מדפסת על-ידי בחירת גופן התומך האזור נתון.
פריסת לוח מקשים לא רק מציין את המיקום הפיזי של המקשים בלוח המקשים אלא גם קובעת את ערכי התווים שנוצרו על-ידי הקשה על מקשים אלה. כל פריסת מזהה את שפת הקלט הנוכחית וקובעת אילו ערכי התווים נוצרים על-ידי אילו המקשים וצירופי המקשים.
כל פריסת לוח המקשים יש נקודת אחיזה המתאים המזהה את הפריסה ואת השפה. המילה נמוכה של נקודת האחיזה הוא מזהה השפה. המילה גבוהה היא נקודת אחיזה התקן, המציין את הסידור הפיזי, או הוא אפס, המציינת את הסידור הפיזי של ברירת המחדל. המשתמש לשייך כל שפת קלט נתון פריסה פיזית. לדוגמה, משתמש לא דוברי אנגלית, שעובד לעתים רחוקות בצרפתית להגדיר את שפת הקלט של לוח המקשים צרפתית מבלי לשנות את הפריסה הפיזית של לוח המקשים. משמעות הדבר היא שהמשתמש יכול להזין טקסט בצרפתית באמצעות פריסה אנגלית מוכרת.
יישומים בדרך כלל לא אמורים לטפל ישירות שפות קלט. במקום זאת, המשתמש מגדיר את השפה ופריסת שילובים ולאחר מכן עובר ביניהם. כאשר המשתמש לוחץ לתוך הטקסט המסומן עם שפה אחרת, היישום קורא את הפונקציה ActivateKeyboardLayout כדי להפעיל את פריסת ברירת המחדל של המשתמש עבור שפה זו. אם המשתמש עורך טקסט בשפה שאינה ברשימה הפעילה, היישום יכול לבצע קריאה לפונקציה LoadKeyboardLayout עם השפה כדי לקבל פריסה המבוססים על שפה זו.
הפונקציה ActivateKeyboardLayout קובעת את שפת הקלט עבור הפעילות הנוכחית. הפרמטר hkl יכול להיות נקודת האחיזה לפריסת לוח המקשים או מזהה השפה מורחבת-אפס. ניתן להשיג נקודות אחיזה של פריסת לוח המקשים הפונקציה LoadKeyboardLayout או GetKeyboardLayoutList . ערכי HKL_NEXT ו- HKL_PREV יכול לשמש גם כדי לבחור בלוח המקשים הבאים או הקודמים. עבור מערכות הפעלה מסוימות, הערך KLF_UNLOADPREVIOUS חסרת משמעות והמערכת מתעלמת.
הפונקציה GetKeyboardLayoutName אחזור שם פריסת לוח המקשים הפעילה עבור הליך המשנה הקורא. אם יישום יוצר את הפריסה הפעילה באמצעות הפונקציה LoadKeyboardLayout , GetKeyboardLayoutName מאחזר את אותה מחרוזת המשמש ליצירת הפריסה. אחרת, המחרוזת היא מזהה השפה הראשית המתאים לאזור הפריסה הפעילה. אמצעי זה הפונקציה עשויה לא להבדיל בהכרח בין פריסות שונות באותה השפה הראשית, כך אינו יכול להחזיר מידע ספציפי אודות שפת הקלט. GetKeyboardLayout , עם זאת, ניתן להשתמש בפונקציה כדי לקבוע את שפת הקלט.
הפונקציה LoadKeyboardLayout טוען פריסת לוח מקשים והופך את הפריסה לזמין עבור המשתמש. יישומים להפוך את הפריסה הפעילה באופן מיידי עבור הליך המשנה הנוכחי באמצעות הערך KLF_ACTIVATE. יישום להשתמש בערך KLF_REORDER כדי לסדר מחדש את הפריסות מבלי לציין גם את הערך KLF_ACTIVATE. יישומים עליך להשתמש תמיד את הערך KLF_SUBSTITUTE_OK בעת טעינת פריסות לוח מקשים כדי להבטיח כי העדפת המשתמש, אם בכלל, נבחרה. עבור מערכות הפעלה מסוימות, מתעלמת מערך KLF_UNLOADPREVIOUS.
לקבלת תמיכה רב-לשונית, הפונקציה LoadKeyboardLayout מספקת את הדגלים KLF_REPLACELANG ו- KLF_NOTELLSHELL. הדגל KLF_REPLACELANG מנחה את הפונקציה כדי להחליף פריסת לוח מקשים קיימת מבלי לשנות את השפה. מנסה להחליף פריסת קיימת באמצעות מזהה שפה זהה אך ללא ציון KLF_REPLACELANG הוא שגיאה. הדגל KLF_NOTELLSHELL מונע את הפונקציה ליידע את המעטפת בעת פריסת לוח מקשים נוספת או הוחלפו. פעולה זו שימושית עבור יישומים מוסיף מספר פריסות בסדרה עוקבים של שיחות. דגל זה יש להשתמש בכל מלבד הקריאה האחרונה.
הפונקציה UnloadKeyboardLayout היא מוגבלת בכך שהוא לא ניתן לפרוק את שפת הקלט המהווה ברירת מחדל של מערכת. פעולה זו מבטיחה כי למשתמש יש תמיד זמין עבור פריסה אחת להזין טקסט באמצעות לתו בחר משמש על ידי מעטפת ומערכת קבצים.