דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. מדריך | תרגום הסטטוס של ה ✔️✔️ במיילטראק 2

מדריך | תרגום הסטטוס של ה ✔️✔️ במיילטראק 2

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
3 פוסטים 2 כותבים 49 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • I מנותק
    I מנותק
    I believe
    כתב נערך לאחרונה על ידי I believe
    #1

    תרגום סטטוסים של מייל טראק לעברית

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

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

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


    כיצד מתקינים ומריצים את הסקריפט:

    1. יש להתקין את Tampermonkey – תוסף פופולארי לדפדפני כרום (ודומיהם), שמאפשר להריץ סקריפטים מותאמים אישית באתרים שונים. (@עדלאידע כתב כאן מדריך ברור ומפורט לתוסף).

    2. לאחר התקנת התוסף:

      • היכנסו לרשימת התוספים של הדפדפן.
      • לחצו קליק ימני על סמל תוסף Tampermonkey ובחרו: "Create a new script..." - ייפתח עורך הסקריפטים.
      • מחקו את כל התוכן הקיים.
      • הדביקו שם את הקוד המצורף.
      • שמרו את הסקריפט (Ctrl+S או דרך התפריט: קובץ > Save).

    בהצלחה!

    // ==UserScript==
    // @name         תוסף ל Mailsuite - תרגום סטטוסים ותיקון עיצוב משופר
    // @namespace    http://tampermonkey.net/
    // @version      2.1
    // @description  מתרגם טולטיפים של Mailsuite לעברית, מתקן עיצוב כפתור "אימייל חדש" לפי כיוון השפה
    // @author       יוסף אלחנן (https://mitmachim.top/user/יוסף-אלחנן)
    // @author       I believe (https://mitmachim.top/user/i-believe)
    // @match        https://mail.google.com/*
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        // --- חלק 1: תרגום טולטיפים קבועים ---
        const translations = {
            "Your last email was read": "המייל האחרון שלך נקרא",
            "Email not tracked": "מייל לא במעקב",
            "First read": "קריאה ראשונה",
            "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": "סטטוס הפתיחה של הודעה זו עשוי להיות אמין. ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל",
            "Your email was read": "המייל שלך נקרא",
            "Hasn't": "עדיין לא",
            "read": " קרא/ה",
            "your last email yet": " את המייל האחרון שלך",
            "your last email": " את המייל האחרון שלך",
            "your email yet": " את המייל שלך",
            "your email": " את המייל שלך",
            "times": "פעמים",
            "uses email tracking": "משתמש/ת במעקב אחר דוא\"ל",
            "See full tracking history": "ראה היסטוריית מעקב מלאה",
            "Click to view email tracking data": "לחץ כדי להציג נתוני מעקב אחר דוא\"ל",
            "by one of the recipients": "על ידי אחד הנמענים",
            "less than a minute after you sent it": "פחות מדקה אחרי ששלחת אותו",
            "It’s possible that": "ייתכן שספק שירותי הדוא\"ל של ",
            "’s email service provider doesn’t allow email tracking. Details": " אינו מאפשר מעקב אחר דוא\"ל. פרטים",
            "Learn more": "למידע נוסף"
        };
    
        // --- פונקציה שמחליפה בביטוי זמן כגון "2 days ago" ---
        function replaceRelativeTimePhrases(text) {
            return text
                .replace(/(\d+)\s+days?\s+ago/gi, 'לפני $1 ימים')
                .replace(/(\d+)\s+hours?\s+ago/gi, 'לפני $1 שעות')
                .replace(/(\d+)\s+minutes?\s+ago/gi, 'לפני $1 דקות')
                .replace(/less than a minute ago/gi, 'פחות מדקה')
                .replace(/(\d+)\s+minutes?\s+after you sent it/gi, '$1 דקות לאחר ששלחת אותו')
                .replace(/(\d+)\s+hours?\s+after you sent it/gi, '$1 שעות לאחר ששלחת אותו')
                .replace(/(\d+)\s+days?\s+after you sent it/gi, '$1 ימים לאחר ששלחת אותו')
                .replace(/(\d+)\s+month(s)?\s+ago/gi, function(match, p1) {
                    return `לפני ${p1} חודשים`;
                })
                .replace(/(\d+)\s+year(s)?\s+ago/gi, function(match, p1) {
                    return `לפני ${p1} שנים`;
                });}
    
    
        // --- תרגום הטקסט על פי הביטוים הדינמיים והקבועיים ---
        function translateText(text) {
            let translated = text;
            translated = replaceRelativeTimePhrases(translated);
            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) {
                        tooltip.textContent = translatedText;
                    } else {
                        processTextNodes(tooltip);
                    }
                }
            });
        }
    
        // --- חלק 2: תיקון עיצוב כפתור "אימייל חדש" לפי RTL / LTR ---
        function fixButtonCorners() {
            const composeButton = document.querySelector('.ms-compose-button');
            const actionsButton = document.querySelector('.ms-compose-button-actions-container');
    
            if (composeButton && actionsButton) {
                const isRTL = document.documentElement.getAttribute('dir') === 'rtl';
    
                if (isRTL) {
                    composeButton.style.borderTopLeftRadius = '0';
                    composeButton.style.borderBottomLeftRadius = '0';
                    composeButton.style.borderTopRightRadius = '16px';
                    composeButton.style.borderBottomRightRadius = '16px';
    
                    actionsButton.style.borderTopLeftRadius = '16px';
                    actionsButton.style.borderBottomLeftRadius = '16px';
                    actionsButton.style.borderTopRightRadius = '0';
                    actionsButton.style.borderBottomRightRadius = '0';
                } else {
                    composeButton.style.borderTopRightRadius = '0';
                    composeButton.style.borderBottomRightRadius = '0';
                    composeButton.style.borderTopLeftRadius = '16px';
                    composeButton.style.borderBottomLeftRadius = '16px';
    
                    actionsButton.style.borderTopRightRadius = '16px';
                    actionsButton.style.borderBottomRightRadius = '16px';
                    actionsButton.style.borderTopLeftRadius = '0';
                    actionsButton.style.borderBottomLeftRadius = '0';
                }
            }
        }
    
        // --- ניטור שינויים בדף ---
        const observer = new MutationObserver(() => {
            updateTooltips();
            fixButtonCorners();
        });
    
        observer.observe(document.body, { childList: true, subtree: true });
    
        // --- הרצה ראשונית כשהדף נטען ---
        window.addEventListener('load', () => {
            updateTooltips();
            fixButtonCorners();
        });
    
        // --- הרצה חוזרת כל שנייה ---
        setInterval(() => {
            updateTooltips();
            fixButtonCorners();
        }, 1000);
    })();
    
    יוסף אלחנןי תגובה 1 תגובה אחרונה
    6
    • I I believe

      תרגום סטטוסים של מייל טראק לעברית

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

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

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


      כיצד מתקינים ומריצים את הסקריפט:

      1. יש להתקין את Tampermonkey – תוסף פופולארי לדפדפני כרום (ודומיהם), שמאפשר להריץ סקריפטים מותאמים אישית באתרים שונים. (@עדלאידע כתב כאן מדריך ברור ומפורט לתוסף).

      2. לאחר התקנת התוסף:

        • היכנסו לרשימת התוספים של הדפדפן.
        • לחצו קליק ימני על סמל תוסף Tampermonkey ובחרו: "Create a new script..." - ייפתח עורך הסקריפטים.
        • מחקו את כל התוכן הקיים.
        • הדביקו שם את הקוד המצורף.
        • שמרו את הסקריפט (Ctrl+S או דרך התפריט: קובץ > Save).

      בהצלחה!

      // ==UserScript==
      // @name         תוסף ל Mailsuite - תרגום סטטוסים ותיקון עיצוב משופר
      // @namespace    http://tampermonkey.net/
      // @version      2.1
      // @description  מתרגם טולטיפים של Mailsuite לעברית, מתקן עיצוב כפתור "אימייל חדש" לפי כיוון השפה
      // @author       יוסף אלחנן (https://mitmachim.top/user/יוסף-אלחנן)
      // @author       I believe (https://mitmachim.top/user/i-believe)
      // @match        https://mail.google.com/*
      // @grant        none
      // ==/UserScript==
      
      (function() {
          'use strict';
      
          // --- חלק 1: תרגום טולטיפים קבועים ---
          const translations = {
              "Your last email was read": "המייל האחרון שלך נקרא",
              "Email not tracked": "מייל לא במעקב",
              "First read": "קריאה ראשונה",
              "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": "סטטוס הפתיחה של הודעה זו עשוי להיות אמין. ייתכן שספק שירותי הדוא\"ל לא מאפשר מעקב אחר דוא\"ל",
              "Your email was read": "המייל שלך נקרא",
              "Hasn't": "עדיין לא",
              "read": " קרא/ה",
              "your last email yet": " את המייל האחרון שלך",
              "your last email": " את המייל האחרון שלך",
              "your email yet": " את המייל שלך",
              "your email": " את המייל שלך",
              "times": "פעמים",
              "uses email tracking": "משתמש/ת במעקב אחר דוא\"ל",
              "See full tracking history": "ראה היסטוריית מעקב מלאה",
              "Click to view email tracking data": "לחץ כדי להציג נתוני מעקב אחר דוא\"ל",
              "by one of the recipients": "על ידי אחד הנמענים",
              "less than a minute after you sent it": "פחות מדקה אחרי ששלחת אותו",
              "It’s possible that": "ייתכן שספק שירותי הדוא\"ל של ",
              "’s email service provider doesn’t allow email tracking. Details": " אינו מאפשר מעקב אחר דוא\"ל. פרטים",
              "Learn more": "למידע נוסף"
          };
      
          // --- פונקציה שמחליפה בביטוי זמן כגון "2 days ago" ---
          function replaceRelativeTimePhrases(text) {
              return text
                  .replace(/(\d+)\s+days?\s+ago/gi, 'לפני $1 ימים')
                  .replace(/(\d+)\s+hours?\s+ago/gi, 'לפני $1 שעות')
                  .replace(/(\d+)\s+minutes?\s+ago/gi, 'לפני $1 דקות')
                  .replace(/less than a minute ago/gi, 'פחות מדקה')
                  .replace(/(\d+)\s+minutes?\s+after you sent it/gi, '$1 דקות לאחר ששלחת אותו')
                  .replace(/(\d+)\s+hours?\s+after you sent it/gi, '$1 שעות לאחר ששלחת אותו')
                  .replace(/(\d+)\s+days?\s+after you sent it/gi, '$1 ימים לאחר ששלחת אותו')
                  .replace(/(\d+)\s+month(s)?\s+ago/gi, function(match, p1) {
                      return `לפני ${p1} חודשים`;
                  })
                  .replace(/(\d+)\s+year(s)?\s+ago/gi, function(match, p1) {
                      return `לפני ${p1} שנים`;
                  });}
      
      
          // --- תרגום הטקסט על פי הביטוים הדינמיים והקבועיים ---
          function translateText(text) {
              let translated = text;
              translated = replaceRelativeTimePhrases(translated);
              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) {
                          tooltip.textContent = translatedText;
                      } else {
                          processTextNodes(tooltip);
                      }
                  }
              });
          }
      
          // --- חלק 2: תיקון עיצוב כפתור "אימייל חדש" לפי RTL / LTR ---
          function fixButtonCorners() {
              const composeButton = document.querySelector('.ms-compose-button');
              const actionsButton = document.querySelector('.ms-compose-button-actions-container');
      
              if (composeButton && actionsButton) {
                  const isRTL = document.documentElement.getAttribute('dir') === 'rtl';
      
                  if (isRTL) {
                      composeButton.style.borderTopLeftRadius = '0';
                      composeButton.style.borderBottomLeftRadius = '0';
                      composeButton.style.borderTopRightRadius = '16px';
                      composeButton.style.borderBottomRightRadius = '16px';
      
                      actionsButton.style.borderTopLeftRadius = '16px';
                      actionsButton.style.borderBottomLeftRadius = '16px';
                      actionsButton.style.borderTopRightRadius = '0';
                      actionsButton.style.borderBottomRightRadius = '0';
                  } else {
                      composeButton.style.borderTopRightRadius = '0';
                      composeButton.style.borderBottomRightRadius = '0';
                      composeButton.style.borderTopLeftRadius = '16px';
                      composeButton.style.borderBottomLeftRadius = '16px';
      
                      actionsButton.style.borderTopRightRadius = '16px';
                      actionsButton.style.borderBottomRightRadius = '16px';
                      actionsButton.style.borderTopLeftRadius = '0';
                      actionsButton.style.borderBottomLeftRadius = '0';
                  }
              }
          }
      
          // --- ניטור שינויים בדף ---
          const observer = new MutationObserver(() => {
              updateTooltips();
              fixButtonCorners();
          });
      
          observer.observe(document.body, { childList: true, subtree: true });
      
          // --- הרצה ראשונית כשהדף נטען ---
          window.addEventListener('load', () => {
              updateTooltips();
              fixButtonCorners();
          });
      
          // --- הרצה חוזרת כל שנייה ---
          setInterval(() => {
              updateTooltips();
              fixButtonCorners();
          }, 1000);
      })();
      
      יוסף אלחנןי מנותק
      יוסף אלחנןי מנותק
      יוסף אלחנן
      מדריכים
      כתב נערך לאחרונה על ידי יוסף אלחנן
      #2

      @I-believe קודם כל, יפה מאוד!
      התרגום הרבה יותר משופר כמו שציינת...
      (ותודה שהשארת קרדיט 😜)

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

      I תגובה 1 תגובה אחרונה
      0
      • יוסף אלחנןי יוסף אלחנן

        @I-believe קודם כל, יפה מאוד!
        התרגום הרבה יותר משופר כמו שציינת...
        (ותודה שהשארת קרדיט 😜)

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

        I מנותק
        I מנותק
        I believe
        כתב נערך לאחרונה על ידי I believe
        #3

        @יוסף-אלחנן כתב במדריך | תרגום הסטטוס של ה ✔️✔️ במיילטראק 2:

        @I-believe קודם כל, יפה מאוד!
        התרגום הרבה יותר משופר כמו שציינת...
        (ותודה שהשארת קרדיט 😜)

        מגיע לך הרבה קרדיט... 🫡

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

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

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

        תגובה 1 תגובה אחרונה
        2

        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • חוקי הפורום
        • פופולרי
        • לא נפתר
        • משתמשים
        • חיפוש גוגל בפורום
        • צור קשר