LabVIEWアプリケーションの国際化ガイドライン
- 更新日2026-09-22
- 4分で読める
「国際化」とは、大規模なリエンジニアリングを行わずにソフトウェアをローカライズしやすいように設計することです。一般に、ユーザ用の文字列またはラベルに依存するブロックダイアグラムの論理を回避して、LabVIEWコードを国際化します。
- 言語とロケールによって異なるブロックダイアグラムコードの項目に注意してください。これらの形式には、日付と時間の形式、通貨記号、小数点などが含まれます。
フロントパネル上の文字列の翻訳に加え、数値を文字列に変換する際に使用する、翻訳対象言語に対応した10進数区切り文字の指定もできます。日付と時間の表示形式を指定するには、「日付/時間文字列をフォーマット」関数を使用します。
- ブロックダイアグラムのコードでユーザ用の文字列定数を使用することは避け、代わりにフロントパネル上の文字列制御器を使用してください。
ブロックダイアグラムの文字列定数をローカライズすると、VIが壊れる場合があります。特に、ブロックダイアグラムの文字列定数にマルチバイト文字またはUTF-8文字が含まれているとVIが壊れる可能性が高くなります。
- フロントパネルで、キャプションを使用して、ユーザインタフェースの制御器または表示器のラベルの代わりにローカライズ可能なテキストを表示します。ブロックダイアグラムコードは、ラベルに基づいて制御器または表示器と対話します。その結果、ラベルを変換すると、そのラベルを参照するブロックダイアグラムコードが壊れます。一方、キャプションはユーザへのテキスト表示のみを目的としているため、コード実行に影響することなくキャプションを翻訳できます。
制御器ラベルはローカライズできないため、制御器にはキャプションもあります。VI文字列をテキストファイルにエクスポートすると、LabVIEWは各制御器のキャプションを作成し、フロントパネルでラベルをキャプションに置換します。
キャプションの使用については、キャプションを作成するを参照してください。
- ローカライズを容易にするために、列挙体制御器 (enum制御器) の代わりにリング制御器を可能な限り使用します。列挙体では、ユーザ用の文字列はデータタイプに固有です。その結果、列挙体値の変換は、列挙体に依存するブロックダイアグラムの論理に影響します。リング制御器はブロックダイアグラム上でのみ数値であるため、コードに影響を与えることなくリング項目を変換できます。
- ユーザ用の文字列データに基づいてケースを選択するケースストラクチャは使用しないでください。ユーザ用文字列データを使用してケースを選択すると、言語固有のテキストがケースストラクチャのプログラミングロジックに関連付けられます。リングなどの別の入力データタイプを検討してください。
- フロントパネルにユーザ向けのテキストを含む画像が含まれている場合は、2Dピクチャ制御器を使用して地域固有の画像をロードすることを検討してください。2Dピクチャ制御器を使用すると、プログラムロジックに基づいて地域特有の画像をロードできます。そのため、変更時に新しい画像を手動でアプリケーションにコピーして貼り付ける必要はありません。
- フロントパネルのテキスト拡張に注意してください。ある言語で特定の意味を持つ文字列は、別の言語で同じ意味を持つ文字列と同じ長さであるとは限りません。翻訳された文字列は、元の言語の対応する文字列よりも長いことがよくあります。このような言語間の文字列長の違いは、「テキスト拡張」と呼ばれます。ローカライズするVIでは、テキスト長の増加による影響を抑えられるよう、フロントパネルを設計してください。
関連コンテンツ
- フロントパネルおよびブロックダイアグラムオブジェクトをラベル付ける
オブジェクトラベルを使用して、LabVIEWフロントパネルまたはブロックダイアグラム上のオブジェクトを識別したりVIをドキュメント化したりできます。ラベルを使用して、一般的な手順を提供し、特定のオブジェクトを識別し、ブール値をドキュメント化します。
- リング制御器と列挙体制御器の違い
LabVIEWのリング制御器と列挙体(列挙体)制御器には、ユーザが循環できる文字列のリストが含まれています。各文字列は数値に関連付けられています。ただし、これらはいくつかの重要な点で異なります。
- ケースストラクチャ: 入力値に基づいてコードのセクションを実行する
LabVIEWケースストラクチャの動作は、テキストベースのプログラミング言語におけるswitchステートメントまたはif...then...elseステートメントに似ています。ケースストラクチャを使用すると、ストラクチャに指定した入力値に基づいてコードの異なるセクションを実行できます。