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 نقل قول لینک به ارسال
eli joon 0 ارسال شده در دی 97 مالک گزارش بازنشر ارسال شده در دی 97 ممنونم خیلی زیاد نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .