לשנות את המילה "פוסט" למילה "מאמר" ברמת פונקציות התרגום
פעמים רבות אתם מתקינים וורדפרס ללקוחות ומסבירים להם שיש הבדל בין דפים לבין פוסטים, ואז מגיעה השאלה "מה זה פוסט?" ונשאלת השאלה "למה לא קוראים לזה מאמר?" (או כל שם אחר). אז אפשר ליצור תכנים מותאמים אישית (Custom Post Types) אבל אם במהות לפוסטים ולמאמרים יהיה אותו שימוש וההבדל היחיד היא בטרמינולוגיה, אז זה לא מומלץ. היום אני אדבר על פילטר שנתקלתי בו, שמשנה את המילה "פוסט" לכל מילה אחרת בזמן תרגום המחרוזות.
שינוי המילה Post למילה Article
ניתן לשנות את המילה Post למילה Article בעזרת הפילטר הבא, אותו יש להוסיף לקובץ functions.php בערכת העיצוב שלכם:
$translated = str_replace( 'Post', 'Article', $translated );
$translated = str_replace( 'post', 'article', $translated );
return $translated;
}
add_filter( 'gettext', 'change_translation' );
add_filter( 'ngettext', 'change_translation' );
שינוי המילה "פוסט" למילה "מאמר"
על אותו עיקרון ניתן לשנות את המילה "פוסט" למילה "מאמר" בעזרת הפילטר הבא:
$translated = str_replace( 'פוסט', 'מאמר', $translated );
return $translated;
}
add_filter( 'gettext', 'change_translation' );
add_filter( 'ngettext', 'change_translation' );
הסבר על הטכניקה
הטכניקה הזו מאוד שימושית שכן היא לא משנה את סוג הפוסט אלא רק את השם שיוצג תוך ביצוע שינויים ברמת פונקציות התרגום. במילים אחרות, זה עדיין תוכן מסוג "פוסט" אבל המשתמש במערכת רואה את המילה "מאמר". פשוט ביותר.
סוגיות ידועות
בשפה האנגלית יש בעיה עם אותיות גדולות בתחילת מילה. לכן יש לבצע str_replace (חפש והחלף) פעמיים, פעם אם אות גדולה בראש מילה ופעם נוספת עם אות קטנה. זו לא בעיה גדולה אבל תשימו לב לזה.
בעיה מהותית יותר היא שהשינוי לא חל על כל העמודים, ברוב העמודים הפילטר עובד כמצופה אבל לא בכולם (ראו תמונה הבאה). אינני יודע מדוע זה קורה, וטרם מצאתי פתרון לבעיה, אבל זה קורה ואתם צריכים להיות מודעים לעובדה זו כשאתם מיישמים טכניקה זו. אגב, אם יש למישהו פתרון לבעיה, שתפו באזור התגובות.
והבעיה הגדולה ביותר היא שימוש רב במשאבי מערכת. זה פחות רלוונטי לאתרים קטנים או אתרי תדמית, אבל עבור אתרים גדולים עם נפח תעבורה גבוהה או אתרים עם הרבה כותבים, הנושא הופך למהותי יותר. קצת רקע, אתרי וורדפרס שעושים שימוש בשפה "אחרת" זוללים יותר משאבים, כי כל טקסט שמוצג נדרש לשלוף תרגום לאותו הטקסט. זו סוגיה ידועה והגרמנים כל הזמן מתלוננים על זה שאתרים בגרמנית (או בכל שפה אחרת) צורכים יותר משאבים מאתרים באנגלית כי מתווספת עוד פעולה (תרגום הטקסט). הפילטר שלנו משנה את התרגום שמוחזר ומבצע בו שינוי נוסף, זו עוד פעולה שמתבצעת בכל פעם שמציגים מחרוזות. אז צריכת המשאבים גדלה עוד יותר.









בד"כ אני עושה שינוי ברמת הקבצי תרגום של המערכת. פשוט כל גרסה שיוצאת אני מעביר פילטר שמחליף את המונחים "פוסט" ו"פוסטים" ב"מאמר" או "אייטם" תלוי לפי הצורך. עניין של חצי דקה.
אבל לטווח ארוך של עדכוני גרסאות זה לא ממש פיתרון…
אריאל, באיזה פילטר אתה משתמש? תוכל לשתף?
האם ניתן לבצע שינוי מ"בלוג" ל-"אתר" עם הפילטר הזה?
צחי, הפילטר משנה מחרוזות בפונקציות התרגום. אתה בוחר אילו מחרוזות לשנות, בין אם זה "פוסט" ובין אם זה "בלוג".
היי רמי, אחלה של פיתרון! תודה על הפוסט (או המאמר?).
רציתי לדעת כיצד אוכל לשנות מילים כמו Posted by ל"מאת" , COMMENT ל"הגב" .. ניסיתי לשנות את זה ישירות דרך הקוד אבל כשאני עושה שמור ומסתכלת באתר מופיע לי ריבועים ��� כאלו.. מה אני יכולה לעשות ? תודה רבה על העזרה!
הגר, זו בעיה מוכרת כאשר משנים את הקוד.
יש לשנות את הקידוד של הקובץ בדרך הבאה: תפתחי את הקובץ עם Notepad++, בסרגל העליון תבחרי Encoding ותשני קידוד ל- Convert to UTF-8 without BOM.
טוב לדעת! תודה
הוסף תגובה !
טיפ אקראי
שאילתות מורכבות בוורדפרס 3.1
וורדפרס 3.1 מרחיבה את השאילתות שקשורות לטקסונומיה מותאמת אישית (Custom Taxonomies) ולשדות מיוחדים (Custom Fields). בפוסט זה אציג דוגמאות לשאילתות-וורדפרס לפני ואחרי 3.1.
ניווט באתר
תפריט נושאים
מחוללי וורדפרס
ברוכים הבאים
עדכונים אחרונים
חיפוש
כלים מומלצים
תגיות
תגובות אחרונות
המשתמשים המגיבים ביותר
הפוסטים הנצפים ביותר