Gezer/מקשי האצה

מתוך ויקי עמותת המקור
מיזם גֶּזֶר

מהם מקשי האצה

מקשי האצה נועדו לפשט את פעולת המשתמש על ידי הקצאת צירופי מקשים לפעולות שונות בתכנה או במערכת ההפעלה.

במקרים רבים מקשי ההאצה מאפשרים שליטה בתוכנות רבות באמצעות המקלדת בלבד, מצב זה מנגיש תוכנות רבות לבעלי מגבלות מוטוריות.

ישנם שני סוגים של קיצורי דרך:

  1. קיצורים שהוגדרו על ידי המתכנת.
  2. קיצורים שהוגדרו על ידי המתרגם (או המתכנת אם התכנה אינה מתורגמת).

קיצורי דרך קבועים

קיצורי דרך שהוגדרו על ידי המתכנת לרוב כתובים ליד שם הפעולה בתפריטים של התכנה.

לדוגמה: שמירה Ctrl+S

צירוף מקשים זה הוקצה על ידי המתכנת ועל פי רוב אינו ניתן לשינוי על ידי המתרגם של התכנה.

ישנם מקרים בהם יש אפשרות לתרגם את המקש המצורף למקש ההחלפה (Ctrl) אך לא את מקש ההחלפה עצמו, במקרים כאלה פשוט יופיעו מחרוזות בנות אות אחת בקובץ התרגום של התכנה.

קיצורי דרך תואמי תרגום

נציג את אופן הפעולה של מקשי קיצור במנשק התכנה:

בתוכנות רבות מופיעה שורת תפריטים בראשית החלון.

נסתכל בשורת תפריטים לדוגמה: File Edit View ... Help

כשנלחץ על מקש ההחלפה Alt יופיעו קווים תחתונים מתחת לאותיות מסוימות, נשאיר את מקש ה־Alt לחוץ ונבחר באחת האותיות המסומנות בקו תחתון, כעת תפריט זה יפתח. (על פי רוב לחיצה על Alt+F תוביל אותנו אל התפריט File).

כעת נשים לב שתחת התפריט שנפתח מופיעים פריטים נוספים שבמידה שהשארנו את מקש ה־Alt לחוץ גם יופיעו עם אות מודגשת, לחיצה על אחת האותיות המודגשות במקלדת תוביל אותנו אל הפריט בתפריט או אל תת־התפריט המבוקש.


אותיות קיצור אלה מיוצגות בתרגום כאשר לפניהן מופיעים אחד מהתווים ״_״, ״&״ או ״~״ (ישנם תווים נוספים אך הם זניחים ביותר), לצורכי הדגמה אשתמש בתו ״_״ בלבד אך ההנחיות תקפות לכל תו האצה שהוא.

כאשר אנו מתרגמים את התכנה יופיעו לפנינו התווים המשמשים את התכנה להצגת מקש הקיצור הרלוונטי לפריט, כלומר כאשר אנו מתרגמים את הפריט File תוצג בפנינו המחרוזת ‎_File כאשר בעת תרגומה עלינו להתייחס לקו התחתי.

האות שלפניה נוסיף את הקו התחתי תהפוך להיות ״תו ההאצה״ כלומר שברגע שאלחץ על Alt במנשק המתורגם אות זו תופיע מודגשת בקו תחתי וכאשר אשאיר את ה־Alt לחוץ ואלחץ גם על ״ק״ ייפתח התפריט קובץ.

התנגשות

מה קורה כאשר בשורת התפריטים מופיעים שני פריטים שונים, האחד Edit והשני Help, באנגלית תווי ההאצה שלהם שונים לחלוטין (E ו־H לצורך העניין) אך בעברית המצב מעט שונה.

הבה נתרגם את Edit ל״עריכה״ ואת Help ל״עזרה״, כעת נשים את תו ההאצה בתחילת המילה (״_עריכה״ ו״_עזרה״).

מה קרה פה בעצם?

