משתמש:ערן/checkty.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
if (wgAction == 'edit' || wgAction == 'submit')
addOnloadHook(addCheckButton);
/* הוספת כפתור שמבצע החלפות שונות ומתריע על בעיות סגנון שונות */
function CheckTy()
{
txt = document.editform.wpTextbox1.value;
//החלפות - החלפות שתואמות את [[ויקיפדיה:בוט/בוט החלפות/רשימת החלפות נוכחית]] (רשימה חלקית של דברים נפוצים בלבד)
txt = txt.replace(/\[Category:/gi, "[קטגוריה:");
txt = txt.replace(/\[Image:/gi, "[תמונה:");
txt = txt.replace(/\פיסיק/g, "פיזיק");
txt = txt.replace(/\תיאורי?(יה|יית|יות|טי)/g, "תאור$1");
txt = txt.replace(/\גיאולוג/g, "גאולוג");
txt = txt.replace(/\תיאולוג/g, "תאולוג");
txt = txt.replace(/\פיסיולוג/g, "פיזיולוג");
txt = txt.replace(/\ניאו-/g, "נאו-");
txt = txt.replace(/\צ'רלס/g, "צ'ארלס");
txt = txt.replace(/\אירגון/g, "ארגון");
txt = txt.replace(/( |==)ראה גם( |==)/g, "$1ראו גם$2");
txt = txt.replace(/\איזור/g, "אזור");
txt = txt.replace(/\כנסיה/g, "כנסייה");
txt = txt.replace(/\סינטטי/g, "סינתטי");
txt = txt.replace(/\צלסיוס/g, "צלזיוס");
txt = txt.replace(/\דארווין/g, "דרווין");
txt = txt.replace(/\ שניה /g, " שנייה ");
txt = txt.replace(/\ריצ'ארד/g, "ריצ'רד");
txt = txt.replace(/\סטאלין/g, "סטלין");
txt = txt.replace(/\ היתה/g, " הייתה");
txt = txt.replace(/\ הישוב/g, " היישוב");
txt = txt.replace(/\טריויה/g, "טריוויה");
txt = txt.replace(/\דוגמאת/g, "דוגמת");
txt = txt.replace(/\דוגמא /g, "דוגמה ");
txt = txt.replace(/\ גי?רסא /g, " גרסה ");
txt = txt.replace(/\ליניארי/g, "לינארי");
txt = txt.replace(/\מסויי([מם])/g, "מסוי$1");
txt = txt.replace(/\רנסנס/g, "רנסאנס");
txt = txt.replace(/\מצויי(ן|נ)/g, "מצוי$1");
txt = txt.replace(/\שוודי/g, "שבדי");
txt = txt.replace(/\נורווגי/g, "נורבגי");
txt = txt.replace(/\בינה(ם|ן)/g, "ביניה$1");
txt = txt.replace(/\גיאוגרפיה/g, "גאוגרפיה");
txt = txt.replace(/\מוסיקה/g, "מוזיקה");
txt = txt.replace(/\עפ\"י/g, "על פי");
txt = txt.replace(/\|thumb\|/gi, "|ממוזער|");
txt = txt.replace(/\|right\|/gi, "|ימין|");
txt = txt.replace(/\|left\|/gi, "|שמאל|");
txt = txt.replace(/\במידה ו/g, "במידה ש");
txt = txt.replace(/עויין/g, "עוין");
//החלפת תבנית ש בbr
txt = txt.replace(/\{\{ש\}\}/g, "<br/>");
//תיקון תאריכים
txt = txt.replace(/ב[- ]?(\[\[)?([0-9])?([0-9]) [בל](ינואר|פברואר|מרץ|אפריל|מאי|יוני|יולי|אוגוסט|ספטמבר|אוקטובר|נובמבר|דצמבר)(\]\])?/g, "ב-$1$2$3 ב$4$5");
//תיקוני פורמט ויקי
txt = txt.replace(/\[\[(.*?)\|\1(.*?)\]\]/g, "[[$1]]$2");
//תיקון ריווחים בטקסט עברי
txt = txt.replace(/([א-ת]\]?\]?) ?([,\.])(\[?\[?[א-ת])/g, "$1$2 $3");
txt = txt.replace(/([א-ת])\( ?([א-ת])/g, "$1 ($2");
//תיקוני ריווחים ופורמט
txt = txt.replace(/\t/g, " ");
txt = txt.replace(/(\n\n)\n+/g, "$1");
txt = txt.replace(/== ? ?\n\n==/g, "==\n==");
txt = txt.replace(/^ ? ? \n/gm, "\n");
txt = txt.replace(/[ \t][ \t]+/g, " ");
document.editform.wpTextbox1.value = txt;
comstr="";
if(txt.indexOf("בגלל ש",0)!=-1) comstr=comstr+"\nיתכן שבערך מופיע הצירוף בגלל ש. אם מופיע מומלץ להחליפו בכיוון ש, משום ש, מאחר ש או מפני ש (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("עובדה מעניינת היא",0)!=-1 || txt.indexOf("יש לציין",0)!=-1){
comstr=comstr+"\nאל תעיד אל עיסתך! מומלץ להימנע מהביטוים עובדה מעניינת היא או יש לציין. יש לתת לקורא להחליט אם העובדה ראויה לציון. (מידע נוסף ב ויקיפדיה:לשון)";
}
if(txt.indexOf("כידוע",0)!=-1 || txt.indexOf("כמובן",0)!=-1) comstr=comstr+"\nבערך מוזכרת המילה כידוע או כמובן. אם הפרט אכן ידוע לכול, אין טעם לציין זאת, ואם לא אז מעורר תחושת בורות אצל הקוראים (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("נולד להוריו",0)!=-1 ||txt.indexOf("נולדה להוריה",0)!=-1) comstr=comstr+"\nבערך מוזכר הצירוף נולד להוריו. מן הסתם נולד להוריו, ואין צורך לציין זאת (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("למרות ש",0)!=-1) comstr=comstr+"\nיתכן שבערך מופיע הצירוף למרות ש. אם מופיע מומלץ להחליפו באף על פי ש (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("זכה לביקורת",0)!=-1 || txt.indexOf("זכתה לביקורת",0)!=-1) comstr=comstr+"\nבערך מופיע הביטוי זכה לביקורת. יש להעדיף את הביטוי ספג ביקורת (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("חייו המוקדמים",0)!=-1 || txt.indexOf("חייה המוקדמים",0)!=-1) comstr=comstr+"\nבערך מופיע הביטוי חיו המוקדמים. יש להעדיף ראשית חייו, ילדותו או נעוריו (מידע נוסף ב ויקיפדיה:לשון)";
if(txt.indexOf("כנראה ש",0)!=-1) comstr += "\nבערך מופיע הצירוף כנראה ש. רצוי להחליפו בנראה ש";
if(txt.indexOf("להיכן",0)!=-1 || txt.indexOf("לאיפה",0)!=-1 || txt.indexOf("מהיכן",0)!=-1 || txt.indexOf("מאיפה",0)!=-1) comstr += "\nבערך מופיע בכל\"ם בצמוד לאיפה או להיכן. רצוי להחליף במקרים אלו מומלץ להחליף למילית שאלה אין - לאן או מאין";
if(txt.indexOf("הכי טוב",0)!=-1){
comstr=comstr+"\nבערך זה מופיע הצירוף הכי טוב, יתכן שכדאי להחליפו לטוב ביותר (מידע נוסף ב ויקיפדיה:שגיאות תרגום נפוצות)";
}
if(txt.indexOf("נפלא",0)!=-1 || txt.indexOf("מחריד",0)!=-1 || txt.indexOf("נהדר",0)!=-1) comstr=comstr+"\nיתכן שהערך כולל סופרלטיבים מיותרים";
var largeElement= /[6789][0-9][0-9]px/;
if(largeElement.test(txt)) comstr=comstr+"\nבערך קיים אלמנט גדול, רצוי להקטין כדי שיתאים לרזולוציות נמוכות";
var manyLi=RegExp('(?:\n\\*.*){20}');
if(manyLi.test(txt)) comstr+="\nנראה כי בערך רשימה של מעל 20 פריטים. כדאי לשקול לפצלה לשני טורים באמצעות תבנית:שני טורים";
if(txt.indexOf(" ז\"ל ",0)!=-1) comstr=comstr+"\nאין להצמיד לאדם את התואר ז\"ל (מידע נוסף ב ויקיפדיה:עקרונות מיוחדים לשפה העברית)";
if(comstr!=""){
alert(comstr);
}
}
function addCheckButton(){
if (!window.checkToolName) checkToolName= 'בדיקה';
var accesskey = window.checkToolKey || '';
addSystemButton(checkToolName, CheckTy, 'btnCheckTool', 'בדיקה', accesskey);
}