הגדרה נכונה של לוקאל עברי בג'נטו לינוקס
הגדרה נכונה של לוקאל עברי בלינוקס מאפשרת להשתמש במערכת בעלת ממשק אנגלי
(או עברי- המדריך הזה יעסוק בהגדרות עבור ממשק אנגלי) עם תמיכה מלאה
בכתיבה עברית ביישומים השונים, כולל שמות קבצים בעברית.
מסיבות של תאימות, אני מעדיפה להשתמש בלוקאל יוניקוד. אלא מה, כברירת מחדל, לוקאל יוניקוד עברי לא מגיע מובנה במערכת ג'נטו לינוקס, ויש צורך ליצור אחד.
מכיוון שהשאלה הזו עלתה כמה וכמה פעמים בפורומים, ערכתי לכאן את התשובה שלי, כדי שיהיה קל יותר למצוא את ההוראות :-)
מסיבות של תאימות, אני מעדיפה להשתמש בלוקאל יוניקוד. אלא מה, כברירת מחדל, לוקאל יוניקוד עברי לא מגיע מובנה במערכת ג'נטו לינוקס, ויש צורך ליצור אחד.
מכיוון שהשאלה הזו עלתה כמה וכמה פעמים בפורומים, ערכתי לכאן את התשובה שלי, כדי שיהיה קל יותר למצוא את ההוראות :-)
הכלי ליצירת הגדרות לוקאל חדשות, נקרא localedef.
בשביל ליצור לוקאל עברי יוניקוד, הריצו את שתי הפקודות הבאות בתור רוט:
עכשיו, אחרי שיצרנו את הלוקאל, צריך להגדיר איזה לוקאל אנחנו רוצים. יש הגדרות לוקאל אפשריות רבות, השולטות על דברים שונים- סגנון הצגת תאריך, גודל ברירת המחדל של נייר בהדפסה, סגנון הצגת מספרים וכו'. לנו חשובות במיוחד שלוש הגדרות: LANG ו־LC_MESSAGES השולטות בעיקר בשפת הממשק (במקרה שלנו נרצה שיהיו אנגליות כדי ששפת הממשק תהיה באנגלית) ו־LC_CTYPE החשובה לתמיכה בעברית ולכן נרצה שתהיה עברית. בנוסף, יש הגדרה מיוחדת שנקראת LC_ALL האוכפת את ההגדרות שלה על כל ההגדרות האחרות. לכן, אם נרצה שהכל יהיה בעברית (כולל שפת הממשק) נגדיר אותה כעברית. אם אנחנו רוצים שחלק מההגדרות יהיו אנגלית וחלק עברית (כמוני), נשאיר אותה ריקה.
בשביל להציג את הגדרות הלוקאל הנוכחיות שלנו, נשתמש בפקודה locale בשורת הפקודה.
הנה הגדרות הלוקאל שלי:
יש שתי דרכים להגדיר לוקאל- כהגדרה כללית לכל המערכת, או כהגדרה למשתמש יחיד. בשביל להגדיר בצורה כללית, נשים את ההגדרות בקובץ /etc/profile ואילו בשביל להגדיר למשתמש יחיד, נשים את ההגדרות בקובץ .bashrc בתיקיית הבית של המשתמש.
קביעת ההגדרה נעשית באמצעות הוספת המילה export לפני ההגדרה, לדוגמא,
אם מגדירים את הלוקאל בצורה כללית, יש להריץ את הפקודה /usr/sbin/env-update אחרי ההגדרה.
נצא ונכנס חזרה למערכת על ידי logout ו־login מחודש, וזהו, ההגדרות החדשות בתוקף. בשביל לוודא, כדאי להריץ את הפקודה locale, ולראות שהתוצאות הן כמו שקבענו.
בסייר הקבצים של XFCE4:

בסייר הקבצים Rox:

בסייר הקבצים של גנום 2.6:

בסייר הקבצים של kde 3.2:

