パラメーターとして送られた
Language オブジェクト内 (パラメーターが省略された場合は現在の Language オブジェクト内) で指定されたテキストを検索して、その翻訳結果を返却します。
GetMessageText(MessageCode, [
LanguageObjectName ]
)
入力値の説明:
MessageCode
翻訳対象のテキストです。
LanguageObjectName
翻訳先言語を示す Language オブジェクトの名前です。
オブジェクト: Procedure、
Transaction、
Web Panel、
Panel、
Data Provider
ジェネレーター: .NET、
.NET Framework、
Java、
Apple、
Android、
Angular
[ Web Layout ] にテキストコントロールを含む
Web Panel オブジェクトを考えます。
Web Panel Start イベントに以下のコード行が含まれています:
Event Start
Text.Caption = GetMessageText('Test about the GetMessageText function', 'Spanish')
Endevent
スペイン語の
Language オブジェクトを見てください:

該当フレーズをローカライズしたテキストが入力されます。
F5 を押して Web パネルを実行すると、次のテキストキャプションが表示されます:
注: この関数はエラーは返しません。現在の言語で MessageCode が見つからない場合、MessageCode は返されません。したがって、MessageCode に、メッセージとして意味が分かるテキストを指定しておくと便利です。
実行時に
[ Translation Type ] プロパティを設定する場合は、GetMessageText 関数の両方のパラメーターに、感嘆符 (!) をつけてください。
Text.Caption = GetMessageText(!'Test about the GetMessageText function', !'Spanish')
また、目的のテキストをコードに記述する必要もあります。これにより、アプリケーションのメタデータに目的の翻訳が取り込まれます。実行時翻訳の正しいコードは次のとおりです:
&sample = 'Test about the GetMessageText function' // アプリケーションのメタデータにテキストを追加するために必要
Text.Caption = GetMessageText(!'Test about the GetMessageText function', !'Spanish')
実行時に感嘆符のないリテラルが翻訳されて表示されるように、分析時に GetMessageText 関数が使用されていることに注意してください (指定子によってインジェクトされます)。この結果、DBMS が GetMessageText を評価できないためにパフォーマンスの問題が発生したり、分析の警告や次のようなエラーが発生したりする可能性があります。:
spc0075 演算項 getmessagetext( "M") は、IN 比較の &var のデータタイプと一致しません。(Events, Line: 2)