返された SOQL 結果の翻訳
SOQL クエリの結果をクエリ送信者の言語に翻訳するには、toLabel メソッドを使用します。
toLabel() メソッドは、どの組織でも使用できます。これはトランスレーションワークベンチを有効にしている組織で特に役立ちます。
toLabel メソッドでは次の構文を使用します。
1toLabel(object.field)このメソッドを使用すると、次の検索結果が翻訳されて返されます。
- 関連する describe API コールによって返される値を含む、通常、multiselect、ディビジョン、または通貨コードの選択リスト項目。
- データカテゴリグループとデータカテゴリの一意の名前の項目。
- Recordtype の名前。
- オブジェクト履歴。HISTORY は制限付きでサポートされます。追跡項目が変更されると、句 SELECT toLabel(Field) FROM *History は、変更された項目のマスタ表示ラベル、または既存の翻訳済み表示ラベルを返します。履歴オブジェクトの OldValue 項目と NewValue 項目も toLabel メソッドをサポートしますが、クエリで翻訳済みの値が返されるのは、サポートされる項目種別の変更追跡のみです。
1SELECT Company, toLabel(Recordtype.Name) FROM Lead返されるレコードは、クエリを発行したユーザの言語に翻訳されます。
toLabel() メソッドを使用して、翻訳された選択リスト値を使用するレコードを絞り込めます。次に例を示します。
1SELECT Company, toLabel(Status)
2FROM Lead
3WHERE toLabel(Status) = 'le Draft'このクエリでは、Status の選択リスト値が「le Draft」のリードレコードが返されます。ユーザの言語での値が比較されます。選択リストの翻訳がない場合は、マスタ値に対して比較が実行されます。
翻訳された選択リスト値には、次の制限事項が適用されます。
- LIKE 演算子がクエリを実行できるのは、その API 名ではなく、選択リストの表示ラベルのみです。
- toLabel() メソッドは、演算子 ORDER BY では使用できません。SOQL では、選択リストの定義された順序が常に使用されます。
- ディビジョンまたは通貨の ISO コード選択リストで、WHERE 句に toLabel() メソッドを使用することはできません。