בשביל ליצור לוקאל עברי יוניקוד, הריצו את שתי הפקודות הבאות בתור רוט:
localedef -i he_IL -f UTF-8 he_IL.UTF-8
localedef -i en_US -f UTF-8 en_US.UTF-8
localedef -i en_US -f UTF-8 en_US.UTF-8
עכשיו, אחרי שיצרנו את הלוקאל, צריך להגדיר איזה לוקאל אנחנו רוצים. יש הגדרות לוקאל אפשריות רבות, השולטות על דברים שונים- סגנון הצגת תאריך, גודל ברירת המחדל של נייר בהדפסה, סגנון הצגת מספרים וכו'. לנו חשובות במיוחד שלוש הגדרות: LANG ו־LC_MESSAGES השולטות בעיקר בשפת הממשק (במקרה שלנו נרצה שיהיו אנגליות כדי ששפת הממשק תהיה באנגלית) ו־LC_CTYPE החשובה לתמיכה בעברית ולכן נרצה שתהיה עברית. בנוסף, יש הגדרה מיוחדת שנקראת LC_ALL האוכפת את ההגדרות שלה על כל ההגדרות האחרות. לכן, אם נרצה שהכל יהיה בעברית (כולל שפת הממשק) נגדיר אותה כעברית. אם אנחנו רוצים שחלק מההגדרות יהיו אנגלית וחלק עברית (כמוני), נשאיר אותה ריקה.
בשביל להציג את הגדרות הלוקאל הנוכחיות שלנו, נשתמש בפקודה locale בשורת הפקודה.
הנה הגדרות הלוקאל שלי:
LANG=en_US.UTF-8
LC_CTYPE=he_IL.UTF-8
LC_NUMERIC=he_IL.UTF-8
LC_TIME=he_IL.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=he_IL.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=he_IL.UTF-8
LC_NAME=he_IL.UTF-8
LC_ADDRESS=he_IL.UTF-8
LC_TELEPHONE=he_IL.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=he_IL.UTF-8
LC_ALL=
LC_CTYPE=he_IL.UTF-8
LC_NUMERIC=he_IL.UTF-8
LC_TIME=he_IL.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=he_IL.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=he_IL.UTF-8
LC_NAME=he_IL.UTF-8
LC_ADDRESS=he_IL.UTF-8
LC_TELEPHONE=he_IL.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=he_IL.UTF-8
LC_ALL=
יש שתי דרכים להגדיר לוקאל- כהגדרה כללית לכל המערכת, או כהגדרה למשתמש יחיד. בשביל להגדיר בצורה כללית, נשים את ההגדרות בקובץ /etc/profile ואילו בשביל להגדיר למשתמש יחיד, נשים את ההגדרות בקובץ .bashrc בתיקיית הבית של המשתמש.
קביעת ההגדרה נעשית באמצעות הוספת המילה export לפני ההגדרה, לדוגמא,
export LC_CTYPE="he_IL.UTF-8"
אם מגדירים את הלוקאל בצורה כללית, יש להריץ את הפקודה /usr/sbin/env-update אחרי ההגדרה.
נצא ונכנס חזרה למערכת על ידי logout ו־login מחודש, וזהו, ההגדרות החדשות בתוקף. בשביל לוודא, כדאי להריץ את הפקודה locale, ולראות שהתוצאות הן כמו שקבענו.
התוצאה
הנה מספר צילומי מסך המראים שמות קבצים בעברית בסיירי קבצים פופולריים.בסייר הקבצים של XFCE4:

בסייר הקבצים Rox:

בסייר הקבצים של גנום 2.6:

בסייר הקבצים של kde 3.2:

