Фарси/арабский номер будет выводиться правильно
Вопрос
Хорошо, возможно, вы думаете, что это глупый вопрос, но я клянусь, что это не так.лол, у вас есть файл, который выводит как таковые:
<div id="first">1</div>
2
<div id="third">
<? $i = 3; echo(i) ?>
</div>
Какие выходы:
1
2
3
Теперь, если я хочу иметь вывод, как показано ниже:
?
?
?
Ну, я надеялся, что смогу поставить арабскую/фарси версию 1,2,3 вместо '?'.Это сводит меня с ума, Вопрос 1: Как с помощью HTML/CSS преобразовать числа в арабский/фарси?
Q2: И какого черта при смене языка (winxp) меняется все, кроме цифр?
Решение
Не существует автоматического способа изменения чисел или даже цифр.Настройте сопоставление между ними и конвертируйте вручную.
Числа никогда не локализуются, поскольку в отличие от слов естественного языка арабские цифры понятны в большинстве стран мира.
Другие советы
Если вы хотите пронумеровать список, вы можете использовать ol
элемент и измените list-style-type
из этого типа:
ol {
list-style: arabic-indic;
}
Расширяя ответ ShirzITCo и Кирка Уолла выше, который спас меня, но когда клиент решил, что весь контент в CMS WordPress должен использовать восточно-арабские цифры вместо западно-арабских, с которых они начинали:
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);
Используйте этот javascript, он заменит числа:
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);