#localization #datetime-format #date-fns
#локализация #datetime-format #дата-fns
Вопрос:
Я хочу преобразовать временную строку в арабский язык. Например, я хочу преобразовать 10:00 PM
в مساءاً ١٠:٠٠
. Я использую format
функцию с. locale
import ar from 'date-fns/locale/ar-SA'
...
str = format(date, 'h:mm a', {locale: ar})
Но он выдает строку, подобную этой 10:00 م
. В основном цифры не переводятся.
Комментарии:
1. та же проблема…
Ответ №1:
You can try with this logic
const mappedDigit = (char: string): string => {
switch (char) {
case '0':
return '٠';
case '1':
return '١';
case '2':
return '٢';
case '3':
return '٣';
case '4':
return '٤';
case '5':
return '٥';
case '6':
return '٦';
case '7':
return '٧';
case '8':
return '٨';
case '9':
return '٩';
default:
return char;
}
};
const getArabicFormats = (englishString: string): string => {
let newArabicString = '';
for (let i = 0; i < englishString.length; i = 1) {
newArabicString = mappedDigit(englishString[i]);
}
newArabicString = newArabicString.replace('AM', 'ص');
newArabicString = newArabicString.replace('PM', 'م');
return newArabicString;
};