כעת יש לנו את אותו התו לשני פריטים שונים, כאשר נלחץ על Alt+ע בעת השימוש בתכנה תינתן לנו האפשרות לבחור באחד מהפריטים הללו, כלומר שהמנגנון המטפל בקיצורים יודע שישנם שני פריטים בעלי שם זהה והוא לא יבחר אף אחד מהם אלא יעניק את אפשרות הבחירה למשתמש (לחיצה ראשונה תדגיש את התפריט ״עריכה״ והלחיצה השנייה תדגיש את תפריט ה״עזרה״).


כמובן שעדיף להימנע ממצב כזה והשיטה היא מאוד פשוטה:

בוחרים באות קיצור אחרת, בהתייחסות פרטנית למקרה שהוצג כדאי פשוט מאוד להזיז את מקש ההאצה אות אחת שמאלה ואז מקשי ההאצה יהיו ״ר״ ו״ז״ בהתאמה, מה שיחסוך את הבלבול ויאפשר עבודה נוחה יותר למשתמש.

בעיה זו קיימת גם בתפריטים עצמם כלומר שאם בתפריט מסוים שני פריטים תורגמו כך שמקשי התרגום שלהם זהים שוב תיווצר התנגשות.

ראוי לציין כי אם תחת התפריט ״קובץ״ ישנו הפריט ״הדפסה״ שתו ההאצה שלו הוא האות ד׳ ותחת התפריט ״עריכה״ מופיע הפריט ״הדבקה״ שאות ההאצה שלו היא גם ד׳ אז בעצם אין שום בעיה כיוון שכדי להגיע להדפסה אלחץ על Alt+ק+ד וכדי להגיע להדבקה אלחץ על Alt+ר+ד (לפי שיטת הטיפול בהתנגשויות שהצגתי קודם לכן).

טיפול רחב בתופעה

התופעה של כפל אותיות האצה בתפריטים היא בעיה נפוצה מאוד אפילו בקרב מתרגמים ותיקים ולכן פיתחתי עם השנים מספר שיטות להימנע ממצבים כאלה.

בקובצי po ישנן הפניות והערות המסייעות למתרגם להבין מהו מקור המחרוזת והאם למתכנת ישנם דברים כלשהם להעביר למתרגם כדי שהמתרגם יבין את המחרוזת ויתרגם אותה בצורה הטובה ביותר.

ההפניות מצביעות על מיקום המחרוזת בקובץ המקור של התכנה, כלומר שאם אגש למקום אליו מצביעה ההפניה אגיע לקטע הקוד המציג את המחרוזת המופיעה בקובץ התרגום.

כיצד ניתן להשתמש בהפניות כדי למנוע התנגשויות מקשי האצה?

התהליך הוא קל ופשוט, כל שיש לעשות הוא להסתכל בהפניות של המחרוזות בטרם התרגום ולהשתדל לא לתת את אותו מקש הקיצור לפריטים השייכים לאותו קובץ המקור בדיוק.

כיוון ששיטה זו מעט מכבידה על הליך התרגום אציע שיטה נוספת שאינה מדויקת ב־100% אך על פי רוב מייצרת תרגומים תקינים מבחינת התנגשויות: לדאוג שלא לחזור על אותם תווי ההאצה במרחק של 10 מחרוזות אחד מהשני, כלומר שאם נתתי למחרוזת מסוימת מקש האצה עלי לבדוק שלא השתמשתי בו כבר בעשרת המחרוזות הקודמות ושאשתדל לא להשתמש בו גם ב־10 המחרוזות הבאות.


הרשו לי להוסיף המלצה קטנה לסיום, לא מומלץ על פי רוב להקצות אותיות אהו״י כתווי האצה (במיוחד האות ה).

הסיבה היא שלרוב הן אינן משקפות את הפעולה הרצויה וגם גורמות להתנגשויות.

דוגמאות נפוצות: הדבקה/העתקה, העברה/העתקה, הגברה/הנמכה וכן הלאה...


ניתן ליצור אתי קשר בכתובת sh נקודה yaron אצל ג׳ימייל קום.


בברכה,

ירון שהרבני


מסמך זה נכתב במסגרת מיזם גזר על ידי ירון שהרבני.

רישיון המסמך הוא CC-BY-SA 3.0.