سؤال

حسنًا، ربما تعتقد أن هذا السؤال مكرر ولكني أقسم أنه ليس كذلك.لول لديك ملف يخرج على هذا النحو:

<div id="first">1</div>
2
<div id="third">
    <? $i = 3; echo(i) ?>
</div>

ما هي المخرجات:

1
2
3

الآن إذا كنت أرغب في الحصول على الإخراج على النحو التالي:

?
?
?

حسنًا، كنت آمل أن أتمكن من وضع النسخة العربية/الفارسية من 1،2،3 بدلاً من "؟".هذا يقودني للجنون، س1: كيف يمكنني استخدام HTML/CSS لتحويل الأرقام إلى العربية/الفارسية؟

س2:ولماذا عندما أقوم بتغيير لغتي (Winxp) يتغير كل شيء باستثناء الأرقام؟

هل كانت مفيدة؟

المحلول

  1. لا توجد طريقة آلية لتغيير الأرقام، أو حتى الأرقام.قم بإعداد التعيين بين ذلك الحين وقم بالتحويل يدويًا.

  2. لا يتم ترجمة الأرقام أبدًا، لأنه على عكس كلمات اللغة الطبيعية، يتم فهم الأرقام العربية في معظم أنحاء العالم.

نصائح أخرى

إذا كنت تريد ترقيم قائمة، يمكنك استخدام ol العنصر وتغيير list-style-type منه مثل:

ol {
    list-style: arabic-indic;
}

التوسع في إجابة ShirzITCo وKirk Woll أعلاه - والتي أنقذتني ولكن عندما قرر العميل أن كل المحتوى الموجود في WordPress CMS يجب أن يستخدم الأرقام العربية الشرقية بدلاً من العربية الغربية بدأوا بـ:

function recursiveReplace(node) {
  if (node.nodeType === 3) { // text node
    node.nodeValue = node.nodeValue
    .replace(/0/g,'۰')
    .replace(/1/g,'۱')
    .replace(/2/g,'۲')
    .replace(/3/g,'۳')
    .replace(/4/g,'۴')
    .replace(/5/g,'۵')
    .replace(/6/g,'۶')
    .replace(/7/g,'۷')
    .replace(/8/g,'۸')
    .replace(/9/g,'۹');
  } else if (node.nodeType === 1) { // element
    $(node).contents().each(function () {
      recursiveReplace(this);
    });
  }
}
recursiveReplace(document.body);

استخدم جافا سكريبت هذا، وهذا سيحل محل الأرقام:

function recursiveReplace(node) {
    if (node.nodeType == 3) { // text node
        node.nodeValue = node.nodeValue.replace("1", "۱");
    } else if (node.nodeType == 1) { // element
        $(node).contents().each(function () {
            recursiveReplace(this);
        });
    }
}

recursiveReplace(document.body);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top