שיתוף | תרגום הסטטוס של ה ✔️✔️ במיילטראק
-
היי לכולם, מקווה שאני לא מפריע לכם בין ניקיון התנור למקרר,
מקווה שהידיים שלכם לא שומניות מהמסיר שומנים (עוד יותר מקווה שזכרתם להלביש כפפות) .יאללה, אז אחרי שידידנו ר' @י-ע ביקש תוסף למעקב מיילים בעברית וכמה שאני יודע, אין חיה כזו...
אז ככה, יש לנו את התוסף של מיילטראק, לא, זה לא בעברית, אבל חשבתי לנסות לתרגם...
הורדתי את הCRX שלו, אבל, וואלה, איבדתי את עצמי מרוב קבצים מוצפנים שיש שם...כמעט והתייאשתי, אבל אז נזכרתי מידידנו ר' @עדלאידע שהעלה את המודעות לתוסף המעולה Tampermonkey, אמרתי לעצמי, למה לא ננסה עם זה...
אז הנה לכם סקריפט בטמפרמונקי שיתרגם לכם את הטולטיפ של מייל טראק
// ==UserScript== // @name תרגום הסטטוסים של מיילטראק // @namespace http://tampermonkey.net/ // @version 1.0 // @author יוסף אלחנן@ // @description מתרגם טולטיפים של Mailtrack לעברית כולל כל הביטויים בחלונית תוך שמירה על העיצוב // @match https://mail.google.com/* // @grant none // ==/UserScript== (function() { 'use strict'; const translations = { "Your last email was read": " המייל האחרון שלך נקרא ", "read your email": " קרא את המייל שלך ", "hours ago": " לפני שעות ", "Hasn't read your last email yet": " עדיין לא קרא את המייל האחרון שלך ", "Email not tracked": " מייל לא במעקב ", "read your last email": " קרא את המייל האחרון שלך ", "day ago": " לפני יום ", "days ago": " לפני ימים ", "times": " פעמים ", "First read": " קריאה ראשונה ", "day after you sent it": " יום אחרי ששלחת אותו ", "days after you sent it": " ימים אחרי ששלחת אותו ", "The open status of this message may be unreliable": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין ", "It's possible that email service provider doesn't allow email tracking": " ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", "The open status of this message may be unreliable. It's possible that email service provider doesn't allow email tracking": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין. ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", "minutes after you sent it": " דקות אחרי ששלחת אותו ", "First read hours after you sent it": " קריאה ראשונה שעות אחרי ששלחת אותו ", "First read less than a minute after you sent it": " קריאה ראשונה פחות מדקה אחרי ששלחת אותו ", "minutes ago": " לפני דקות " }; function translateText(text) { let translated = text; for (let pattern in translations) { const regex = new RegExp(pattern, 'gi'); translated = translated.replace(regex, translations[pattern]); } return translated; } function processTextNodes(element) { element.childNodes.forEach(node => { if (node.nodeType === Node.TEXT_NODE) { const text = node.textContent.trim(); if (text && text !== "See full tracking history") { const translated = translateText(text); if (translated !== text) { node.textContent = translated; } } } else if (node.nodeType === Node.ELEMENT_NODE) { processTextNodes(node); } }); } function updateTooltips() { document.querySelectorAll('[role="tooltip"]').forEach(tooltip => { const textOnly = tooltip.textContent.trim(); if (textOnly && textOnly !== "See full tracking history") { const translatedText = translateText(textOnly); if (translatedText !== textOnly) { // נסה קודם לתרגם את הטקסט המלא if (textOnly in translations) { tooltip.textContent = translatedText; } else { // אם יש עיצוב או פיצול, תרגם את ה-text nodes processTextNodes(tooltip); } } } }); } const observer = new MutationObserver(() => { updateTooltips(); }); observer.observe(document.body, { childList: true, subtree: true }); updateTooltips(); setInterval(() => { updateTooltips(); }, 1000); })();
איך להתקין?
יש לכם מדריך מפורט פה!
רק תמחקואת כל הקוד שמופיע שם ותדביקו את הקוד שהעלתי לעייל.
התרגום הוא ממש בסיסי, והוא יופיע לפעמים עם שגיאות בשילוב של המילים...
נגיד, במקום שיהיה כתוב:קרא את המייל שלך לפני 10 דקות
יהיה כתובקרא את המייל שלך 10 לפני דקות
אבל סומך עליכם שתבינו...מצאתם מילים שלא מופיעות בסקריפט?
מוזמנים לערוך לבד...המון המון הצלחה!
אה, ותעבדו על האנגלית שלכם!
בכלל, כדאי לכם לעבור על הקוד, אולי אני תירגמתי לא נכון...
מעניין לציין שביקשתי מGPT עזרה, אבל הוא עבד ממש קשה (לזכותו יאמר) אבל הוא לא הצליח כלום...כשפניתי לGROK של @אלון-מאסק הוא נתן לי מיד סקריפט שעשה את זה, אמנם היו הרבה עריכות ותיקונים, אבל הוא הצליח מיד בקוד הראשון שלו...
-
@יוסף-אלחנן כתב בשיתוף | תרגום הסטטוס של מיילטראק:
> // ==UserScript== > // @name תרגום הסטטוסים של מיילטראק > // @namespace http://tampermonkey.net/ > // @version 1.0 > // @author יוסף אלחנן@ > // @description מתרגם טולטיפים של Mailtrack לעברית כולל כל הביטויים בחלונית תוך שמירה על העיצוב > // @match https://mail.google.com/* > // @grant none > // ==/UserScript== > > (function() { > 'use strict'; > > const translations = { > "Your last email was read": " המייל האחרון שלך נקרא ", > "read your email": " קרא את המייל שלך ", > "hours ago": " לפני שעות ", > "Hasn't read your last email yet": " עדיין לא קרא את המייל האחרון שלך ", > "Email not tracked": " מייל לא במעקב ", > "read your last email": " קרא את המייל האחרון שלך ", > "day ago": " לפני יום ", > "days ago": " לפני ימים ", > "times": " פעמים ", > "First read": " קריאה ראשונה ", > "day after you sent it": " יום אחרי ששלחת אותו ", > "days after you sent it": " ימים אחרי ששלחת אותו ", > "The open status of this message may be unreliable": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין ", > "It's possible that email service provider doesn't allow email tracking": " ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", > "The open status of this message may be unreliable. It's possible that email service provider doesn't allow email tracking": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין. ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", > "minutes after you sent it": " דקות אחרי ששלחת אותו ", > "First read hours after you sent it": " קריאה ראשונה שעות אחרי ששלחת אותו ", > "First read less than a minute after you sent it": " קריאה ראשונה פחות מדקה אחרי ששלחת אותו ", > "minutes ago": " לפני דקות " > }; > > function translateText(text) { > let translated = text; > for (let pattern in translations) { > const regex = new RegExp(pattern, 'gi'); > translated = translated.replace(regex, translations[pattern]); > } > return translated; > } > > function processTextNodes(element) { > element.childNodes.forEach(node => { > if (node.nodeType === Node.TEXT_NODE) { > const text = node.textContent.trim(); > if (text && text !== "See full tracking history") { > const translated = translateText(text); > if (translated !== text) { > node.textContent = translated; > } > } > } else if (node.nodeType === Node.ELEMENT_NODE) { > processTextNodes(node); > } > }); > } > > function updateTooltips() { > document.querySelectorAll('[role="tooltip"]').forEach(tooltip => { > const textOnly = tooltip.textContent.trim(); > if (textOnly && textOnly !== "See full tracking history") { > const translatedText = translateText(textOnly); > if (translatedText !== textOnly) { > // נסה קודם לתרגם את הטקסט המלא > if (textOnly in translations) { > tooltip.textContent = translatedText; > } else { > // אם יש עיצוב או פיצול, תרגם את ה-text nodes > processTextNodes(tooltip); > } > } > } > }); > } > > const observer = new MutationObserver(() => { > updateTooltips(); > }); > > observer.observe(document.body, { childList: true, subtree: true }); > > updateTooltips(); > > setInterval(() => { > updateTooltips(); > }, 1000); > })();
כמה שיפורים בנוסח המתורגם:
// ==UserScript== // @name תרגום הסטטוסים של מיילטראק // @namespace https://mitmachim.top/user/יוסף-אלחנן // @version 1.1 // @author יוסף אלחנן@ // @description מתרגם טולטיפים של Mailtrack לעברית כולל כל הביטויים בחלונית תוך שמירה על העיצוב // @match https://mail.google.com/* // @grant none // ==/UserScript== (function() { 'use strict'; const translations = { "Your last email was read": " המייל האחרון שלך נקרא ", "read your email": " קרא את המייל שלך ", "hours ago": " שעות אחורה ", "Hasn't read your last email yet": " עדיין לא קרא את המייל האחרון שלך ", "Email not tracked": " מייל לא במעקב ", "read your last email": " קרא את המייל האחרון שלך ", "day ago": " יום אחורה ", "days ago": " ימים אחורה ", "times": " פעמים ", "First read": " קריאה ראשונה ", "day after you sent it": " יום אחרי ששלחת אותו ", "days after you sent it": " ימים אחרי ששלחת אותו ", "The open status of this message may be unreliable": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין ", "It's possible that email service provider doesn't allow email tracking": " ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", "The open status of this message may be unreliable. It's possible that email service provider doesn't allow email tracking": " סטטוס הפתיחה של הודעה זו עשוי להיות לא אמין. ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל ", "minutes after you sent it": " דקות אחרי ששלחת אותו ", "First read hours after you sent it": " קריאה ראשונה שעות אחרי ששלחת אותו ", "First read less than a minute after you sent it": " קריאה ראשונה פחות מדקה אחרי ששלחת אותו ", "minutes ago": " דקות אחורה " }; function translateText(text) { let translated = text; for (let pattern in translations) { const regex = new RegExp(pattern, 'gi'); translated = translated.replace(regex, translations[pattern]); } return translated; } function processTextNodes(element) { element.childNodes.forEach(node => { if (node.nodeType === Node.TEXT_NODE) { const text = node.textContent.trim(); if (text && text !== "See full tracking history") { const translated = translateText(text); if (translated !== text) { node.textContent = translated; } } } else if (node.nodeType === Node.ELEMENT_NODE) { processTextNodes(node); } }); } function updateTooltips() { document.querySelectorAll('[role="tooltip"]').forEach(tooltip => { const textOnly = tooltip.textContent.trim(); if (textOnly && textOnly !== "See full tracking history") { const translatedText = translateText(textOnly); if (translatedText !== textOnly) { // נסה קודם לתרגם את הטקסט המלא if (textOnly in translations) { tooltip.textContent = translatedText; } else { // אם יש עיצוב או פיצול, תרגם את ה-text nodes processTextNodes(tooltip); } } } }); } const observer = new MutationObserver(() => { updateTooltips(); }); observer.observe(document.body, { childList: true, subtree: true }); updateTooltips(); setInterval(() => { updateTooltips(); }, 1000); })();
לא בדקתי אם זה עובד, קחו את זה בחשבון.
-
מי שאין לו כוח להתעסק עם Tampermonkey, הפסד שלו...
אבל הוא יכול להתקין את התוסף באופן ידני
Hebrew Mailtrack.zipזה עדיין בגרסה שלי, מי שרוצה לשפר את התירגום מוזמן לשנות את המילים לתרגום כפי ש @יאנג-בוי ערך בפוסט הקודם.
איך להתקין?
להוריד את הקובץ ZIP, לחלץ
להיכנס לדף התוספים בדפדפן
למשתמשי כרוםchrome://extensions/
לאדג'ים
edge://extensions/
לוודא שמצב מפתחים מופעל
ואז להעלות את התיקייה המחולצת על ידי לחיצה על הכפתור הזה
אין לי מושג איך זה בדפדפן בעברית, תסתדרו...משום מה, זה לא מתרגם את המשפט
hasn't read your last email yet
לא הצלחתי לסדר את זה, אם מישהו יצליח, שיעדכן...בהצלחה!
-
-