メモ
Dynamics 365 Commerce のリテール・インタレスト・グループは、Yammer から Viva Engage に移転しました。 新しい Viva Engage コミュニティにアクセスできない場合は、このフォーム (https://aka.ms/JoinD365commerceVivaEngageCommunity) に入力して追加し、最新のディスカッションに参加してください。
この記事では、販売時点管理 (POS) ユーザー インターフェイス (UI)、POS メッセージ (エラー、警告、情報)、レシート ラベル、およびコマース スケール ユニット (CSU) またはコマース ランタイム サービス (CRT) のエラー メッセージのラベルを変更する方法について説明します。 CSU または CRT のカスタム エラー メッセージを同じ方法で追加することもできます。 ただし、新しい POS 拡張ラベルの場合は、POS 拡張機能のローカライズ フレームワークを使用します。
POS ラベルおよびメッセージ (エラー、警告、および情報)
このセクションでは、既定の文字列を上書きすることによって、POS UI ラベルおよび POS メッセージを変更する方法について説明します。
POS UI のラベルおよびメッセージの上書き
言語テキスト ページの言語テキスト エントリを使用して、POS の既定の文字列を上書きすることができます。 POS 文字列を変更するには、次の手順を実行します。
コマースにサインインします。
Retail とコマース > チャネル設定 > POS 設定 > POS プロファイル > 言語テキストの順に移動します。
言語テキストページの、POS タブの POS 言語テキストグリッドで、追加ボタンを選択して言語 ID、テキスト ID、および上書きする文字列のテキストを追加します。
たとえば、POS サインイン ページのオペレーター ID フィールドのラベルを、アメリカ英語 (en-us) の従業員 ID に変更したいとします。 この場合、POS 言語テキストグリッドで次のエントリを追加します。
言語ID テキスト ID テキスト ja-JP 502 従業員 ID メモ
POS 文字列のテキスト ID を取得する方法の詳細については、次のセクションを参照してください。
アクション ウィンドウで、保存を選択します。
小売および商業 > 小売および商業IT > 配送スケジュールの順に移動します。
レジスター (1090) ジョブを選択し、今すぐ実行を選択します。
データがプッシュされたら、ローカライズされた文字列キャッシュが更新されるまで最大 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 が表示されるようになります。
エラーメッセージまたはレシート文字列
このセクションでは、既定の文字列をオーバーライドしてエラー メッセージまたは受信文字列を変更する方法について説明します。 また、新しいカスタム エラー メッセージまたはレシート文字列を追加する方法についても説明します。
エラーメッセージまたはレシート文字列を上書きする
コマースにサインインします。
Retail とコマース > チャネル設定 > POS 設定 > POS プロファイル > 言語テキストの順に移動します。
[ 言語テキスト] で、[ 追加 ] を選択して、オーバーライドする文字列の言語 ID、テキスト ID、およびテキストを追加します。
たとえば、サインイン中にユーザーが間違ったユーザー名またはパスワードを入力すると、POS に次のエラー メッセージが表示されます: 「ユーザー名またはパスワードが認識されませんでした。」 もう一度やり直してください」。英語 (US) では、メッセージを「有効なユーザー名またはパスワードを入力してください」に変更します。この場合、言語テキスト グリッドで次のエントリを追加します。
言語ID テキスト ID テキスト ja-JP Microsoft_Dynamics_Commerce_Runtime_InvalidAuthenticationCredentials 有効なユーザー名またはパスワードを入力してください メモ
エラー メッセージのテキスト ID、および入庫文字列を取得する方法の詳細については、次のセクションを参照してください。
アクション ウィンドウで、保存を選択します。
小売および商業 > 小売および商業IT > 配送スケジュールの順に移動します。
レジスター (1090) ジョブを選択し、今すぐ実行を選択します。
メッセージまたは入庫文字列のテキスト ID を取得する
…\RetailSDK\ドキュメント\リソースに移動します。
Visual Studio で、次のリソース ファイルのいずれかを開きます。
- エラー メッセージを変更するには: RuntimeExceptionMessages.resx
- レシート文字列を変更するには: RuntimeReceiptMessages.resx
リソース ファイル内のすべてのメッセージについて、Visual Studio は名前と値を表示します。
値列で、変更するテキストを検索します。
その値に対応する名前をコピーします。 この名前を言語テキスト グリッドの テキスト ID として入力します。
カスタム エラー メッセージまたは入庫文字列を追加する
[ 言語] テキスト ページで、新しいエラー メッセージまたは新しいレシート文字列を追加することもできます。 この方法を使用すると、コード内のすべてをハードコーディングするのではなく、ローカライズをサポートできます。
重要
すべてのメッセージのテキスト ID は Microsoft_Dynamics_Commerce_ で始まる必要があります。
たとえば、アメリカ英語 (en-us) と英国英語 (en-uk) で新しい例外メッセージを追加したいとします。 言語テキスト ページに、次のようなエントリを追加します。
| 言語ID | テキスト ID | テキスト |
|---|---|---|
| ja-JP | Microsoft_Dynamics_Commerce_CustomId1 | アメリカ英語での新しいメッセージ |
| en-uk | Microsoft_Dynamics_Commerce_CustomId1 | 英国英語での新しいメッセージ |
メモ
この例では、CustomId1 が新しいメッセージのテキスト ID です。 Microsoft_Dynamics_Commerce_で始まる限り、任意のテキスト ID を使用できます。
次の例では、この新しいメッセージを CRT 拡張コードで使用する方法を示します。
throw new CommerceException("Microsoft_Dynamics_Commerce_CustomId1", ExceptionSeverity.Warning, null, "Custom error")
{
LocalizedMessage = "My new message in US English.",
LocalizedMessageParameters = new object[] { }
};