אירוח ופיתוח האתר נתרמו באדיבות...
- לינווייט - תשתיות תוכן וקהילה
- אמנון לבב - לבבי מדריכים
הי,
התקנתי את המודול jTool ואני משתמש בעברית בקידוד UTF.
שמתי לב שכאשר אני משתמש בשדה DATE בCCK, מופיעה לי שורה בLOG אשר אומרת כי השדה בדף התוכן, אינו מוצא את הקובץ:
/modules/jstools/jscalendar/lib/lang/calendar-he.js
אבל בתיקייה המדוברת הקובץ העברי הוא:
calendar-he-utf8.js
אני תוהה, אם השם של הקובץ שגוי, או שמה הרכיב מחפש את הקובץ הלא נכון?
(או שאני אמור להגדיר את שפת המערכת ל: he-utf8 במקום he)
| סוג | נושא | מאת | תגובות | התעדכן |
|---|---|---|---|---|
| שאלה | שאלות כלליות בנושא שרת ואחסון אתרים | אמיר תייר | 3 | לפני 3 שעות 21 דקות |
| שאלה | דרוש מתכנת Drupal מנוסה למשרה מלאה | oded | 0 | לפני 4 שעות 31 דקות |
| שאלה | אם אני רוצה שבדף הראשי לא תוצג הכותרת של העמוד, איך אני עושה זאת? | AKAVIS | 0 | לפני 4 שעות 51 דקות |
| שאלה | בעיה מוזרה מאוד בעיצוב בדרופל + בעיה אחרת | AKAVIS | 2 | לפני 4 שעות 52 דקות |
| שאלה | משלוח ניוזלטר למספר גדול של מנויים | liats75 | 8 | לפני 8 שעות 22 דקות |
| שאלה | ייבוא nodes מקובץ XML ב UBERCART | ori | 0 | לפני יום אחד 13 שעות |
| שאלה | איך מעלים תצוגה של האתר עם | שמרית | 0 | לפני 3 ימים 4 שעות |
| שאלה | mysql לא עובד | שמרית | 2 | לפני 3 ימים 9 שעות |
| הודעה | קול העם ב-IRC, ועידת קהילה | Zus | 3 | לפני 3 ימים 12 שעות |
| שאלה | הקמת פורטל | morpheus | 1 | לפני 3 ימים 12 שעות |
עברית ב-jscalendar
שנה את שם הקובץ calendar-he-utf8.js ל-calendar-he.js והדברים אמורים יהיו לעבוד.
זה משום שלוח השנה נכתב ע"י צוות שאינו קשור לדרופל ושם לא הקפידו על שימוש ב-UTF-8 בלבד. על צוות דרופל להמיר את כל הקבצים ששם ל-UTF-8 ולהפטר מההמחרוזת "utf8" שבחלק משמות הקבצים.
העדפתי מבט בקוד המודול jscalendar.module, ומצאתי שם קוד המנסה, במקרה הפרטי של השפה העברית, להפנות לקובץ המכיל "utf8" בשמו, אך יש בו דפקטים:
<?phpif (empty($lib_locale)) {
// Supported directly.
if (in_array($locale, array('af', 'bg', ..., 'he', ..., 'tr'))) {
$lib_locale = $locale;
}
// Supported indirectly.
else if ($locale == 'cs') {
$lib_locale = 'cs-utf8';
}
else if ($lib_locale == 'he') {
$lib_locale = 'he-utf8';
}
?>
כלומר, המתכנת ניסה להפנות לשם המכיל את המחרוזת utf8, אבל בפועל זה לעולם לא יקרה.
אגב, סוגיה מעניינת היא, איך הדפדפן אמור להחשיב את קידוד קובץ ה-JS, שהרי לא נשלח עמו כותר קידוד מפורש. אני משער שהדפדפנים יחשיבו אותו כ-utf-8 משום שהוא מקושר מקובץ HTML שקידודו utf-8, אך לא זכור לי שאי פעם קראתי על כך בספסיפיקציות. מישהו יודע מה אומר התקן? הקפדנים יכולים להוסיף לקונפיגורציה של אפאצ'י את ההנחיה הבאה, בשביל "ללכת על בטוח":
AddCharset utf-8 .js------תוספת--------
חזרתי עכשיו מקריאת ה-README של המודול. כתוב שם:
To explicitly set the localization file to be used, call jscalendar_load() withyour desired localization as the argument. Example:
jscalendar_load('it');
כלומר, הפתרון ה"רשמי" הוא לרשום שם he-uf8 (במקום it). אבל ה"פתרון" הזה גרוע יותר ממה שהצעתי (שינוי שם הקובץ). כאמור, הפתרון האולטימטיבי הוא, שצוות דרופל ימיר את כל הקבצים בתיקייה לקידוד UTF-8.