eli joon 0 ارسال شده در دی 97 گزارش بازنشر ارسال شده در دی 97 با سلام و خسته نباشید به تمامی اساتید . من یک سایته دو زبانه توسط افزونه polylang درست کردم و مشکل اساسی من با خط است. از افزونه فونت ماندگار هم استفاده کردم اما اعدادم تو دو سایت فارسی یا انگلیسی می شوند . چیکار باید بکنم ؟ این آدرس سایتمه : http://tirage.ir/ لینک به ارسال
Lahijan 32 ارسال شده در دی 97 گزارش بازنشر ارسال شده در دی 97 (ویرایش شده) میخواهید که در صفحات فارسی اعداد به فارسی باشند و در صفحات اینگلیسی به زبان اینگلیسی درسته؟ این کد را در داخل یک فایل جاوا وارد کنید. من خودم امتحان کردم و جواب داد و برام خیلی جالب بود: function getParentLang(node) { var defaultLang = 'fa'; var currLang = null; while(currLang === null && node.parentNode) { if (node.getAttribute && node.getAttribute('lang')) { currLang = node.getAttribute('lang'); } node = node.parentNode; } return currLang || defaultLang; } function TraceNodes(e) { if (e.nodeType == 3 && getParentLang(e) === 'fa' /* Persian */) { e.nodeValue = e.nodeValue.toPersianDigit(); } else { for (var t = 0; t < e.childNodes.length; t++) { TraceNodes(e.childNodes[t]); } } } String.prototype.toPersianDigit = function(e) { return this.replace(/\d+/g, function(t) { var n = [], r = []; for (var i = 0; i < t.length; i++) { n.push(t.charCodeAt(i)) } for (var s = 0; s < n.length; s++) { r.push(String.fromCharCode(n[s] + (!!e && e == true ? 1584 : 1728))) } return r.join("") }) }; TraceNodes(document); البته میتونید در فایل functions.php هم به این ترتیب وارد کنید: function your_function() { ?> <script> function getParentLang(node) { var defaultLang = 'fa'; var currLang = null; while(currLang === null && node.parentNode) { if (node.getAttribute && node.getAttribute('lang')) { currLang = node.getAttribute('lang'); } node = node.parentNode; } return currLang || defaultLang; } function TraceNodes(e) { if (e.nodeType == 3 && getParentLang(e) === 'fa' /* Persian */) { e.nodeValue = e.nodeValue.toPersianDigit(); } else { for (var t = 0; t < e.childNodes.length; t++) { TraceNodes(e.childNodes[t]); } } } String.prototype.toPersianDigit = function(e) { return this.replace(/\d+/g, function(t) { var n = [], r = []; for (var i = 0; i < t.length; i++) { n.push(t.charCodeAt(i)) } for (var s = 0; s < n.length; s++) { r.push(String.fromCharCode(n[s] + (!!e && e == true ? 1584 : 1728))) } return r.join("") }) }; TraceNodes(document); </script> <?php } add_action( 'wp_footer', 'your_function' ); ویرایش شده دی 97 توسط Lahijan 1 لینک به ارسال
eli joon 0 ارسال شده در دی 97 مالک گزارش بازنشر ارسال شده در دی 97 دقیقا منظورم همینه اما در یک فایل جاوا رو نمیفهمم. یعنی دقیقا چیکار کنم؟ لینک به ارسال
eli joon 0 ارسال شده در دی 97 مالک گزارش بازنشر ارسال شده در دی 97 دقیقا این کار رو انتهای function زدم اما عکس العملی نمیده همونه. چک می کنید لطفاً http://tirage.ir/ لینک به ارسال
Lahijan 32 ارسال شده در دی 97 گزارش بازنشر ارسال شده در دی 97 در 3 ساعت قبل، eli joon گفته است : دقیقا این کار رو انتهای function زدم اما عکس العملی نمیده همونه. چک می کنید لطفاً http://tirage.ir/ کد رو درست گذاشتید و باید جواب بده. اینو امتحان کنید: function your_function() { ?> <script> var $lang = document.documentElement.lang; if($lang == "fa-IR"){ function getParentLang(node) { var defaultLang = 'fa'; var currLang = null; while(currLang === null && node.parentNode) { if (node.getAttribute && node.getAttribute('lang')) { currLang = node.getAttribute('lang'); } node = node.parentNode; } return currLang || defaultLang; } function TraceNodes(e) { if (e.nodeType == 3 && getParentLang(e) === 'fa' /* Persian */) { e.nodeValue = e.nodeValue.toPersianDigit(); } else { for (var t = 0; t < e.childNodes.length; t++) { TraceNodes(e.childNodes[t]); } } } String.prototype.toPersianDigit = function(e) { return this.replace(/\d+/g, function(t) { var n = [], r = []; for (var i = 0; i < t.length; i++) { n.push(t.charCodeAt(i)) } for (var s = 0; s < n.length; s++) { r.push(String.fromCharCode(n[s] + (!!e && e == true ? 1584 : 1728))) } return r.join("") }) }; TraceNodes(document); } </script> <?php } add_action( 'wp_footer', 'your_function' ); اگر نشد در "تنظیمات وردپرس فارسی" به قسمت "تبدیل اعداد به فارسی" بروید و قسمت "متن نوشته ها" را تعقیر دهید و امتحان کنید ببینید درست میشود. 1 لینک به ارسال
eli joon 0 ارسال شده در دی 97 مالک گزارش بازنشر ارسال شده در دی 97 بالاخره با کلی تلاش درست شد متن ها رو تو فایل js گذاشتم و با افزونه فونت ماندگار byekan گذاشتیم درست شد البته ویجت وسط صفحه های پروژه ام که شمارنده است همچنان در زبان فارسی به صورت انگلیسی است لینک به ارسال
Lahijan 32 ارسال شده در دی 97 گزارش بازنشر ارسال شده در دی 97 در 2 ساعت قبل، eli joon گفته است : بالاخره با کلی تلاش درست شد متن ها رو تو فایل js گذاشتم و با افزونه فونت ماندگار byekan گذاشتیم درست شد البته ویجت وسط صفحه های پروژه ام که شمارنده است همچنان در زبان فارسی به صورت انگلیسی است آنطور که من بررسی کردم بهترین و حرفه ای ترین راه ایجاد دو اینستال از وردپرس است. یعنی یک اینستال فارسی مثلا در داخل دایرکتوری روت و یک اینستال اینگلیسی مثلا در داخل ساب دایرکتوری /en. برای راه حل دراز مدت اینرو در نظر بگیرید. 1 لینک به ارسال
پست های پیشنهاد شده
لطفا برای ارسال دیدگاه وارد شوید
شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید
ورود به حساب کاربری