שדגשדג

שדגשדג

"

קטגוריות: quote | תגים: | להגיב

כאן כותרת

כאן כותרת 2 ואז טקסט

קטגוריות: post | תגים: , , , | להגיב

מעניין… אולי אפשר להשתמש בזה…

מעניין… אולי אפשר להשתמש בזה…

קטגוריות: status | להגיב

Facebook Password Reset Confirmation! Customer Message – סוס טרויאני

היום קיבלתי דוא"ל, שכביכול נשלח מ-Facebook. רציתי להזהיר אתכם מפניו. הדוא"ל מכיל את התוכן הבא:

Dear user of facebook,

Because of the measures taken to provide safety to our clients, your password has been changed.
You can find your new password in attached document.

Thanks,
Your Facebook.

לדוא"ל מצורף קובץ zip המכיל קובץ exe בשם "Facebook_Password_4tf52.exe". קובץ exe בשביל שיחזור סיסמא? הממ… משהו מסריח פה. עוד מידע על פעולתו של הסוס הטרויאני הזה, תוכלו לקרוא כאן.

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

  • אם אין לכם חשבון Facebook (כמו שלי אין)… לא אוסיף עוד בנושא זה.
  • אל תאמינו ל"From" של הדוא"ל שקיבלתם, אלא כאשר התוכן ממוען ישירות אליכם, ואתם יודעים את זה. לרוב אנחנו באופן אוטומטי קוראים את התוכן ויודעים לסווג אותו כבטוח או כמסוכן. אל תתנו ל"מאת" כמו "Facebook" להטעות אתכם.
  • מי שמע על מערכת web 2 שמאפסת את הסיסמא שלך על דעת עצמה, וששולחת את הסיסמא בקובץ מצורף? יותר מידי מוזר, ומשתמש מחשב ממוצע צריך כבר לדעת לזהות את זה.
  • הכי הכי טוב – כל הסוסים הטרויאנים האלה, יוצאים מנקודת הנחה שמערכת ההפעלה שלי היא Windows. פתרון: לינוקס. הכי בטוח.
קטגוריות: אובונטו לינוקס | תגים: , , , | להגיב

תרגום תוספים ב-WordPress

כל משתמש WordPress יודע – לא תמיד תוסף זקוק לתרגום לעברית. תוספים שהשימוש בהם פשוט מאוד, או תוספים שהשימוש שלהם אינו דורש כמעט טקסט – פשוט יכולים להשאר בשפת המקור, בתנאי שהיא, כמובן, אנגלית.

אך מה קורה כאשר השפה / המונחים מורכבים מדי למשתמש העברי הממוצע ב-Wordpress ? אז התרגום יכול להיות מאוד מבוקש.

ברשומה זאת נדבר על תרגום ב-Wordpress ועל תרגום תוספים בפרט.

I18n

הכותרת מרמזת על רעיון הבינאום (הפיכה לבינלאומי) והינה בעצם קיצור נחמד למילה Internationalization (שהיא i גדולה, 18 אותיות ואז n בסוף. חמוד, לא?). בקצרה, בינאום הינו שלב אחד לפני תרגום. כדי שאפשר יהיה לתרגם תוסף או אלמנט אחר ב-Wordpress, צריכה להמצא פונקציה שיודעת להבדיל בין קוד לטקסט שאפשר לתרגם אותו, ושתדע להיכן לגשת על מנת לשאוב את המחרוזות המתורגמות.

עכשיו התנצלות קטנה – אני לא מתכנן להקיף את כל מה שקשור לתחום הבינאום והתרגום ב-Wordpress. אני מנסה לתת כלים לתרגום, בלי התיאוריה. שלא תבינו לא נכון, היא מאוד חשובה להבנה נכונה של המערכת. אבל עשו את זה כבר טובים ממני (אמנם באנגלית, אבל לא הבטחתי לתרגם את זה (: ) -  למעוניינים להרחיב – I18n for WordPress Developers. אתכם הסליחה.

אבל בכל זאת… קצת מושגים טכניים:

מחרוזת שאינה מוכנה לתרגום, נראית כך:

<code lang="php">echo "my wordpress plugin text";
</code>

על מנת לאפשר בעתיד תרגום של המחרוזת, יש לעטוף את המחרוזת בתוך אחת משתי פונקציות – _e()  או __().

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

אותה מחרוזת שמוכנה לתרגום תיראה כך:

_e("my wordpress plugin text"(;

זוהי כל תורת הבנאום על רגל אחת, אבל בבקשה – אם אתם מגיעים לתוסף לא מוכן לתרגום (לא מבונאם), אל תעשו זאת רק על סמך מה שכתבתי כאן. קראו את כל המאמר על I18n באתר של WordPress, בקישור שלעיל. אנחנו מתמקדים כאן בתרגום ולא בבנאום.

שאלה – איך יודעים אם תוסף כבר מבונאם או לא?

תשובה א' – מחפשים קבצי pot, po ו-mo (עוד מעט ניתן הסבר עליהם, יש להם חשיבות)

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

עוד כמה הגדרות לפני התרגום

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

קבצי mo - קבצי ה-mo הינם העתק של  קבצי ה-po חוץ מעניין אחד קטן – קבצי ה-mo קטנים בהרבה בנפח, דבר שמקל על תעבורת המידע. מסיבה זו את קבצי הmo רק המכונה (מערכת התרגום) יודעת לראות. חשוב להבין שאין לזה ערך לערוך בעורך טקסט את קבצי ה-po ולשנות את התוכן, מכיוון שהם לא ישפיעו כך על קובץ ה-mo. יש רק דרך אחת לעשות זאת כמו שצריך (ואם תעקבו אחר המדריך שתיכף יתחיל, תדעו אותה גם אתם).

קבצי pot - קבצי pot הם בעצם קבצי po ריקים מתוכן מתורגם. עליהם נעשה כל תרגום חדש ולאחר מכן נשמר בתור קבצי mo ו-po חדשים.

Xgettext – תוכנה קטנה ליצירת קבצי pot מתוך קובץ php שבונאם.

POedit – תוכנת GUI ליצירת po ו-mo מתוך קובץ pot.

ועכשיו המדריך. עקבו צעד-אחר-צעד ותגיעו לגביע הקדוש.

שלבי התרגום:

1. מצאתי תוסף שזקוק לתרגום, ושכבר בונאם. איך גיליתי זאת? פתחתי את תקיית התוסף, וראיתי כי קיימים קבצי PO ו MO. היו כאלה אך רק בשפה האיטלקית.

תוסף בר-תרגום

תוסף בר-תרגום

2. התקנת xgettext (בubuntu 9.10 היא "באה לבד").

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

ליצור קובץ pot

ליצור קובץ pot

4. לפתוח את POedit ולטעון את קובץ הpot מהתקייה, דרך "קובץ" >> "קטלוג חדש מקובץ pot", להכניס את הפרטים המתאימים תחת הגדרות. הערה: בגדול, התעלמו מהטאבים "נתיבית", ו"מילות מפתח". הערה 2: ברוב התוספים אין צורך לגעת בצורות רבים, ועל כן לא אלאה אתכם בעניין. אם אתם לא התרגום הראשון לתוסף, בידקו מה כתוב תחת plural בקובץ ה-po של תרגום כלשהו.

פרטים בPOedit

פרטים בPOedit

5. לתרגם את המחרוזות משפת האם.

לתרגם את המחרוזות

לתרגם את המחרוזות

6. לבדוק שב"עריכה">> "העדפות" >> תחת הטאב "עורך" – כפתור ה-checkbox ליד "הדר לקובץ mo בשמירה אוטומטית" מסומן ב-v.

7. לשמור את הקובץ, ולסגור את POedit. עתה תראו שהתוכנה יצרה את שני הקבצים (mo ו po) אך ללא המזהה של השפה הספציפית , תוכלו להוסיף את המזהה בעצמכם על ידי עריכת שם הקבצים.

 שנה שם

שנה שם

זהו זה.

כמובן שיש איפה להסתבך, ויש עוד דברים כמו text-domain ואיך מעדכנים תרגום בלי לתרגם הכל מההתחלה, שלא דיברנו עליהם. אבל על הבסיס דיברנו.

כמובן שאם תהיה התעניינות, זה ידרבן אותי לכתוב בנושא יותר.

קטגוריות: וורדפרס | תגים: , , , , , , | תגובה אחת

עבודה נכונה עם כיווניות (rtl/ltr) בתוסף Transposh ב-WordPress בעברית

עובד במערכת וורדפרס 2.8.6, עם רכיב התרגום Transposh 0.35

לא מזמן פרסמתי רשומה על טיפול בשפות עם כיווניות שונה כאשר משתמשים ברכיב התרגום Transposh 0.33.

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

עכשיו הייתי צריך לעשות הכל מההתחלה, והחלטתי שהפעם אני אשתמש רק בשני קבצי CSS – לRTL ול-LTR.

קובץ ה-CSS הראשי (style.css) יהיה ה-LTR, וקובץ CSS שני יהיה ל-RTL (על אף שהייתי צריך RTL לשתיים השפות וLTR רק לאחת).

הבעיה הראשונה שנתקלתי בה נוצרה מכיוון שהWP הותקן בעברית, מה שגרם לwp_head לדרוש את הקובץ rtl.css בכל הפעלה. את האמת, לא ידעתי כל-כך איך לגשת ולהתנות את הוספת rtl.css ב-wp-head לפי השפות המשתנות של Transposh. אז החלטתי להתעלם ממנו (למחוק את הקובץ בכלל), וליצור קובץ חדש style-rtl.css. אני יודע שזה לא מאוד אלגנטי, אבל זה עושה את העבודה.

עכשיו רק הייתי צריך לגרום ל-head של התבנית הנבחרת להתנות את הופעת קובץ ה-style-rtl.css כאשר המשתמש מחליף את ה-Transposh לשפה שדורשת RTL (כמו עברית, או ערבית).

את רוב הטיפ הבא קיבלתי מהח'ברה ב-Transposh, ומעט שיניתי בעצמי.

target_language,
$GLOBALS['rtl_languages'])) ? (' ') : "";?>

במערך גלובאלי שיצרו ברכיב, שמורות כל השפות שזקוקות לשינוי כיווניות (rtl-languages), ובמערך אחר (my_transposh_plugin) שמורה השפה שאיתה הרכיב עובד ברגע זה (target_language).
ניצור תנאי שאומר: אם השפה בה הרכיב עובד עתה מתאימה לאחת מהשפות במערך השפות שדורשות התאמת rtl, עשה משהו.
במקרה הזה, הפעולה היא להדפיס למסך את קישור טעינת ה-style-rtl.css, ובקובץ זה נמצאות ההגדרות החדשות שדורסות את ההגדרות הישנות של style.css על מנת להתאים לשפת ה-RTL.

זה הכל. פשוט לא?

קטגוריות: כללי | 2 תגובות

התקנת bbPress 1.0.2 והטמעה בתוך WordPress בעזרת Embed-BBpress 0.8

נכתב עבור WordPress 2.8.x ועבור bbPress 1.0.2

החברים ב-bbPress החליטו שהם בונים פורום תואם WordPress אבל שאינו מותקן כתוסף, אלא מותקן בנפרד. בהתחשב בגודל מערכת ה-bbPress אפשר שזו החלטה נכונה. עם זאת, יש צורך להשקיע מחשבה בהטמעה של הפורום במערכת ה-WP, בעיקר עבור מנהלי אתר הדורשים ממשק ידידותי למשתמש.

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

התקנת bbPress:

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

1. הורדת bbPress מהאתר הרשמי, כאן.

2. יש להעלתו את bbPress (העדפה אישית בספרייה forum בתוך הספרייה הראשית של ה-WP) עם כל הקודים שמועתקים גם לwp-config של הwp.

3. לגשת לספרייה של הפורום (התקייה /forum, ב-URL הראשי של האתר שלכם), ולעקוב אחרי ההוראות. הערה: כדאי לבחור התקנה של הפורום על אותו מסד נתונים כמו של ה-WP, אין באמת סיבה לבחור אחרת.

4. במהלך ההתקנה, תתבקשו להזין שם וסיסמא של מסד נתונים, וכו' ובין השאר גם מספר קודים כמו auth, ו-log-in. את הקודים ניתן לייצר כאן. תתבקשו גם להוסיף קודים מהגדרה קיימת של מערכת ה-WP, שנקראים Salt. אותם אפשר למצוא ב-../wp-admin/options.php תחת ה-URL הראשי של האתר שלכם. את ה-Salt של secure auth לא בטוח תמצאו, וזה בסדר. השאירו אותו ריק. הערה: את כל הקודים שאתם מזינים יש להעתיק גם לקובץ wp-config של מערכת ה-WP שלכם (נמצא בספרייה הראשית). פשוט חפשו את המקום המתאים ביותר (יש אחד כזה שמחכה בדיוק לקודים הללו שלכם).

5. עתה נדאג לעברית של הפורום. מאתר התוסף (הקישור לעיל), יש להוריד שלושה קבצים:

  • he_IL.php, אותו מעלים לספרייה bb-include/languages בספרייה הראשית של הפורום. אם הספרייה languages לא קיימת, יש ליצור אותה.
  • he_IL.po ו-he_IL.mo, אותם מעלים לספרייה my-languages שבספרייה הראשית של הפורום. אם הספרייה my-languages לא קיימת, יש ליצור אותה.

שינוי אחרון שיש לעשות על מנת שהתרגום יקלט הוא לדאוג שהשורה הזאת מופיעה כך בקובץ class.bb-locale.php שבספרייה bb-include שבספרייה הראשית של הפורום:

var $text_direction = 'rtl';

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

5. בהנחה שהפורום הותקן והכל עבר בשלום, התקינו שלושה תוספים: bbPress Integration, New bbPress Admin, ו-Embed-BBpress 0.8.

6. חפשו את ההגדרות של bbPress integration. התוסף יבקש מכם את כתובת ההתקנה של האתר (גישה ישירה לשרת), את הכתובת הדומיין של האתר, וברירה בין WP לבין WPmu (אם אינך יודע מה לבחור, כנראה שאתה צריך לבחור WP). לאחר שתשמור את העדפות, התוסף ייצר קוד שגם אותו תצטרך להוסיף לwp-config.

7. הפעלת New bbPress Admin היא ממש פשוטה. פשוט להזין לשדה היחיד את הקישור הישיר לממשק הניהול של הפורום, שזה בעצם הקישור הישיר בצירוף הספרייה האחרונה /bb-admin.

8. הפעלת Embed-BBpress 0.8 היא דומה להפעלת New bbPress Admin – לגשת ללשונית "Embed-BBpress" שתחת התפריט "תוספים". במסך העריכה יש להזין את ה-URL הישיר לאתר, ואת רוחב וגובה חלון ההטמעה שאתם מעוניינים בו.

9. עכשיו יש אפשרות שתבנית הפורום תהיה רחבה מדי לחלון שבחרתם. על מנת להתמודד עם זה בקלות, בצעו את השלבים הבאים:

  • בממשק הניהול של הפורום, תחת "מראה" יש לבחור את תבנית ברירת המחדל kakumei.
  • להוריד את הקבצים הללו מכאן, ו"לדרוס" איתם את הקבצים בתקיית kakumei שב-bb-templates בקבצי הפורום. העיצוב החדש של הפורום, יתאים לכל רוחב חלון שמעל 450px, ואם זה לא מתאים לאתר שלכם עדיין, אז התבנית שבחרתם היא מאוד מוזרה.
  • עכשיו אפשר להוריד את קבצי ה-CSS שהעלתם הרגע, ולערוך אותם כרצונכם: צבעים, הדגשות וכו'. עיצוב CSS. לא נתעכב על זה.

9. עתה, צרו עמוד או רשומה חדשה, והטמיעו בה את הקוד [Embed-BBpress]. הפורום פשוט יופיע.

זה הכל. מזל-טוב, יש לכם פורום חדש ב-WordPress.

קטגוריות: וורדפרס | תגים: , , , , , , | 5 תגובות

איך לגרום לtinyMCE לכתוב עברית בכיוון נכון בזמן עריכה

אני שונא WYAIWYG-ים. באמת שונא אותם. הם תמיד מחרבשים את הטקסט וזה אף פעם לא יוצא כמו שאתה רוצה.

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

אין ברירה. חייבים להצליח לעבוד איתם, עם ה-WYSIWYG-ים.

בעיה מעצבנת לאללה, שבדרך כלל לא משפיעה על הטקסט כשנשמר (וזה מפתיע באמת…) אבל בזמן העריכה זה מאוד מעצבן, וסבלנותם של משתמשי הקצה עשויה להגמר עוד לפני שיפרסמו את הטקסט הראשון שלהם, ויראו שבסוף זה לא נורא – חלון העריכה מיושר לשמאל (מכוון ללעז), וכמובן שאם לוחצים על ישור לימין, אז עדיין הסמן נמצא בתחילת השורה ולא במקום הראוי לו, והניקוד מופיע גם הוא בתחילת השורה.

הפתרון שעבד לי, בגירסת tinyMCE 3/2.4.1 (לקח לי מלא זמן למצוא את הגרסה, ואני אפילו לא בטוח שזה מעודכן כי זה מאיזו הודעה מהקרביים של קובץ ה-js… אין מה לעשות, התיעוד שלהם חרא), המותקנת לצרכי WordPress, הוא פשוט יחסית:

1. למצוא את קובץ ה-css, בספרייה wp-includes/js/tinymce/themes/advanced/skins/wp_theme, ולהוסיף לאלמנט Body mceContent   ולאלמנט #tinyMCE (אם הוא לא קיים, אז ליצור אותו), את התכונה:

 text-align:right;

2. היכן שהתוכנה קוראת לtinyMCE היא עושה זאת באמצעות המערך JavaScript שנקרא tinyMCE.init. למערך זה צריך להוסיף את הערך:
 

directionality: "rtl"

תכנסו ותחפשו, אז תבינו למה הכוונה.

זה הכל.

קטגוריות: ג'ומלה, וורדפרס | תגים: , , , , , , | להגיב

שימוש נכון ב-xgettext לפענוח קבצי php בלינוקס

לקח לי יומיים בערך להפיק קובץ po ריק (שזה בעצם קובץ pot) מתוכנת שורת הפקודה gettext. יש הממממון חומר על זה באינטרנט, ורק 5% אחוזים באמת נותנים דוגמא ממשית (כי זה אמור כאילו להיות פשוט), אבל מה? ה-syntax הוא בלתי ניתן להבנה מהמדריך (רק בניסוי וטעיה) וההערות אודות הטעויות שהתוכנה מחזירה הן פשוט לא קשורות. כל חלק שהתוכנה לא מבינה היא מחזירה:

xgettext: error while opening "blablabla" for reading: No such file or directory

אז אולי יום אחד גם אפרסם מדריך מסודר וארוך על התוכנה הזאת. אבל בינתיים אני מציג כאן את ה-syntax שעבד לי בסופו של דבר, תחת מערכת אובונטו 8.10, עם gettext 0.17.

בטרמינל, הגעתי לספרייה הרלוונטית שבו נמצא הקובץ, ואז הקלדתי:

xgettext -L php *.php –keyword="__" –keyword="_e"  –from-code=utf-8 –no-wrap –output=embed-bbpress.po

*שימו לב: לפני כל keyword יש שני מקפים, ולא אחד. מסיבה כלשהי שאינה מובנת לי, העורך הוויזואלי של WP הופך את שני המקפים למקף אחד. חשוב, כיוון שאחרת הפקודה לא תצליח.

זה עבד לי. אם גם לכם יש בעיות, ספרו לי כאן, ואנסה לעזור.

קטגוריות: וורדפרס | להגיב

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

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

הולכים למערכת >> העדפות >> תצורת ההפעלה, ובלשונית (Tab) "תוכניות ההפעלה" לוחצים על "הוסף", ומקלידים את הפקודה שתפתח את התוכנה הרצויה (אם אתם לא בטוחים, נסו לפתוח מסוף, ולהקליד את שם התוכנה, 80% סיכוי שזאת היא הפקודה הבסיסית לפתוח את התוכנה).

זהו זה. פשוט, לא?

תוכניות ההפעלה

תוכניות ההפעלה

נבדק תחת אובונטו 8.10 (Intrepid Ibex), אבל אין ספק שזה לא שונה מאוד בכל ההפצות החדשות.

קטגוריות: אובונטו לינוקס | תגים: , , | להגיב