8 پست در این موضوع قرار دارد

با سلام و خسته نباشید به تمامی اساتید . من یک سایته دو زبانه توسط  افزونه polylang درست کردم و مشکل اساسی من با خط است. از افزونه فونت ماندگار هم استفاده کردم اما اعدادم تو دو سایت فارسی یا انگلیسی می شوند . چیکار باید بکنم ؟

این آدرس سایتمه : 

http://tirage.ir/

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

این کد را در داخل یک فایل جاوا وارد کنید. من خودم امتحان کردم و جواب داد و برام خیلی جالب بود:

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' );

 

ویرایش شده در توسط Lahijan
1

به اشتراک گذاری این پست


لینک به پست

دقیقا منظورم همینه اما در یک فایل جاوا رو نمیفهمم. یعنی دقیقا چیکار کنم؟

 

0

به اشتراک گذاری این پست


لینک به پست

دقیقا این کار رو انتهای function زدم اما عکس العملی نمیده همونه. چک می کنید لطفاً http://tirage.ir/

 

0

به اشتراک گذاری این پست


لینک به پست
در 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

به اشتراک گذاری این پست


لینک به پست

بالاخره با کلی تلاش درست شد متن ها رو تو فایل js گذاشتم و با افزونه فونت ماندگار byekan  گذاشتیم درست شد البته ویجت وسط صفحه های پروژه ام که شمارنده است همچنان در زبان فارسی به صورت انگلیسی است

0

به اشتراک گذاری این پست


لینک به پست
در 2 ساعت قبل، eli joon گفته است :

بالاخره با کلی تلاش درست شد متن ها رو تو فایل js گذاشتم و با افزونه فونت ماندگار byekan  گذاشتیم درست شد البته ویجت وسط صفحه های پروژه ام که شمارنده است همچنان در زبان فارسی به صورت انگلیسی است

آنطور که من بررسی کردم بهترین و حرفه ای ترین راه ایجاد دو اینستال از وردپرس است. یعنی یک اینستال فارسی مثلا در داخل دایرکتوری روت و یک اینستال اینگلیسی مثلا در داخل ساب دایرکتوری /en. برای راه حل دراز مدت اینرو در نظر بگیرید.

1

به اشتراک گذاری این پست


لینک به پست

ممنونم خیلی زیاد

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری