numero Farsi / arabo da in output correttamente
Domanda
Ok, può essere si pensa a questa domanda DUP, ma la sua non giuro. lol Si dispone di un file che emette in quanto tale:
<div id="first">1</div>
2
<div id="third">
<? $i = 3; echo(i) ?>
</div>
Quali uscite:
1
2
3
Ora, se voglio avere un'uscita come di seguito:
?
?
?
Bene, speravo ho potuto mettere versione araba / Farsi di 1,2,3 invece di '?'. Questo mi sta facendo noci, Q1: Come posso utilizzando HTML / CSS convertire i numeri in arabo / Farsi
Q2:? E perché diamine quando cambio la mia lingua (WinXP) cambia tutto tranne i numeri
Soluzione
-
Non v'è alcun metodo automatico per cambiare i numeri, o anche le cifre. Impostare una mappatura tra allora e convertire manualmente.
-
I numeri sono mai localizzate, perché a differenza di linguaggio naturale parole, numeri arabi sono compresi nella maggior parte del mondo.
Altri suggerimenti
Se si desidera numerare un elenco, è possibile utilizzare un elemento ol
e cambiare il list-style-type
di esso come:
ol {
list-style: arabic-indic;
}
Ampliando ShirzITCo e la risposta di Kirk Woll sopra - che ha salvato la mia, ma quando il client ha deciso tutto il contenuto di un CMS WordPress dovrebbe usare numeri Orientale-arabi, invece di arabo occidentale hanno iniziato con:
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);
Utilizzare questa JavaScript, questo andrà a sostituire i numeri:
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);