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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. עזרה בפונקציית תרגום בPHP

עזרה בפונקציית תרגום בPHP

מתוזמן נעוץ נעול הועבר ארכיון code613m
31 פוסטים 3 כותבים 2.1k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • שואףש מנותק
    שואףש מנותק
    שואף
    כתב ב נערך לאחרונה על ידי
    #17

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

    כתבתי שוב את הפונקציה, יותר קצר וברור

    <?php
    function translate($text) {
        $API_translate = 'https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=he&dt=t&q=';
    	$url = $API_translate . urlencode($text);
        $translate = file_get_contents($url);
    	$text = json_decode($translate);
        foreach($text[0] AS $t) {
            $return .= $t[0];
        }
        return $return;
    } 
    
    header('Content-Type: text/html; charset=utf-8');
    echo translate(('how are you הכל בסדר'));
    

    פורסם במקור בפורום CODE613 ב10/12/2017 12:07 (+02:00)

    ליצירת קשר: admin@i-call.me

    הידד! גישה למייל גם בלי מחשב ואינטרנט!

    תגובה 1 תגובה אחרונה
    0
    • שואףש מנותק
      שואףש מנותק
      שואף
      כתב ב נערך לאחרונה על ידי
      #18

      כנראה שזה באמת בעייה בגוגל, גם בתוסף שלהם לכרום יש את הבעייה הזו, הוא לא מסוגל "לתרגם" עברית לעברית. אם מבקשים ממנו לתרגם טקסט שמורכב מעברית ואנגלית, למשל "how are you אני עייף", הוא לא מתרגם כלום. כנראה בגלל הבעייה הזו.

      פורסם במקור בפורום CODE613 ב10/12/2017 12:33 (+02:00)

      ליצירת קשר: admin@i-call.me

      הידד! גישה למייל גם בלי מחשב ואינטרנט!

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #19

        אין שום בעיה בגוגל. אצלי זה מחזיר:
        [[["how are you אני עייף","how are you אני עייף",null,null,0]],null,"iw",null,null,null,1,null,[["iw"],null,[1],["iw"]]]
        אכן לא מתרגם, אבל לא מחזיר איקסים.

        בקשו ממך לנסות את הפלט של הurlencode. מה היה קורה אם היית מנסה?
        שים לפני הגישה פשוט
        echo $url
        ונראה את כל התשובות האם הבעיה בגוגל או בקידוד.

        פורסם במקור בפורום CODE613 ב10/12/2017 12:53 (+02:00)

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        0
        • שואףש מנותק
          שואףש מנותק
          שואף
          כתב ב נערך לאחרונה על ידי
          #20

          תודה על העזרה הבלתי נילאת!!
          הecho url מחזיר את זה

          https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=he&dt=t&q=how+are+you+הכל+בסדר

          זה תקין לגמרי

          משום מה, בשלב מסוים של הPHP זה הופך לאיקסים..

          פורסם במקור בפורום CODE613 ב10/12/2017 13:03 (+02:00)

          ליצירת קשר: admin@i-call.me

          הידד! גישה למייל גם בלי מחשב ואינטרנט!

          תגובה 1 תגובה אחרונה
          0
          • שואףש מנותק
            שואףש מנותק
            שואף
            כתב ב נערך לאחרונה על ידי
            #21

            ושים לב שכן שמתי את הURLENCODE, כבר מהפוסט הראשון
            תראה בשורה הזו:
            $url = $API_translate . urlencode($text);

            פורסם במקור בפורום CODE613 ב10/12/2017 13:04 (+02:00)

            ליצירת קשר: admin@i-call.me

            הידד! גישה למייל גם בלי מחשב ואינטרנט!

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #22

              הופה אתה צודק!
              https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=he&dt=t&q=how are you אני עייף
              מחזיר
              [[["איך אתה × × × × × × × ™ × £","how are you × × ×™ ×¢×™×™×£",null,null,3]],null,"en",null,null,null,1,null,[["en"],null,[1],["en"]]]

              פורסם במקור בפורום CODE613 ב10/12/2017 13:05 (+02:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #23

                @JosephA

                ושים לב שכן שמתי את הURLENCODE, כבר מהפוסט הראשון
                תראה בשורה הזו:
                $url = $API_translate . urlencode($text);

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

                פורסם במקור בפורום CODE613 ב10/12/2017 13:06 (+02:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #24

                  גיליתי שהבעיה נפתרת אם יש user-agent.
                  תגדיר User-Agent: Mozilla/5.0
                  וזה יעבוד.

                  פורסם במקור בפורום CODE613 ב10/12/2017 13:50 (+02:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #25

                    נראה לי עושים ככה:

                    $options = array(
                      'http'=>array(
                        'method'=>"GET",
                        'header'=> "User-Agent: Mozilla/5.0"
                      )
                    );
                    
                    $context = stream_context_create($options);
                    
                    $translate = file_get_contents($url);
                    

                    פורסם במקור בפורום CODE613 ב10/12/2017 13:53 (+02:00)

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    0
                    • שואףש מנותק
                      שואףש מנותק
                      שואף
                      כתב ב נערך לאחרונה על ידי
                      #26

                      למשיך לשגע את הלב הטוב שלך או לא?

                      אכן עכשיו כבר אין איקסים, אבל זה מחזיר את הטקסט המקורי, לא מתורגם בכלל.
                      שלחתי לתירגום: "how are you אני עייף" וזה בדיוק מה שחזר. מה שאין כן מקודם, לפני השורה הזו, לפחות תירגם לי את האנגלית, והעברית הפכה לאיקסים.

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

                      פורסם במקור בפורום CODE613 ב10/12/2017 17:17 (+02:00)

                      ליצירת קשר: admin@i-call.me

                      הידד! גישה למייל גם בלי מחשב ואינטרנט!

                      תגובה 1 תגובה אחרונה
                      0
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        כתב ב נערך לאחרונה על ידי
                        #27

                        זה ודאי התנהגות של גוגל.
                        תוכל לפרט למה אתה משתמש בזה?
                        כי יכולים להיות לי רעיונות טובים תלוי במטרה.

                        פורסם במקור בפורום CODE613 ב10/12/2017 17:34 (+02:00)

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        0
                        • שואףש מנותק
                          שואףש מנותק
                          שואף
                          כתב ב נערך לאחרונה על ידי
                          #28

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

                          פורסם במקור בפורום CODE613 ב10/12/2017 17:47 (+02:00)

                          ליצירת קשר: admin@i-call.me

                          הידד! גישה למייל גם בלי מחשב ואינטרנט!

                          תגובה 1 תגובה אחרונה
                          0
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            כתב ב נערך לאחרונה על ידי
                            #29

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

                            אפשרות שניה זה להמשיך עם הטריק של הapi של התוסף, ולפצל את הטקסט לקטעי אנגלית רצופים.
                            הנה דוגמה https://regex101.com/r/AmLtMi/1
                            הקוד צריך להיראות בסגנון:

                            preg_replace_callback('/\b[^א-ת]{3,}\b/', function($match) {
                                   $url = $API_translate . urlencode($match[0]);
                                   $translate = file_get_contents($url);
                                   ...
                                   return $return;
                                );
                            }, $text);
                            

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

                            פורסם במקור בפורום CODE613 ב10/12/2017 21:01 (+02:00)

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            0
                            • שואףש מנותק
                              שואףש מנותק
                              שואף
                              כתב ב נערך לאחרונה על ידי
                              #30

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

                              פורסם במקור בפורום CODE613 ב10/12/2017 21:28 (+02:00)

                              ליצירת קשר: admin@i-call.me

                              הידד! גישה למייל גם בלי מחשב ואינטרנט!

                              תגובה 1 תגובה אחרונה
                              0
                              • dovidD מנותק
                                dovidD מנותק
                                dovid ניהול
                                כתב ב נערך לאחרונה על ידי
                                #31

                                אכן, שמה עובד.

                                פורסם במקור בפורום CODE613 ב10/12/2017 21:54 (+02:00)

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                • 1
                                • 2
                                בא תתחבר לדף היומי!
                                • התחברות

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

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