Как включить различное числовое представление в зависимости от локали пользователя в UI5?

Для приложения SAPUI5 я хочу отображать числовые данные в соответствии с настройками, установленными пользователем в SU01 (бэкэнд-транзакция при входе в SAP).

Например, пользователь может установить десятичные разделители как

  1. 22,000.000 (двадцать две тысячи) → формат США
  2. 22.000,000 (двадцать две тысячи) → немецкий формат

Основываясь на этих настройках, приложение UI5 должно знать, какой десятичный формат использовался, и соответствующим образом форматировать данные.

Я пытаюсь следовать теме Числовой формат, но проблема в том, что мне нужно указать регион вручную. В идеале я хочу найти его в настройках пользователя.

var oLocale = new sap.ui.core.Locale("en-US");
var oFormatOptions = {
  showMeasure: true
};

person Code_Tech    schedule 25.02.2021    source источник
comment
Сообщите нам, помог ли приведенный ниже ответ.   -  person Boghyon Hoffmann    schedule 07.06.2021


Ответы (1)


В большинстве случаев разработчикам приложений не нужно явно определять языковой стандарт, поскольку UI5 уже пытается определить языковой стандарт пользователя для приложения в соответствии с эвристикой, упомянутой в разделе Определение кода языка/локали (см. раздел Текущий код языка/регион).

Учитывая свойство OData "Freight": "22000" (введено Edm.Decimal), в следующем примере показано, что пользователи могут вводить значение в формате своей локали без приложения, которое должно определять локаль вручную: https://embed.plnkr.co/b32woxbQmdj5dTRu?show=view/Root.view.xml,предварительныйпросмотр:?sap-ui-xx-componentPreload=off

Если у пользователя есть, например. Английский (США) перемещен вверх в настройках браузера:
OData V2 Edm.Decimal in UI5 English

Если немецкий язык (Германия) перемещен вверх:
OData V2 Edm.Decimal в немецком интерфейсе 5

person Boghyon Hoffmann    schedule 25.02.2021