עזרה בפונקציית תרגום בPHP
-
Warning: iconv(): Charset parameter exceeds the maximum allowed length of 64 characters in /var/www/yoops/a.php on line 22 Warning: Invalid argument supplied for foreach() in /var/www/yoops/a.php on line 10
פורסם במקור בפורום CODE613 ב08/12/2017 10:38 (+02:00)
-
ככה אמור לצאת
http://sandbox.onlinephpfunctions.com/code/149ecc357f24297c7b4fbe94630162f7e9b3d975פורסם במקור בפורום CODE613 ב08/12/2017 12:39 (+02:00)
-
שום דבר לא עוזר.
ה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)
-
כנראה שזה באמת בעייה בגוגל, גם בתוסף שלהם לכרום יש את הבעייה הזו, הוא לא מסוגל "לתרגם" עברית לעברית. אם מבקשים ממנו לתרגם טקסט שמורכב מעברית ואנגלית, למשל "how are you אני עייף", הוא לא מתרגם כלום. כנראה בגלל הבעייה הזו.
פורסם במקור בפורום CODE613 ב10/12/2017 12:33 (+02:00)
-
אין שום בעיה בגוגל. אצלי זה מחזיר:
[[["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)
-
תודה על העזרה הבלתי נילאת!!
הecho url מחזיר את זהזה תקין לגמרי
משום מה, בשלב מסוים של הPHP זה הופך לאיקסים..
פורסם במקור בפורום CODE613 ב10/12/2017 13:03 (+02:00)
-
הופה אתה צודק!
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)
-
-
למשיך לשגע את הלב הטוב שלך או לא?
אכן עכשיו כבר אין איקסים, אבל זה מחזיר את הטקסט המקורי, לא מתורגם בכלל.
שלחתי לתירגום: "how are you אני עייף" וזה בדיוק מה שחזר. מה שאין כן מקודם, לפני השורה הזו, לפחות תירגם לי את האנגלית, והעברית הפכה לאיקסים.בקיצור זה באג של גוגל, ואין לזה פיתרון, עכשיו שוב בדקתי בהרחבה של כרום, גם שמה זה מחזיר הטקסט לא מתורגם.
הדבר היחיד שאולי אפשר לעשות זה לעבור על הטקסט מילה מילה, ולחתוך כל המילים בעברית, לשלוח לתירגום רק את האנגלית, ואז לצרף שוב את הכל. אבל השאילתא לוקחת זמן, ואם צריך לעשות שלשים שאילתות זה יקח המון זמן.פורסם במקור בפורום CODE613 ב10/12/2017 17:17 (+02:00)