формат даты-fns не локализует числа

#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;
};