SelectOrdinal
SelectOrdinal は、コアマクロ selectOrdinal に対応するコンポーネントマクロです。
序数ケースをそのままテンプレートマークアップ内に書きたいときに便利で、関数呼び出しよりコンポーネント形式のほうが保守しやすい場合に向いています。
標準の ICU 複数形カテゴリ(one、two、few、many、other)は、そのままプロパティ名として使います。
完全一致にはアンダースコア付きの数値を使います。
たとえば _1="1st" は value が 1 のときだけ完全一致し、カテゴリプロパティより優先されます。
これは、あるロケールではカテゴリに素直に対応しない不規則な序数に便利です。
フレームワークに依存しない Lingui の意味論については、公式の SelectOrdinal リファレンス を参照してください。
<p>
<SelectOrdinal value={place} one="#st" two="#nd" few="#rd" other="#th" />
</p> 1st
ロケール
順位
<script lang="ts"> import { SelectOrdinal } from "lingui-for-svelte/macro";
let place = $state(1);</script>
<SelectOrdinal value={place} one="#st" two="#nd" few="#rd" other="#th" />---import { SelectOrdinal } from "lingui-for-astro/macro";
const place = 1;---
<SelectOrdinal value={place} one="#st" two="#nd" few="#rd" other="#th" />import { SelectOrdinal } from "@lingui/react/macro";
function Component() { return ( <SelectOrdinal value={place} one="#st" two="#nd" few="#rd" other="#th" /> );}完全一致
セクションタイトル “完全一致”数値の前に _ を付けると、その値に完全一致します。
完全一致はカテゴリプロパティより優先されます。
<SelectOrdinal value={place} _1="1st" _2="2nd" _3="3rd" other="#th" />関数形式では、同じ効果を数値キーそのままで表します。
<p>{$selectOrdinal(place, { 1: "1st", 2: "2nd", 3: "3rd", other: "#th" })}</p>SelectOrdinal が向いている場面
セクションタイトル “SelectOrdinal が向いている場面”- 序数分岐をテンプレートマークアップの中でそのまま書きたい
selectOrdinal(...)よりコンポーネント形式のほうが見通しがよいPluralやSelectと対称的な書き方にしたい