Многоязычное форматирование столбцов в списке Sharepoint

#json #list #sharepoint-online #multilingual

#json #Список #sharepoint-онлайн #многоязычный

Вопрос:

Я пытаюсь использовать форматирование столбцов в формате JSON и хочу, чтобы txtContent отличался в зависимости от языка браузера/пользователя. Столбцы успешно переводятся при вводе другого значения при использовании французского браузера, а английский сохраняется.

При попытке обновить поле форматирования столбца другой версией (французской), оно перезаписывает английский, поэтому кажется, что только заголовок учитывает это поведение.

За исключением того, что я делаю что-то не так, я не могу найти способ заставить JSON распознавать язык с помощью оператора IF.

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

Добавление: Я только что попробовал использовать toLocaleString(‘2020/10/20 14:00:00’) в надежде, что это приведет к другому результату между настройками браузера, а затем использует его в качестве компаратора, но, увы, они были одинаковыми.

Потенциальное решение Это ужасное решение, но оно, кажется, работает, но это такой хак. =если(indexOf(toString(@сейчас),’heure’)==-1,»Английский»,»Французский»)

Ответ №1:

Все, что основано на датах, ненадежно. Он основан на различных настройках, которые не обязательно соответствуют языку пользователя. Например, потенциальным решением является считывание часового пояса (заданного операционной системой хоста браузера, а не SharePoint) и языка форматирования, который, как я полагаю, является языком браузера в некоторых браузерах. Это не обязательно совпадает с текущим выбранным языком из списка поддерживаемых языков браузера, и в любом случае язык пользователя может быть установлен на основе профиля пользователя, а не браузера. Форматирование дат, созданных SharePoint, может зависеть от настроек языкового стандарта пользователя и от того, установили ли они флажок «Всегда использовать мои личные настройки», и это может повлиять на аспекты форматирования дат, но опять же языковой стандарт может не соответствовать языку пользователя. Для дат, сгенерированных на JavaScript, которые, я думаю, включали «@сейчас», это основано на других факторах.

Что я обычно делаю, так это создаю колонку под названием «Да» и, как вы уже догадались, делаю ее всегда правдивой. Его значение отображения будет «Да», или «Oui», или «Si», или что-то еще, в зависимости от текущего языка отображения пользователя. Дайте мне знать, если это поможет в вашем случае.

Комментарии:

1. Да, мне не нравится использовать дату, однако при использовании строки TO на ней, похоже, всегда используется один и тот же формат вывода, так что это может быть хорошо. Я попытался использовать столбец с Да/Нет, но он всегда принимает значение true/false или 1/0. Он не оценивается как » да » / «нет». Я делаю то, что это может быть лучшим решением, хотя, если оно сработает. Я также попытался сделать » да » / » нет «в вычисляемом поле, но там тоже получалось только «правда» / «ложь».

2. Использование [$Fieldname.displayValue] дает мне Oui/Non. Ура. Это сработает. Спасибо