次の方法で共有


Commerce 拡張リソースおよびラベル ファイルのローカライズ

この記事では、販売時点管理 (POS) ユーザー インターフェイス (UI)、POS メッセージ (エラー、警告、および情報)、入庫ラベル、および Commerce Scale Unit または Commerce Runtime のサービス (CRT) のエラー メッセージの点にラベルを変更する方法について説明します。 カスタム エラー メッセージを同じ方法で追加することもできます。 ただし、新しい POS 拡張ラベルの場合は、POS 拡張のローカライズ フレームワークを使用します。

POS ラベルおよびメッセージ (エラー、警告、および情報)

このセクションでは、既定の文字列を上書きすることによって、POS UI ラベルおよび POS メッセージを変更する方法について説明します。

POS UI ラベルおよびメッセージの上書き

言語テキスト ページの言語テキスト エントリを使用して、POS の既定の文字列を上書きすることができます。 POS 文字列を変更するには、次の手順を実行します。

  1. コマースにサインインします。

  2. Retail とコマース > チャネル設定 > POS 設定 > POS プロファイル > 言語テキストの順に移動します。

  3. 言語テキストページの、POS タブの POS 言語テキストグリッドで、追加ボタンを選択して言語 ID、テキスト ID、および上書きする文字列のテキストを追加します。

    たとえば、POS サインイン ページのオペレーター ID フィールドのラベルを、アメリカ英語 (en-us) の従業員 ID に変更したいとします。 この場合、POS 言語テキストグリッドで次のエントリを追加します。

    言語 ID テキスト ID テキスト
    ja-JP 502 従業員 ID

    メモ

    POS 文字列のテキスト ID を取得する方法の詳細については、次のセクションを参照してください。

  4. アクション ウィンドウで、保存を選択します。

  5. Retail とコマース > Retail とコマース IT > 配送スケジュールの順に移動します。

  6. レジスター (1090) ジョブを選択し、今すぐ実行を選択します。

  7. データをプッシュした後、ローカライズされた文字列のキャッシュが更新されるまで最大で 1 時間待つ必要があります。 文字列キャッシュの更新が完了したら、サインアウトして Store Commerce に再度サインインし、変更したラベルを表示します。 Retail Server を再起動して、キャッシュの更新を強制することもできます。

POS 文字列のテキスト ID を取得します

POS 文字列のテキスト ID を取得するには、Web 向けの Store Commerce を開きます。 F12 を押下して 開発者コマンドツールを起動し、 コンソール タブを選択して JavaScript コンソールを開きます。 JavaScript コンソールで Commerce.Helpers.DeveloperModeHelper.setDeveloperMode(true); コマンドを実行して、開発者モードを起動します。

JavaScript コンソールで開発者モードを有効にした後、開発者モードの下にある POS の設定ページに移動し、開発者モードはいに設定します。 文字列 ID の表示はいに設定します。 POS からサインアウトし、再度サインインします。 POS には、すべてのラベルとメッセージの前に文字列 ID が表示されるようになります。

エラー メッセージまたは入庫文字列

このセクションでは、既定の文字列を上書きすることによってエラー メッセージ、または入庫文字列を変更する方法について説明します。 新規、カスタム エラー メッセージ、または入庫文字列を追加する方法についても説明します。

エラー メッセージまたは入庫文字列を上書きする

  1. コマースにサインインします。

  2. Retail とコマース > チャネル設定 > POS 設定 > POS プロファイル > 言語テキストの順に移動します。

  3. 言語テキスト ページで、追加ボタンをクリックして、上書きする文字列の言語 ID、テキスト ID、およびテキストを追加します。

    たとえば、サインイン中にユーザーが間違ったユーザー名またはパスワードを入力すると、POS に次のエラー メッセージが表示されます: 「ユーザー名またはパスワードが認識されませんでした。」 もう一度やり直してください」。英語 (US) では、メッセージを「有効なユーザー名またはパスワードを入力してください」に変更します。この場合、言語テキスト グリッドで次のエントリを追加します。

    言語 ID テキスト ID テキスト
    ja-JP Microsoft_Dynamics_Commerce_Runtime_InvalidAuthenticationCredentials 有効なユーザー名またはパスワードを入力してください

    メモ

    エラー メッセージのテキスト ID、および入庫文字列を取得する方法の詳細については、次のセクションを参照してください。

  4. アクション ウィンドウで、保存を選択します。

  5. Retail とコマース > Retail とコマース IT > 配送スケジュールの順に移動します。

  6. レジスター (1090) ジョブを選択し、今すぐ実行を選択します。

メッセージまたは入庫文字列のテキスト ID を取得する

  1. …\RetailSDK\ドキュメント\リソースに移動します。

  2. Visual Studio で、次のリソース ファイルのいずれかを開きます。

    • エラー メッセージを変更するには、次のコマンドを実行します。 RuntimeExceptionMessages.resx
    • レシート 文字列を変更するには、次のコマンドを行います。 RuntimeReceiptMessages.resx

    リソース ファイル内のすべてのメッセージについて、Visual Studio は名前と値を表示します。

  3. 列で、変更するテキストを検索します。

  4. その値に対応する名前をコピーします。 この名前をテキスト ID として言語テキスト グリッドに入力します。

カスタム エラー メッセージまたは入庫文字列を追加する

新しいエラー メッセージまたは新しい入庫文字列を、言語テキスト ページで追加することもできます。 この方法で、コード内のハードコーディングのすべての代わりにローカライズをサポートします。

重要

すべてのメッセージのテキスト ID は Microsoft_Dynamics_Commerce_ で始まる必要があります。

たとえば、アメリカ英語 (en-us) と英国英語 (en-uk) で新しい例外メッセージを追加したいとします。 この場合、言語テキスト ページでの次のエントリに類似したエントリを追加します。

言語 ID テキスト ID テキスト
ja Microsoft_Dynamics_Commerce_CustomId1 アメリカ英語での新しいメッセージ
en-uk Microsoft_Dynamics_Commerce_CustomId1 英国英語での新しいメッセージ

メモ

この例では、CustomId1 が新しいメッセージのテキスト ID です。 使用したい任意のテキスト ID を使用することができます。ただし、Microsoft_Dynamics_Commerce_ で始まる場合に限ります

次の例では、この新しいメッセージを CRT 拡張コードで使用する方法を示します。

throw new CommerceException("Microsoft_Dynamics_Commerce_CustomId1", ExceptionSeverity.Warning, null, "Custom error")
                    {
                        LocalizedMessage = "My new message in US English.",
                        LocalizedMessageParameters = new object[] { }
                    };