最近のアクセス:
GetMessageText 関数

パラメーターとして送られた Language オブジェクト内 (パラメーターが省略された場合は現在の Language オブジェクト内) で指定されたテキストを検索して、その翻訳結果を返却します。

構文

GetMessageText(MessageCode, [ LanguageObjectName ]  )
入力値の説明:

MessageCode
    翻訳対象のテキストです。
LanguageObjectName
    翻訳先言語を示す Language オブジェクトの名前です。

適用範囲

オブジェクト: ProcedureTransactionWeb PanelPanelData Provider
ジェネレーター: .NET.NET FrameworkJavaAppleAndroidAngular

[ Web Layout ] にテキストコントロールを含む Web Panel オブジェクトを考えます。
Web Panel Start イベントに以下のコード行が含まれています:
Event Start
   Text.Caption = GetMessageText('Test about the GetMessageText function', 'Spanish')
Endevent
スペイン語の Language オブジェクトを見てください: 
イメージ:21785.png
該当フレーズをローカライズしたテキストが入力されます。
F5 を押して Web パネルを実行すると、次のテキストキャプションが表示されます:
イメージ:21786.png
 
: この関数はエラーは返しません。現在の言語で 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)


サブページ
Created: 17/05/29 23:31 by Admin Last update: 24/12/18 01:21 by Admin
カテゴリ
Powered by GXwiki 3.0