راکت

ترجمه خودکار

7 پاسخ

سلام
من از کدهای گوگل ترنسلیت برای ترجمه خودکار استفاد ه میکنم اما داده هایی که تو input هاست رو ترجمه نمیکند.
راه حلش چی هست ؟ تصویر

ثبت پرسش جدید

پاسخ‌ها

7
سهیل حیدری
سهیل حیدری
@hbr

وبسایتتون رو با چی نوشتین؟
چون باید از گوگل api بگیری که چون ایران تحریم هست کاره سختی باید باشه به نظرم از داخلی ها استفاده کن.

meisam moradian
meisam moradian
@meisammoradian8

تخصص: برنامه نویس و توسعه دهنده

با لاراول و بلید.
نمونه داخلی چی هست؟

شاید پاسخ شما همین‌جا باشد

احسان داوری
احسان داوری
@ehsndvr

تخصص: برنامه نویس

سلام
این موضوع بر میگرده به کد های جاوا اسکریپت که شما باید این داده هارو موقع چینش صفحه یعنی بعد از اینکه Blade ساخته شد با جاوا اسکرپیت ترجمه کنید ، چون این داده ها از سمت پایگاه داده میان و چیزی از خود لاراول نیستن، برای همین کد های شما روی این Input تاثیری نداره.

در این پیوند کامل توضیح داده که باید چیکار بکنید، اگر متوجه نشدید بنده رو مخاطب (Mention) قرار بدید تا براتون توضیح بدم.

meisam moradian
meisam moradian
@meisammoradian8

تخصص: برنامه نویس و توسعه دهنده

مطلبش رو خوندم زیاد متوجه نشدم.
لطفا، اگر توضیح بدین خیلی ممنون میشم

meisam moradian
meisam moradian
@meisammoradian8

تخصص: برنامه نویس و توسعه دهنده

@ehsndvr
سلام.
اگر لطف کنید توضیح بدین ممنون میشم

احسان داوری
احسان داوری
@ehsndvr

تخصص: برنامه نویس

سلام
ببینید برای اینکه داده هایی که از پایگاه داده میان رو ترجمه کنید شما نیاز دارید این عمل رو سمت مرورگر کاربر انجام بدید.
برای اینکار باید کد زیر رو به صفحتون (blade , html , htm و ...) اضافه کنید :

<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

کد بالا آدرس api رایگان گوگل ترنسلیتور هست.
حالا شما باید از این api برای ترجمه کردن متونتون در لحظه استفاده کنید.

<div id="google_translate_element"></div>
 <script type="text/javascript"> 
   function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage:"en"}, 'google_translate_element');
  }
</script>

حالا کد بالارو در صفحه ایی که میخواید ترجمه کنید بزارید. دقت کنید اسم تابع (Function) در آدرس api اومده ... .
این کد کل صفحه شمارو ترجمه میکنه، برای اینکه از قسمت هایی که دوست ندارید ترجمه کنید جلوگیری کنید. باید کلاس (Class) notranslate رو به element هایی که میخواید ترجمه نشن بدید.
و اون هایی که دوست دارید ترجمه بشن باید بهشون کلاس (Class) translate رو بدید.
توضیحات بیشتر
اگر هم میخواید زبان ترجمه سازی رو عوض کنید میتونید از این کد استفاده کنید.

<div id="google_translate_element" style="display:none;"></div>
 <script type="text/javascript"> 

var currentLang = "";
var targetLang = "";
if (document.documentElement.lang === "en") {
  currentLang = "ar";
  targetLang = "en";

}else{

  currentLang = "en";
  targetLang = "ar";

}

//In case we write ar, the tenslation that will apply is english, otherwise if it is en
//the translation that will be apllied is arabic
   function googleTranslateElementInit() {
setCookie('googtrans', '/'+currentLang +'/'+targetLang,1);
  new google.translate.TranslateElement({pageLanguage: currentLang,includedLanguages: 'en,ar',);
  }
</script>

<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

البته اگر از Blade استفاده میکنید، میتونید متغیر زبانتون رو به صفحتون پاس بدید/ارسال کنید و از همونجا فقط از یک متغیر برای تعیین زبان ترجمه استفاده کنید.

<div id="google_translate_element"></div>
 <script type="text/javascript"> 
   function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage:""{{$lang}}""}, 'google_translate_element');
  }
</script>
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
تا جایی که من میدونم به نظرم به value اون input اشاره کنید برای ترجمه باید درست باشه یه چند تا اسکرین از کدت بفرست

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام