मैं गूगल निम्नलिखित गूगल के साथ अपनी साइटों में से एक पर का अनुवाद विजेट का उपयोग कर रहा आपूर्ति कोड:अनुवाद Google विजेट - अनुवाद पूर्ण कॉलबैक
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script>
मेरे समस्या: रन का अनुवाद के बाद पृष्ठ के लोड होते लेकिन मैं एक स्क्रिप्ट भी है जो ऑटो को मेरे प्राथमिक नेविगेशन तत्वों को उनकी चौड़ाई के आधार पर आकार देती है।
अनुवाद समाप्त होने से पहले यह चलता है, इसलिए यह अप्रतिबंधित अंग्रेजी लेबल के आधार पर आकार बदलता है। एक बार अनुवाद ने नेविगेशन शब्द बदल दिया है, तो नेविगेशन तत्वों को नए अनुवादित शब्दों को फिट करने के लिए आकार बदलने की आवश्यकता है क्योंकि वे अंग्रेजी के लिए अलग आकार (चौड़ाई) होने की संभावना है।
मैंने प्राथमिक नेविगेशन का आकार बदलने के लिए कोड चलाने से पहले Google अनुवाद कोड को कॉल करने का प्रयास किया है, लेकिन अनुवाद अतुल्यकालिक रूप से चलता है, इसलिए अनुवाद पूरा होने से पहले मेरा कोड चलता है।
क्या अनुवाद पूरा होने पर कॉलबैक ईवेंट उठाया गया है (या अनुवाद पूरा होने पर पता लगाने का कोई तरीका), इसलिए मैं नेविगेशन का आकार बदलने का प्रयास करने से पहले प्रतीक्षा कर सकता हूं?
इसके अलावा, पृष्ठ के अनुवाद के बाद मुझे एक स्क्रिप्ट चलाने की आवश्यकता है।
मेरे पास कोई उदाहरण सामग्री नहीं है लेकिन आप googleTranslateElementInit .. में फ़ंक्शन कॉल जोड़ने का प्रयास कर सकते हैं ..? अर्थात। फ़ंक्शन googleTranslateElementInit() { नया google.translate.TranslateElement (...); myFuncInvocation(); } – EricG
कोशिश की कि एरिक, मेरे कोड से पहले Google अनुवाद को कॉल करने के साथ एक ही समस्या है। यह अतुल्यकालिक रूप से चलता है, इसलिए google.translate.TranslateElement() कॉल से तुरंत लौटाता है (यानी अनुवाद समाप्त होने से पहले) - मैं अपना प्रश्न – RichardAtHome
अपडेट करूँगा ईमानदारी से मैं एक उदाहरण देख सकता हूं जहां यह चलता है। आप क्या कर सकते हैं वेबकिट में 'new google.translate ..' में ब्रेकपॉइंट डालें और डीबगिंग करने का प्रयास करें, और देखें कि क्या आप हैंडलर या वैकल्पिक डिफ़ॉल्ट-मौजूदा हैंडलर को शामिल कर सकते हैं या नहीं। – EricG