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

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

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

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

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

    @mat

    תעתיק לפה את מה שיוצא לך.

    @JosephA

    זה מה שעשיתי.. הנ"ל הוא מה שהשרת מחזיר לי

    הוא מתכוון כנראה על האיקסים.

    זה עובד נהדר, הבעייה היא שאם במחרוזת טקסט יש מילים בעברית, זה מחזיר איקסים.

    פורסם במקור בפורום CODE613 ב08/12/2017 11:58 (+02:00)

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

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

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

      איך אתה × × × × × × '× × × ×

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

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

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

      תגובה 1 תגובה אחרונה
      0
      • M מנותק
        M מנותק
        magicode
        כתב ב נערך לאחרונה על ידי
        #14

        זה קידוד UTF8 שהדפדפן מציג אותו כ ASCII.
        כנראה שהוא לא מקבל את המסר מה header אין לי מושג למה.

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

        תגובה 1 תגובה אחרונה
        1
        • M מנותק
          M מנותק
          magicode
          כתב ב נערך לאחרונה על ידי
          #15

          "איך אתה" זה גם חלק ממה שחוזר?
          אם כן אז זה בעיה בשליחה שלך לגוגל.

          תעשה את זה

          echo urlencode('how are you הכל בסדר');
          

          תעדכן מה יוצא.

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

          תגובה 1 תגובה אחרונה
          2
          • M מנותק
            M מנותק
            magicode
            כתב ב נערך לאחרונה על ידי
            #16

            ככה אמור לצאת
            http://sandbox.onlinephpfunctions.com/code/149ecc357f24297c7b4fbe94630162f7e9b3d975

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

            תגובה 1 תגובה אחרונה
            0
            • שואףש מנותק
              שואףש מנותק
              שואף
              כתב ב נערך לאחרונה על ידי
              #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
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום