【Microsoft Lists】ロケールを利用した書式設定(@lcid)

リストの書式設定で @lcid トークン が利用できるようになり、 ロケールを利用した書式設定 ができるようになりました。

ロケールとは?

ロケールとは、日付や数値をどの言語の形式で表示するかの設定です。次の画像のように、ロケールが異なっていると、日付の表示形式が異なります。 こちらのリスト に、ロケールごとに日付や数値がどのように表示されるかまとめています。

ロケールの設定

ロケールは、「サイト」と「プロファイル」の 2 箇所で設定することができます。

サイトのロケール確認方法

サイトのロケールは、[サイトコンテンツ] > [サイト設定] > [地域の設定] から確認することができます。

プロファイルのロケール確認方法

プロファイルのロケールは、次の画像の手順で確認することができます。

どちらのロケールが適用される?

どちらのロケールの設定が適用されるかは、プロファイルの設定の「設定の選択」の値で決まります。
「設定の選択」を「サイト管理者によって定義された地域設定を常に使用する」 に設定した場合は、サイトのロケールが適用されます。
一方、「設定の選択」を「個人用の設定を常に使用する」に設定した場合は、プロファイルのロケールが適用されます。

デフォルトでは、「サイト管理者によって定義された地域設定を常に使用する」が設定されています。

@lcid で取得される値

@lcid トークンを利用すると、現在適用されているロケールのロケール ID(LCID)を取得できます。
プロファイルの「設定の選択」を「サイト管理者によって定義された地域設定を常に使用する」 に設定していた場合は、サイトのロケールのロケール ID が取得され、プロファイルの「設定の選択」を「個人用の設定を常に使用する」 に設定していた場合は、プロファイルのロケールのロケール ID が取得されます。

ロケール ID の一覧は、次のリストに掲載しています。

bit.ly

@lcid を利用した書式設定のサンプル

この @lcid を利用して、ロケールに合わせて文字の方向を変える列の書式設定のサンプルを作成してみました。
このサンプルでは、ロケールが「アラビア語 (アルジェリア)」に設定されている場合のみ、文字の向きが右から左になります。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "div",
      "txtContent": "@currentField",
      "style": {
        "direction": "=if(@lcid == 5121 ,'rtl' , 'ltr')",
        "unicode-bidi": "bidi-override",
        "text-align": "=if(@lcid == 5121 ,'right' , 'left')",
        "width": "100%",
        "font-size":"20px"
      }
    }
  ]
}

参考サイト

サンプルコード

Chris Kent さんが作成された @lcid を利用した書式設定のサンプルコードです。

github.com

github.com

YouTube

Chris Kent さんによる @lcid を利用した書式設定のデモ動画です。

www.youtube.com