このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "初期履歴"v9.7.12026/11/3
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
Prettierプラグイン
prettier-plugin-intlayer は、Prettier がファイルをフォーマットするたびに、翻訳キーを固定の順序に並べ替えます。差分(diff)を小さく保ち、マージコンフリクトを減らし、欠落しているロケールを簡単に見つけられるようにします。
コードをクリップボードにコピー
インストール
コードをクリップボードにコピー
Prettier 3 以降が必要です。
プロジェクトで既に Prettier を使用している場合、intlayer init prettier を実行するとプラグインのインストールと設定ファイルへの追加が自動的に行われます。
使い方
Prettier の設定ファイルにプラグインを追加します:
コードをクリップボードにコピー
コンテンツ宣言ファイルのみに適用する場合は、override を使用します:
コードをクリップボードにコピー
ソート対象
t(): ロケール
固定された(pinned)ロケールが先頭に来ます(デフォルトは en)。その他のロケールはアルファベット順に並べ替えられます。
コードをクリップボードにコピー
plural(): CLDR 順序
カテゴリは最小数量からフォールバックに向かって並べ替えられます: zero、one、two、few、many、other。
コードをクリップボードにコピー
enu(): 昇順の閾値
条件は数値順、次いで演算子順(<1、<=1、1、>=1、>1)にソートされます。fallback は末尾に配置されます。
コードをクリップボードにコピー
実行時には、最初に一致した条件が適用されます。プラグインは、すべての数量が同じコンテンツに解決される場合にのみ新しい順序を適用します。順序によって結果が変わる場合、オブジェクトは記述されたまま保持されます。例えば { '<1': …, '<=-2.3': … } では、'<1' キーがすべての負の数値を捕捉するためです。
select(): アルファベット順
各ケースはアルファベット順に並べ替えられ、fallback は末尾に配置されます。
コードをクリップボードにコピー
fallback や other キーがない場合、最後のケースがフォールバックとして使用されます。そのケースは末尾に残り、それより前のケースのみがソートされます。
.content.json ファイル
シリアライズされた形式も同様にソートされます: { "nodeType": "translation", "translation": { … } }、ならびに plural、enumeration、select ノード。
コンテンツキー(オプトイン)
intlayerSortContentKeys: true を指定すると、辞書の content のキーもすべてのネストレベルでアルファベット順にソートされます。これは *.content.* ファイルにのみ適用されます。
コードをクリップボードにコピー
ソートは各ヘルパー(t、plural、enu、select、cond、gender、md、insert、nest、file…)を通じて内部のオブジェクトに再帰的に適用されます。各ヘルパー自体のキー構成は独自の順序を維持します。cond() や gender() に渡されたキーは、最後のキーがフォールバックとなるため順序変更されません。content と同じ階層にあるフィールド(key、title、locale…)はそのまま維持されます。
オプション
テーブルをモーダルで開き、すべてのデータを明確に表示
| オプション | デフォルト | 説明 |
|---|---|---|
intlayerPinnedLocales | ["en"] | t() 内で先頭に保持されるロケールとその順序。すべてのロケールをソートするには [] を指定します。 |
intlayerSortContentKeys | false | *.content.* ファイルにおいて、辞書のコンテンツキーおよびネストされたオブジェクトもソートします。 |
変更されないもの
- スプレッド(
...base)、計算されたキー([key])、メソッド、または重複キーを含むオブジェクト。 - CLDR カテゴリではないキーを持つ
plural()マップ。 - 順序変更によって解決されるコンテンツが変わってしまう
enu()マップ。 - ヘルパーと同じ名前であっても、オブジェクト以外の引数が渡された関数の呼び出し。
コメントは属しているキーと一緒に移動します。
サポートされているパーサー
babel、babel-flow、babel-ts、typescript、flow、acorn、espree、meriyah、json、json5、jsonc。Vue、Svelte、Astro ファイルの <script> ブロックもこれらのパーサーでフォーマットされます。
既知の制限事項。 Prettier はパーサーごとに 1 つのプラグインのみを実行します。別のプラグインも JavaScript/TypeScript パーサーを置き換えている場合(例:prettier-plugin-tailwindcss)、最後に指定されたプラグインのみが適用されます。競合を回避するには、override を使用してprettier-plugin-intlayerの対象を*.content.*ファイルに限定してください。
