cms-localization について
cms-localizationは、Contentstackのローカライズに関する開発者向けガイダンススキルです。言語設定、フォールバックチェーン、フィールドのローカライズ、複数ロケールでの公開を扱い、CMSの編集動作とCDAのコンテンツ配信を区別してワークフローを設計します。
主な機能
- 01言語階層とフォールバックの設計
- 02ローカライズ済み・未ローカライズ項目の説明
- 03フィールドのローカライズ選択を支援
- 04CDAのロケールクエリを案内
- 05複数ロケールでの公開方針を説明
活用シーン
- 01複数市場向けの言語構成の設計
- 02ロケール間で共有するフィールドの選定
- 03フォールバックとコンテンツ継承の確認
- 04複数ロケールでの公開計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ contentstack/ contentstack-agent-skills --skill cms-localizationインストール後、Claude Code で/cms-localizationを入力して読み込まれたか確認します。
詳細
Contentstack のローカライズ
説明
Contentstack のローカライズについて、言語の設定、フォールバックチェーン、ローカライズされたエントリーとローカライズされていないエントリー、ローカライズ不可フィールド、および複数ロケールでの公開について開発者に助言します。
使用するタイミング
開発者が言語、フォールバックチェーン、エントリーのローカライズ、ローカライズ不可フィールド、または複数ロケールでの公開について質問した場合に使用します。質問が CMS の編集作業に関するものか、CDA の配信動作に関するものかを確認してください。
ユーザーの課題
開発者は、適切なフォールバック動作、効率的な編集ワークフロー、最小限の冗長性を備えた多言語コンテンツ配信を設計する必要があります。
成功基準
言語階層が適切で、マスター言語の制約が明示されています。 フォールバックの動作が、チェーンのたどり方も含めて明確に説明されています。 フィールド単位のローカライズの選択が、実用的で一貫しています。 複数ロケールでの公開に関するガイダンスが正確で、実行に移せます。 編集 UI の動作と CDA の動作が区別されています。
想定される入力
- 対象言語と市場
- フォールバック要件
- 翻訳の編集ワークフロー
- ロケール間で共有されるコンテンツ
想定される出力
- 言語階層に関する推奨事項
- フォールバックチェーンの設計
- ローカライズ不可フィールドに関するガイダンス
- 複数ロケール向けの公開戦略
- CDA のロケールクエリに関するガイダンス
ユーザーリクエストの例
- Contentstack でフォールバック付きの言語を設定するにはどうすればよいですか?
- ローカライズされたエントリーとローカライズされていないエントリーの違いは何ですか?
- どのフィールドをローカライズ不可に設定すべきですか?
- 複数の言語でコンテンツを一度に公開するにはどうすればよいですか?
- ロケールにコンテンツがない場合はどうなりますか?
ワークフローの概要
対象ロケール、市場、および質問が CMS と CDA のどちらの動作に関するものかを確認します。 マスター言語の制約を説明し、フォールバックチェーンを設計します。 ローカライズ不可のままにすべきフィールドを推奨します。 ローカライズされたエントリーとローカライズされていないエントリーの動作、および編集への影響を説明します。 CDA のロケールクエリに関するガイダンスと、複数ロケールでの公開戦略を提示します。
指示
[{"heading":"マスター言語","content":"マスター言語はスタック作成時に設定される永続的な言語であり、すべてのフォールバックチェーンの終点になることを最初に明示します。"},{"heading":"フォールバックチェーンの設計","content":"各言語に設定できるフォールバック言語は1つであることを説明します。fr-ca -> fr-fr -> en-us(マスター)のようなチェーンとして継承されることを説明します。後からフォールバックの関係を変更すると、既存のコンテンツの継承に影響することに注意を促します。"},{"heading":"ローカライズされたエントリーとローカライズされていないエントリー","content":"ローカライズされたエントリーは、独自のバージョン履歴、公開ステータス、ワークフロー状態を持つ独立したコピーであることを明確にします。ローカライズされていないエントリーは、フォールバックチェーンから継承します。ローカライズは、ロケールごと、エントリーごとに一方向の操作です。"},{"heading":"ローカライズ不可フィールド","content":"SKU、価格、日付、座標、ブール値フラグ、共有アセット、識別子など、構造データや共有データはローカライズ不可に設定することを推奨します。人が読むテキストフィールドはローカライズ可能なままにします。"},{"heading":"CDA のロケールクエリ","content":"CDA リクエストではロケールを明示的に指定するよう開発者に伝えます。フォールバックチェーン全体を適用したい場合は include_fallback=true を使用します。これを指定しない場合、完全に一致するロケールのみが確認されます。"},{"heading":"複数ロケールでの公開","content":"プランの上限に従い、編集者はマスター言語のエントリーから複数のロケールバージョンを公開できることを説明します。各ローカライズ済みエントリーの最新バージョンのみが公開されること、また、ローカライズ済みエントリーのバージョンはマスター言語のエントリーにある削除モーダルからのみ削除できることにも触れます。"}],
セキュリティ
デフォルト
- 出力やログにシークレット、トークン、API キーを決して含めないでください。
- 認証情報には必ず環境変数を使用してください。
- スクリプト、例、手順にシークレットをハードコードしないでください。
- 明示的に利用可能なものとして示されていないツールやコネクターにアクセスできると主張しないでください。
- 検証済みの事実と推測を明確に区別してください。
破壊的な操作
- 破壊的な操作を行う前に、必ずユーザーの明示的な確認を求めてください。
- 実行前に、変更または削除される内容を正確にすべて列挙してください。
- 削除、上書き、公開の操作を自動実行しないでください。
シークレット
- すべてのトークン、パスワード、API キーを機密情報として扱ってください。
- シークレットの値を表示またはログに記録しないでください。
- ユーザーに表示する出力では、シークレットをマスクしてください。
- 認証情報の保存には環境変数のみを使用してください。
環境変数
- 必須の環境変数をすべて文書化してください。
- 実際の認証情報を含まないサンプル値を提示してください。
- 実行前に、必須の環境変数が設定されていることを検証してください。
- シークレットにデフォルトの代替値を使用しないでください。
製品コンテキスト
-
- 製品:CMS
-
- 説明:Contentstack のヘッドレス CMS:コンテンツタイプ、エントリー、アセット、環境、公開、ワークフロー、Webhook、Content Management API(CMA)。
-
- 製品の安全規則: - 管理トークンや API キーを決して公開しないでください。
- 認証情報には必ず環境変数を使用してください。
- ブラウザーアプリでは、すべての CMA 呼び出しをサーバーサイドプロキシ経由で行ってください。
- クライアントサイドのコードにスタック API キーをハードコードしないでください。
-
- デフォルトのツール:["CMA API", "コンテンツタイプ", "エントリー", "アセット", "ワークフロー", "Webhook", "環境", "リリース", "公開キュー"]
-
- デフォルトのコネクター:["CMA プロキシ", "Webhook"]