1 הפניות
Listed below are links to blogs that reference this entry: הגדרה נכונה של לוקאל עברי בג'נטו לינוקס.
TrackBack URL for this entry: http://www.xslf.com/mt/xslf-tb.cgi/48
» הגדרת לוקאל עברי באובונטו לינוקס (וגם בדביאן) from xslf.com
התקנתי לאחרונה אובונטו לינוקס על מחשב הבדיקות שלי, וגיליתי שהגדרת הלוקאל שם מעט מבלבלת יותר ממה שאמורה להיות. מכיוון שזכרתי שהיו כאלו שנתק... Read More
ההגדרות רלוונטיות רק לג'נטו?
ההגדרות לא, אבל התהליך כן (הגדרת לוקאל בהפצות אחרות נעשית בצורה מעט שונה).
מה לגבי דביאן ? איך עובד העניין הזה?
כתבו עליך בעיתון:
http://www.haaretz.co.il/captain/pages/ShArtCaptain.jhtml?contrassID=11&subContrassID=0&itemNo=414521
היי,
אני מגדיר את ה- default NLS בזמן קימפול הקרנל כ- UTF8 , אחרי שאני מוסיף TTF למערכת אני רואה שמות קבצים בערבית ועברית.
הגדרות ה- locale אצלי כולם על POSIX .
שלום ניזר. כן, גם השיטה הזו עובדת )אם כי ממה שראיתי לא תמיד(. מצד שני, היא דורשת קימפול מחדש של הקרנל, מה שלדעתי הוא overkill אם כל מה שאנחנו רוצים זה להיות מסוגלים להציג שמות קבצים בעברית.
שלום אנונימי. לגבי דביאן, בדוק את שתי הפקודות
dpkg-reconfigure localeconf
dpkg-reconfigure locales
הן אמורות לתת לך את הכלים להגדרה נכונה של לוקאל.
שלום xslf,
הרי במהלך התקנת ג'נטו אם בוחרים לקמפל עם genkernel או באופן ידני צריכים לעבור את שלב menuconfig .
זה overkill לגבי קרנל שכבר קומפל ולא שווה לקמפל מחדש רק בגלל זה(כמו שאמרת) אלא עדיפה יותר עריכת
ה- locale .
לא ידוע לי על סיבה שזה לא יעבוד, עד עכשיו אצלי תמיד זה עובד :)
אצלי ה-locale מוגדר כ-he שמגיע עם המערכת. לאחר שהגדרתי אותו הצלחתי לראות שמות קבצים בעברית, אבל בכל פעם שאני עושה emerge אני מקבל המון אזהרות שקשורות ב-locale (לא נתמך, עובר לברירת המחדל C).
זה תקין?
שלום DecayCell. נשמע שהלוקאל שהגדרת לו למעשה לא יוצר. ניסית לייצר אותו בעזרת localedef?
ובאיזה לוקאל בדיוק אתה משתמש?
תודה רבה על התגובה. לא השתמשתי ב-localedef מכיוון שהספריה usr/share/locale/he/ באה אוטומטית עם המערכת, והנחתי בשעת ההתקנה, בשלב שבו נתבקשתי להגדיר את ה-locale, שזו האפשרות שעלי לבחור.
כנראה שהדבר גרם להרבה בעיות - למשל כרגע הרצתי את XMMS פעם אחת עם ה-locale הנוכחי ופעם אחת עם he_IL (עדיין לא הגדרתי אותו - אני בדיוק מקמפל את OO וחושש שזה יפגע בתהליך) - בפעם השניה לא קיבלתי הודעת שגיאה שקיבלתי בפעם הראשונה.
על כל פנים, האם שינוי ה-locale בשלב זה יגרום לבעיות? האם אצטרך לקמפל מחדש את כל התוכנות, חלקן, או אולי אף לא אחת?
בנוסף, הבנתי שכל-מיני הגדרות כמו עמודי man וכדו' נמצאים בספריית ה-locale - האם אפשר להעביר אותם לספריות החדשות שיווצרו לאחר הבגדרות החדשות?
כדאי להבהיר שכדי לראות שמות קבצים בעברית לא צריך locale עברי, משום ששמות הקבצים מקודדים ביוניקוד (UTF-8), וקידוד זה מכיל את כל השפות. באופן דומה, אין צורך ב-locale עברי כדי להקליד עברית בישומים מודרניים, כי אלה ממילא תומכים ביוניקוד.
מופי,
מה זה בכלל locale דבר ראשון.
אצלי ה- locale הוא POSIX כמו שמגיע בברירת מחדל של ג'נטו. ניסיתי לכתוב קובץ עם שם עברי ולא הצליח (בנאוטילוס). נראית לי יותר הגיונית הדרך של הקרנל אבל מה בדיוק צריך לעשות? מה לבחור ב- menuconfig?
הכנסתי את ההגדרות האלו ל slackware 9 שלי, אבל מה עם fstab, מה אני צריך לכתוב ב iocharset או codepage בשביל לראות שמות קבצים בעברית.
ניסיתי:
iocharset=iso8859-8 אבל הוא לא רצה להעלות את המחיצה בעקבות כך. גם iocharset=utf8 לא עובד.
מדובר על מחיצת fat
אין לי מחיצת חלונות על המחשב (הוא מריץ לינוקס בלבד) כך שיהיה לי קשה לתת לך תשובה מנסיון אישי.
ב—whatsup דיברו על הוספת השורה
iocharset=utf8,codepage=1255,utf8=true
אבל שוב- אין לי מחיצות fat (או ntfs) בשביל לבדוק.
לגבי המחיצות, זה לא משנה אם יש לך fat או ntfs. זה משנה אם יש לך וינדוס xp או 98.
ראה את הקישור הזה להסבר :
http://www.whatsup.org.il/forum/15016
אמנם מיועד למנדרייק אבל החלק של הכוננים מתאים לכל ההפצות.